在前面的文章中,老宁介绍过如何使用群晖的 Synology Chat 来搭建企业内部的私有化聊天系统。
随着 AI 技术的快速发展,各式各样的大语言模型正在改变人们的工作方式。如果能把这些 AI 能力整合到企业的聊天系统中,想必会让工作效率有一个质的飞跃。
为了让更多企业和个人也能享受到 AI 带来的便利,老宁最近开源了一个项目:Synology Chat Bot。
通过这个项目,我们可以轻松地把各种大语言模型整合到群晖的聊天系统中,让企业拥有专属的 AI 助手。
接下来老宁就来带大家一起来看看这个项目如何使用。如果再配合开源的 Dify 平台,甚至可以打造一个完整的企业知识库和智能问答系统。
项目地址
https://github.com/laoning666/synology-chat-bot
原理
这个项目的原理其实很简单,它通过 Webhook 机制在群晖 Chat 和大语言模型之间架起了一座桥梁:
- 当用户在群晖 Chat 中发送消息给机器人时,Chat 会通过 Webhook 将消息转发给项目的服务端
- 服务端收到消息后,会将用户的问题通过 API 发送给大语言模型(如 DeepSeek)
- 大语言模型生成回答后,服务端再通过 Webhook 将回答发送回群晖 Chat
- 最终用户就能在群晖 Chat 中看到 AI 的回复
这个项目采用了 OpenAI 的标准 API 格式,如果你的模型不是标准的 OpenAI 格式,可以参考下面的文章进行转换。
如果再把大模型 DeepSeek 进行私有化部署,那么就可以把所有对话数据掌握在自己手中,再也不用担心数据安全问题。
前提
为了方便大家的理解,可以先准备好这些:
- 群晖已安装 Synology Chat 套件(参考前面引用的 Synology Chat 文章)
- 已安装 Container Manager 套件
- 注册一个 DeepSeek API Key(下面使用硅基流动 https://cloud.siliconflow.cn/i/gvOoW3lk 的API来演示,注册后有赠送余额)
安装部署
因为这个项目设计到的环境变量较多,所以老宁建议建议采用 Docker-compose 的方式进行部署。
打开群晖【File Station】,新建synology-chat-bot
文件夹用以存放数据。
把项目中的.env.example
文件下载到本地进行编辑。
有五个环境变量是必须要修改的。
第一个CHAT_API_URL
是请求的url地址,一般都可以在对应的API文档中找到。
第二个CHAT_API_KEY
是API密钥,同样可以在响应的菜单中找到(如果没有可以新建密钥)。
第三个CHAT_API_MODEL
是模型名称。
其实上面的模型名称是和模型广场上的模型名一一对应的。
把这三个环境变量填入就是这样的(老宁演示选了免费的8B模型)。
接着来配置剩下的两个环境变量。首先打开群晖的 Synology Chat 网页,点击头像选择整合(需要管理员账户)。
选择机器人。
点击创建后,把传入URL和令牌拷贝到SYNOLOGY_INCOMING_WEBHOOK_URL
和SYNOLOGY_OUTGOING_WEBHOOK_TOKEN
环境变量下。
最后需要给机器人输入一个名称,再点击确定进行保存。
最后把整个文件另存为.env
文件,上传到前面群晖创建的synology-chat-bot
文件夹。
打开群晖【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
点击下一步后,等待项目构建成功。
我们再回到机器人配置,去掉在聊天机器人列表隐藏,再在传出URL中填写刚刚部署的地址http://your_server_ip:8008/webhook
。
最后在 Synology Chat 主界面添加机器人就可以进行对话了。
后记
通过这个项目,我们让群晖的 Synology Chat 拥有了 AI 能力,不仅能提升工作效率,更重要的是完全私有化部署,数据更安全。
因为 Synology Chat 不支持流式响应,必需要等到对话全部响应后才能打印到对话框,所以在输出较长文字时可能会响应超时。
有个折中的办法就是把整个对话分割为多个片段分批输出到对话框,老宁感觉不是很友好,所以就没有实现这个功能。
如果你觉得这个项目对你有帮助,欢迎去 GitHub 点个 star。同时也欢迎提交 Issue 或 PR,一起来完善这个项目。
我是老宁
一个热爱技术的程序员和极客,群晖NAS深度玩家!
专注NAS相关技术分享,原创!干货!
觉得老宁的文章对你有帮助,记得点赞、收藏、加关注!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,