|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- # Dify PHP SDK
-
- This is the PHP SDK for the Dify API, which allows you to easily integrate Dify into your PHP applications.
-
- ## Requirements
-
- - PHP 7.2 or later
- - Guzzle HTTP client library
-
- ## Usage
-
- If you want to try the example, you can run `composer install` in this directory.
-
- In exist project, copy the `dify-client.php` to you project, and merge the following to your `composer.json` file, then run `composer install && composer dump-autoload` to install. Guzzle does not require 7.9, other versions have not been tested, but you can try.
-
- ```json
- {
- "require": {
- "guzzlehttp/guzzle": "^7.9"
- },
- "autoload": {
- "files": ["path/to/dify-client.php"]
- }
- }
- ```
-
- After installing the SDK, you can use it in your project like this:
-
- ```php
- <?php
-
- require 'vendor/autoload.php';
-
- $apiKey = 'your-api-key-here';
-
- $difyClient = new DifyClient($apiKey);
-
- // Create a completion client
- $completionClient = new CompletionClient($apiKey);
- $response = $completionClient->create_completion_message(array("query" => "Who are you?"), "blocking", "user_id");
-
- // Create a chat client
- $chatClient = new ChatClient($apiKey);
- $response = $chatClient->create_chat_message(array(), "Who are you?", "user_id", "blocking", $conversation_id);
-
- $fileForVision = [
- [
- "type" => "image",
- "transfer_method" => "remote_url",
- "url" => "your_image_url"
- ]
- ];
-
- // $fileForVision = [
- // [
- // "type" => "image",
- // "transfer_method" => "local_file",
- // "url" => "your_file_id"
- // ]
- // ];
-
- // Create a completion client with vision model like gpt-4-vision
- $response = $completionClient->create_completion_message(array("query" => "Describe this image."), "blocking", "user_id", $fileForVision);
-
- // Create a chat client with vision model like gpt-4-vision
- $response = $chatClient->create_chat_message(array(), "Describe this image.", "user_id", "blocking", $conversation_id, $fileForVision);
-
- // File Upload
- $fileForUpload = [
- [
- 'tmp_name' => '/path/to/file/filename.jpg',
- 'name' => 'filename.jpg'
- ]
- ];
- $response = $difyClient->file_upload("user_id", $fileForUpload);
- $result = json_decode($response->getBody(), true);
- echo 'upload_file_id: ' . $result['id'];
-
- // Fetch application parameters
- $response = $difyClient->get_application_parameters("user_id");
-
- // Provide feedback for a message
- $response = $difyClient->message_feedback($message_id, $rating, "user_id");
-
- // Other available methods:
- // - get_conversation_messages()
- // - get_conversations()
- // - rename_conversation()
- ```
-
- Replace 'your-api-key-here' with your actual Dify API key.
-
- ## License
-
- This SDK is released under the MIT License.
|