准备工作
1、Geek Ai使用版本:V4.1.2
2、Dify使用版本:V0.12.1
过程分析
-
引入 Dify 模型支持:在
chat_handler.go
中增加对 Dify 模型的判断逻辑。 -
实现 Dify 消息发送逻辑:在
dify_handler.go
中实现sendDifyMessage
方法,处理 Dify 的消息发送和响应处理。 -
实现 Dify 请求发送方法:在
dify_handler.go
中实现doDifyRequest
方法,发送请求到 Dify 服务器。 -
处理 Dify 响应:在
dify_handler.go
中实现processEvents
方法,处理 Dify 的事件流响应。 -
保存聊天历史:在
sendDifyMessage
方法中,调用saveChatHistory
方法保存 Dify 的响应内容到聊天历史中。
代码实现
1. 引入 Dify 模型支持
-
新增文件: 创建
dify_handler.go
文件,用于处理 Dify 模型的相关逻辑。 -
修改
chat_handler.go
: 在sendMessage
方法中,增加对 Dify 模型的判断逻辑。如果 API Key 以app-
开头,则调用 Dify 模型。
keyId := session.Model.KeyId
var apiKeyValue string
h.DB.Model(&model.ApiKey{}).Where("id", keyId).Select("value").Scan(&apiKeyValue)
if strings.HasPrefix(apiKeyValue, "app-") {
return h.sendDifyMessage(chatCtx, req, userVo, ctx, session, role, prompt, ws)
标签:Dify,dify,AI,模型,Geek,sendDifyMessage,handler,go
From: https://blog.csdn.net/weixin_49564779/article/details/144143426