Class DifyChatService
java.lang.Object
com.bytedesk.ai.springai.providers.dify.DifyChatService
@Service
@ConditionalOnProperty(name="bytedesk.dify.enabled",
havingValue="true",
matchIfMissing=false)
public class DifyChatService
extends Object
Dify Chat Service - 基于 Dify API 的对话服务
https://docs.dify.ai/zh-hans/guides/application-publishing/developing-with-apis
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondeleteConversation
(String conversationId, String user) 删除对话extractConversationId
(String response) 解析响应中的 conversation_idextractMessageContent
(String response) 解析响应中的消息内容getConversationMessages
(String conversationId, String user, String firstId, Integer limit) 获取对话历史getConversations
(String user, String lastId, Integer limit, Boolean pinned) 获取对话列表renameConversation
(String conversationId, String name, String user) 重命名对话sendChatMessage
(String query, String conversationId, String user, Map<String, Object> inputs, String responseMode) 发送对话消息 - chat-messages API发送文本补全消息 - completion-messages API
-
Field Details
-
restTemplate
private final org.springframework.web.client.RestTemplate restTemplate -
objectMapper
private final com.fasterxml.jackson.databind.ObjectMapper objectMapper -
apiUrl
-
apiKey
-
-
Constructor Details
-
DifyChatService
public DifyChatService()
-
-
Method Details
-
sendChatMessage
public String sendChatMessage(String query, String conversationId, String user, Map<String, Object> inputs, String responseMode) 发送对话消息 - chat-messages API- Parameters:
query
- 用户查询conversationId
- 对话ID,为空时创建新对话user
- 用户标识inputs
- 输入变量responseMode
- 响应模式:streaming 或 blocking- Returns:
- API响应
-
sendCompletionMessage
发送文本补全消息 - completion-messages API- Parameters:
inputs
- 输入变量user
- 用户标识responseMode
- 响应模式:streaming 或 blocking- Returns:
- API响应
-
getConversationMessages
public String getConversationMessages(String conversationId, String user, String firstId, Integer limit) 获取对话历史- Parameters:
conversationId
- 对话IDuser
- 用户标识firstId
- 第一条消息ID(用于分页)limit
- 限制数量- Returns:
- API响应
-
getConversations
获取对话列表- Parameters:
user
- 用户标识lastId
- 最后一个对话ID(用于分页)limit
- 限制数量pinned
- 是否只返回置顶对话- Returns:
- API响应
-
deleteConversation
删除对话- Parameters:
conversationId
- 对话IDuser
- 用户标识- Returns:
- API响应
-
renameConversation
重命名对话- Parameters:
conversationId
- 对话IDname
- 新名称user
- 用户标识- Returns:
- API响应
-
extractConversationId
解析响应中的 conversation_id- Parameters:
response
- API响应- Returns:
- conversation_id
-
extractMessageContent
解析响应中的消息内容- Parameters:
response
- API响应- Returns:
- 消息内容
-