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.11.tar.gz (32.4 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.11-py3-none-any.whl (85.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dify_oapi-0.0.11.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.15 Darwin/24.4.0

File hashes

Hashes for dify_oapi-0.0.11.tar.gz
Algorithm Hash digest
SHA256 6e597a2d58c26564dd582a3685945b18becbb66bded27a5715de6dc2098747da
MD5 f65eb90adc59d62a88f6e3212ecc560f
BLAKE2b-256 d29abde2f6bd2916cd9de1042ceca60462b75437fb27bde413e1aa597f2c21b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dify_oapi-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 85.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.15 Darwin/24.4.0

File hashes

Hashes for dify_oapi-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 cbccb2fefeaf698a9900c60c81218dc503d4135cfe7000fc76a8f15e3ae4ce65
MD5 35b0555dc8aa68f36821600f6b7f96de
BLAKE2b-256 1ab117a0e9ccb91166de8dc4c28892e05aa9a149d276edc9c1e4998a9abc9801

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