Skip to main content

A package for interacting with the Dify Service-API

Project description

dify-oapi

A Dify App Service-API Client, using for build a webapp by request Service-API

Usage

First, install dify-oapi python sdk package:

pip install dify-oapi

Write your code with sdk:

  • chat generate with blocking response_mode
from dify_oapi.api.chat.v1.model.chat_request import ChatRequest
from dify_oapi.api.chat.v1.model.chat_request_body import ChatRequestBody
from dify_oapi.api.chat.v1.model.chat_request_file import ChatRequestFile
from dify_oapi.client import Client
from dify_oapi.core.model.request_option import RequestOption

def main():
    client = Client.builder().domain("https://api.dify.ai").build()
    req_file = (
        ChatRequestFile.builder()
        .type("image")
        .transfer_method("remote_url")
        .url("https://cloud.dify.ai/logo/logo-site.png")
        .build()
    )
    req_body = (
        ChatRequestBody.builder()
        .inputs({})
        .query("What are the specs of the iPhone 13 Pro Max?")
        .response_mode("blocking")
        .conversation_id("")
        .user("abc-123")
        .files([req_file])
        .build()
    )
    req = ChatRequest.builder().request_body(req_body).build()
    req_option = RequestOption.builder().api_key("<your-api-key>").build()
    response = client.chat.v1.chat.chat(req, req_option, False)
    # response = await client.chat.v1.chat.achat(req, req_option, False)
    print(response.success)
    print(response.code)
    print(response.msg)
    print(response.answer)


if __name__ == "__main__":
    main()
  • chat generate with streaming response_mode
from dify_oapi.api.chat.v1.model.chat_request import ChatRequest
from dify_oapi.api.chat.v1.model.chat_request_body import ChatRequestBody
from dify_oapi.api.chat.v1.model.chat_request_file import ChatRequestFile
from dify_oapi.client import Client
from dify_oapi.core.model.request_option import RequestOption

def main():
    client = Client.builder().domain("https://api.dify.ai").build()
    req_file = (
        ChatRequestFile.builder()
        .type("image")
        .transfer_method("remote_url")
        .url("https://cloud.dify.ai/logo/logo-site.png")
        .build()
    )
    req_body = (
        ChatRequestBody.builder()
        .inputs({})
        .query("What are the specs of the iPhone 13 Pro Max?")
        .response_mode("streaming")
        .conversation_id("")
        .user("abc-123")
        .files([req_file])
        .build()
    )
    req = ChatRequest.builder().request_body(req_body).build()
    req_option = RequestOption.builder().api_key("<your-api-key>").build()
    response = client.chat.v1.chat.chat(req, req_option, True)
    # response = await client.chat.v1.chat.achat(req, req_option, True)
    for chunk in response:
        print(chunk)


if __name__ == "__main__":
    main()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dify_oapi-0.0.8.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dify_oapi-0.0.8-py3-none-any.whl (86.4 kB view details)

Uploaded Python 3

File details

Details for the file dify_oapi-0.0.8.tar.gz.

File metadata

  • Download URL: dify_oapi-0.0.8.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.9 Windows/10

File hashes

Hashes for dify_oapi-0.0.8.tar.gz
Algorithm Hash digest
SHA256 d7c1761a1e028fa8ff848fb1cb2ee79718fe2ba51accd737ab098166553d9b4a
MD5 c11ae9eabaad7759d58f26bb1a19bfb6
BLAKE2b-256 9ec015aa3cb7c96a5f4183cc47034bf84ca4c0df3f8637b419d6ab7563d0bd9a

See more details on using hashes here.

File details

Details for the file dify_oapi-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: dify_oapi-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 86.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.9 Windows/10

File hashes

Hashes for dify_oapi-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4630a534091825b98e46e9aa82159ba6f3a0ed5ad598bd0f2373bebd7f149f89
MD5 3c5c55d9a3fa380d382f30cacb03de17
BLAKE2b-256 80f4aca4d25a3da58fbd2b3b4378d3342aaeb6467ae8779c9c36670cf1eabce3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page