2023-05-15 08:51:32 +08:00
|
|
|
# Dify Node.js SDK
|
|
|
|
This is the Node.js SDK for the Dify API, which allows you to easily integrate Dify into your Node.js applications.
|
|
|
|
|
|
|
|
## Install
|
|
|
|
```bash
|
|
|
|
npm install dify-client
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
After installing the SDK, you can use it in your project like this:
|
|
|
|
|
|
|
|
```js
|
|
|
|
import { DifyClient, ChatClient, CompletionClient } from 'dify-client'
|
|
|
|
|
2023-06-09 14:24:59 +08:00
|
|
|
const API_KEY = 'your-api-key-here'
|
|
|
|
const user = `random-user-id`
|
2023-11-20 17:54:01 +08:00
|
|
|
const query = 'Please tell me a short story in 10 words or less.'
|
|
|
|
const remote_url_files = [{
|
|
|
|
type: 'image',
|
|
|
|
transfer_method: 'remote_url',
|
|
|
|
url: 'your_url_addresss'
|
|
|
|
}]
|
2023-05-15 08:51:32 +08:00
|
|
|
|
|
|
|
// Create a completion client
|
|
|
|
const completionClient = new CompletionClient(API_KEY)
|
|
|
|
// Create a completion message
|
2023-11-20 17:54:01 +08:00
|
|
|
completionClient.createCompletionMessage({'query': query}, user)
|
|
|
|
// Create a completion message with vision model
|
|
|
|
completionClient.createCompletionMessage({'query': 'Describe the picture.'}, user, false, remote_url_files)
|
2023-05-15 08:51:32 +08:00
|
|
|
|
|
|
|
// Create a chat client
|
|
|
|
const chatClient = new ChatClient(API_KEY)
|
2023-06-09 14:24:59 +08:00
|
|
|
// Create a chat message in stream mode
|
2023-11-20 17:54:01 +08:00
|
|
|
const response = await chatClient.createChatMessage({}, query, user, true, null)
|
2023-06-09 14:24:59 +08:00
|
|
|
const stream = response.data;
|
|
|
|
stream.on('data', data => {
|
|
|
|
console.log(data);
|
|
|
|
});
|
|
|
|
stream.on('end', () => {
|
2023-11-20 17:54:01 +08:00
|
|
|
console.log('stream done');
|
2023-06-09 14:24:59 +08:00
|
|
|
});
|
2023-11-20 17:54:01 +08:00
|
|
|
// Create a chat message with vision model
|
|
|
|
chatClient.createChatMessage({}, 'Describe the picture.', user, false, null, remote_url_files)
|
2023-05-15 08:51:32 +08:00
|
|
|
// Fetch conversations
|
|
|
|
chatClient.getConversations(user)
|
|
|
|
// Fetch conversation messages
|
|
|
|
chatClient.getConversationMessages(conversationId, user)
|
|
|
|
// Rename conversation
|
|
|
|
chatClient.renameConversation(conversationId, name, user)
|
|
|
|
|
|
|
|
|
|
|
|
const client = new DifyClient(API_KEY)
|
|
|
|
// Fetch application parameters
|
|
|
|
client.getApplicationParameters(user)
|
|
|
|
// Provide feedback for a message
|
|
|
|
client.messageFeedback(messageId, rating, user)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
Replace 'your-api-key-here' with your actual Dify API key.Replace 'your-app-id-here' with your actual Dify APP ID.
|
|
|
|
|
|
|
|
## License
|
|
|
|
This SDK is released under the MIT License.
|