随着人工智能技术的飞速发展,各类大语言模型正在深刻改变我们的工作方式。将这些强大的AI能力整合到企业内部的聊天系统中,无疑会大幅提升工作效率。本文将详细介绍如何通过开源项目Synology Chat Bot,将DeepSeek等大语言模型接入群晖的Synology Chat,打造一个私有化的智能聊天系统。
项目背景与优势
在前文中,我们已经介绍了如何使用群晖的Synology Chat搭建企业内部的私有化聊天系统。如今,随着AI技术的进步,我们可以通过开源项目Synology Chat Bot,轻松将大语言模型整合到群晖的聊天系统中,赋予企业专属的AI助手能力。结合开源的Dify平台,甚至可以构建一个完整的企业知识库和智能问答系统。
项目原理
Synology Chat Bot的核心原理是通过Webhook机制,在群晖Chat与大语言模型之间搭建桥梁。具体流程如下:
- 当用户在群晖Chat中向机器人发送消息时,Chat会通过Webhook将消息转发给项目的服务端。
- 服务端收到消息后,会将用户的问题通过API发送给大语言模型(如DeepSeek)。
- 大语言模型生成回答后,服务端再通过Webhook将回答发送回群晖Chat。
- 最终,用户可以在群晖Chat中看到AI的回复。
该项目采用OpenAI的标准API格式,如果你的模型不是标准的OpenAI格式,可以参考相关文章进行转换。
部署前提
在开始部署之前,需要确保以下条件已满足:
- 群晖已安装Synology Chat套件(参考前文)。
- 已安装Container Manager套件。
- 注册一个DeepSeek API Key(推荐使用硅基流动的API进行演示,注册后会有赠送余额)。
安装与部署
由于该项目涉及的环境变量较多,建议采用Docker-compose的方式进行部署。
步骤1:创建项目文件夹
- 打开群晖的【File Station】,新建一个名为
synology-chat-bot
的文件夹,用于存放项目数据。
步骤2:编辑环境变量文件
-
将项目中的
.env.example
文件下载到本地进行编辑。 -
修改以下五个关键环境变量:
CHAT_API_URL
:请求的URL地址,通常可以在API文档中找到。CHAT_API_KEY
:API密钥,可以在相应的菜单中获取或新建。CHAT_API_MODEL
:模型名称,与模型广场上的模型名一一对应。SYNOLOGY_INCOMING_WEBHOOK_URL
:传入URL。SYNOLOGY_OUTGOING_WEBHOOK_TOKEN
:令牌。
步骤3:配置机器人
- 打开群晖的Synology Chat网页,点击头像选择整合(需要管理员账户)。
- 选择机器人,点击创建,并将传入URL和令牌拷贝到相应的环境变量中。
- 为机器人输入名称并保存。
步骤4:上传环境变量文件
- 将编辑好的
.env
文件上传到群晖的synology-chat-bot
文件夹。
步骤5:部署Docker容器
- 打开群晖的【Container Manager】,新增一个项目,并将以下docker-compose文件粘贴进去:
version: '3.8'
services:
synology-chat-bot:
image: laoning666/synology-chat-bot
container_name: synology-chat-bot
ports:
- "8008:8008"
env_file:
- .env
restart: unless-stopped
- 点击下一步,等待项目构建成功。
步骤6:配置机器人传出URL
- 在机器人配置中,去掉在聊天机器人列表隐藏的选项。
- 在传出URL中填写刚刚部署的地址
http://your_server_ip:8008/webhook
。
步骤7:添加机器人并开始对话
- 在Synology Chat主界面添加机器人,即可开始与AI进行对话。
后记
通过这个项目,我们成功为群晖的Synology Chat注入了AI能力,不仅提升了工作效率,还确保了数据的私有化部署,保障了数据安全。由于Synology Chat不支持流式响应,输出较长文字时可能会出现响应超时的情况。虽然可以通过分割对话的方式分批输出,但老宁认为这种方式不够友好,因此未实现此功能。