You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # dify-client
  2. A Dify App Service-API Client, using for build a webapp by request Service-API
  3. ## Usage
  4. First, install `dify-client` python sdk package:
  5. ```
  6. pip install dify-client
  7. ```
  8. Write your code with sdk:
  9. - completion generate with `blocking` response_mode
  10. ```
  11. import json
  12. from dify_client import CompletionClient
  13. api_key = "your_api_key"
  14. # Initialize CompletionClient
  15. completion_client = CompletionClient(api_key)
  16. # Create Completion Message using CompletionClient
  17. completion_response = completion_client.create_completion_message(inputs={}, query="Hello", response_mode="blocking", user="user_id")
  18. completion_response.raise_for_status()
  19. result = completion_response.text
  20. result = json.loads(result)
  21. print(result.get('answer'))
  22. ```
  23. - chat generate with `streaming` response_mode
  24. ```
  25. import json
  26. from dify_client import ChatClient
  27. api_key = "your_api_key"
  28. # Initialize ChatClient
  29. chat_client = ChatClient(api_key)
  30. # Create Chat Message using ChatClient
  31. chat_response = chat_client.create_chat_message(inputs={}, query="Hello", user="user_id", response_mode="streaming")
  32. chat_response.raise_for_status()
  33. for line in chat_response.iter_lines(decode_unicode=True):
  34. line = line.split('data:', 1)[-1]
  35. if line.strip():
  36. line = json.loads(line.strip())
  37. print(line.get('answer'))
  38. ```
  39. - Others
  40. ```
  41. import json
  42. from dify_client import ChatClient
  43. api_key = "your_api_key"
  44. # Initialize Client
  45. client = ChatClient(api_key)
  46. # Get App parameters
  47. parameters = client.get_application_parameters(user="user_id")
  48. parameters.raise_for_status()
  49. parameters = json.loads(parameters.text)
  50. print('[parameters]')
  51. print(parameters)
  52. # Get Conversation List (only for chat)
  53. conversations = client.get_conversations(user="user_id")
  54. conversations.raise_for_status()
  55. conversations = json.loads(conversations.text)
  56. print('[conversations]')
  57. print(conversations)
  58. # Get Message List (only for chat)
  59. messages = client.get_conversation_messages(user="user_id", conversation_id="conversation_id")
  60. messages.raise_for_status()
  61. messages = json.loads(messages.text)
  62. print('[messages]')
  63. print(messages)
  64. # Rename Conversation (only for chat)
  65. rename_conversation_response = client.rename_conversation(conversation_id="conversation_id", name="new_name", user="user_id")
  66. rename_conversation_response.raise_for_status()
  67. rename_conversation_result = json.loads(rename_conversation_response.text)
  68. print('[rename result]')
  69. print(rename_conversation_result)
  70. ```