在前面的文章中,老宁介绍过如何使用群晖的 Synology Chat 来搭建企业内部的私有化聊天系统。

随着 AI 技术的快速发展,各式各样的大语言模型正在改变人们的工作方式。如果能把这些 AI 能力整合到企业的聊天系统中,想必会让工作效率有一个质的飞跃。

为了让更多企业和个人也能享受到 AI 带来的便利,老宁最近开源了一个项目:Synology Chat Bot。

通过这个项目,我们可以轻松地把各种大语言模型整合到群晖的聊天系统中,让企业拥有专属的 AI 助手。

接下来老宁就来带大家一起来看看这个项目如何使用。如果再配合开源的 Dify 平台,甚至可以打造一个完整的企业知识库和智能问答系统。

项目地址

https://github.com/laoning666/synology-chat-bot

原理

这个项目的原理其实很简单,它通过 Webhook 机制在群晖 Chat 和大语言模型之间架起了一座桥梁:

  1. 当用户在群晖 Chat 中发送消息给机器人时,Chat 会通过 Webhook 将消息转发给项目的服务端
  2. 服务端收到消息后,会将用户的问题通过 API 发送给大语言模型(如 DeepSeek)
  3. 大语言模型生成回答后,服务端再通过 Webhook 将回答发送回群晖 Chat
  4. 最终用户就能在群晖 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文件夹用以存放数据。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

把项目中的.env.example文件下载到本地进行编辑。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

有五个环境变量是必须要修改的。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

第一个CHAT_API_URL是请求的url地址,一般都可以在对应的API文档中找到。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

第二个CHAT_API_KEY是API密钥,同样可以在响应的菜单中找到(如果没有可以新建密钥)。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

第三个CHAT_API_MODEL是模型名称。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

其实上面的模型名称是和模型广场上的模型名一一对应的。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

把这三个环境变量填入就是这样的(老宁演示选了免费的8B模型)。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

接着来配置剩下的两个环境变量。首先打开群晖的 Synology Chat 网页,点击头像选择整合(需要管理员账户)。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

选择机器人

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

点击创建后,把传入URL令牌拷贝到SYNOLOGY_INCOMING_WEBHOOK_URLSYNOLOGY_OUTGOING_WEBHOOK_TOKEN环境变量下。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

最后需要给机器人输入一个名称,再点击确定进行保存。

最后把整个文件另存为.env文件,上传到前面群晖创建的synology-chat-bot文件夹。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!
群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

打开群晖【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 群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

点击下一步后,等待项目构建成功。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

我们再回到机器人配置,去掉在聊天机器人列表隐藏,再在传出URL中填写刚刚部署的地址http://your_server_ip:8008/webhook

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

最后在 Synology Chat 主界面添加机器人就可以进行对话了。

群晖 Synology Chat 接入 DeepSeek,让企业聊天更智能!

后记

通过这个项目,我们让群晖的 Synology Chat 拥有了 AI 能力,不仅能提升工作效率,更重要的是完全私有化部署,数据更安全。

因为 Synology Chat 不支持流式响应,必需要等到对话全部响应后才能打印到对话框,所以在输出较长文字时可能会响应超时。

有个折中的办法就是把整个对话分割为多个片段分批输出到对话框,老宁感觉不是很友好,所以就没有实现这个功能。

如果你觉得这个项目对你有帮助,欢迎去 GitHub 点个 star。同时也欢迎提交 Issue 或 PR,一起来完善这个项目。

我是老宁

一个热爱技术的程序员和极客,群晖NAS深度玩家!

专注NAS相关技术分享,原创!干货!

觉得老宁的文章对你有帮助,记得点赞、收藏、加关注

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。