在前面的文章中,老寧介紹過如何使用群暉的 Synology Chat 來搭建企業(yè)內(nèi)部的私有化聊天系統(tǒng)。
隨著 AI 技術(shù)的快速發(fā)展,各式各樣的大語言模型正在改變?nèi)藗兊墓ぷ鞣绞?。如果能把這些 AI 能力整合到企業(yè)的聊天系統(tǒng)中,想必會讓工作效率有一個質(zhì)的飛躍。
為了讓更多企業(yè)和個人也能享受到 AI 帶來的便利,老寧最近開源了一個項目:Synology Chat Bot。
通過這個項目,我們可以輕松地把各種大語言模型整合到群暉的聊天系統(tǒng)中,讓企業(yè)擁有專屬的 AI 助手。
接下來老寧就來帶大家一起來看看這個項目如何使用。如果再配合開源的 Dify 平臺,甚至可以打造一個完整的企業(yè)知識庫和智能問答系統(tǒng)。
項目地址
https://github.com/laoning666/synology-chat-bot
原理
這個項目的原理其實很簡單,它通過 Webhook 機制在群暉 Chat 和大語言模型之間架起了一座橋梁:
- 當用戶在群暉 Chat 中發(fā)送消息給機器人時,Chat 會通過 Webhook 將消息轉(zhuǎn)發(fā)給項目的服務(wù)端
- 服務(wù)端收到消息后,會將用戶的問題通過 API 發(fā)送給大語言模型(如 DeepSeek)
- 大語言模型生成回答后,服務(wù)端再通過 Webhook 將回答發(fā)送回群暉 Chat
- 最終用戶就能在群暉 Chat 中看到 AI 的回復
這個項目采用了 OpenAI 的標準 API 格式,如果你的模型不是標準的 OpenAI 格式,可以參考下面的文章進行轉(zhuǎn)換。
如果再把大模型 DeepSeek 進行私有化部署,那么就可以把所有對話數(shù)據(jù)掌握在自己手中,再也不用擔心數(shù)據(jù)安全問題。
前提
為了方便大家的理解,可以先準備好這些:
- 群暉已安裝 Synology Chat 套件(參考前面引用的 Synology Chat 文章)
- 已安裝 Container Manager 套件
- 注冊一個 DeepSeek API Key(下面使用硅基流動 https://cloud.siliconflow.cn/i/gvOoW3lk 的API來演示,注冊后有贈送余額)
安裝部署
因為這個項目設(shè)計到的環(huán)境變量較多,所以老寧建議建議采用 Docker-compose 的方式進行部署。
打開群暉【File Station】,新建synology-chat-bot
文件夾用以存放數(shù)據(jù)。
把項目中的.env.example
文件下載到本地進行編輯。
有五個環(huán)境變量是必須要修改的。
第一個CHAT_API_URL
是請求的url地址,一般都可以在對應(yīng)的API文檔中找到。
第二個CHAT_API_KEY
是API密鑰,同樣可以在響應(yīng)的菜單中找到(如果沒有可以新建密鑰)。
第三個CHAT_API_MODEL
是模型名稱。
其實上面的模型名稱是和模型廣場上的模型名一一對應(yīng)的。
把這三個環(huán)境變量填入就是這樣的(老寧演示選了免費的8B模型)。
接著來配置剩下的兩個環(huán)境變量。首先打開群暉的 Synology Chat 網(wǎng)頁,點擊頭像選擇整合(需要管理員賬戶)。
選擇機器人。
點擊創(chuàng)建后,把傳入URL和令牌拷貝到SYNOLOGY_INCOMING_WEBHOOK_URL
和SYNOLOGY_OUTGOING_WEBHOOK_TOKEN
環(huán)境變量下。
最后需要給機器人輸入一個名稱,再點擊確定進行保存。
最后把整個文件另存為.env
文件,上傳到前面群暉創(chuàng)建的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
點擊下一步后,等待項目構(gòu)建成功。
我們再回到機器人配置,去掉在聊天機器人列表隱藏,再在傳出URL中填寫剛剛部署的地址http://your_server_ip:8008/webhook
。
最后在 Synology Chat 主界面添加機器人就可以進行對話了。
后記
通過這個項目,我們讓群暉的 Synology Chat 擁有了 AI 能力,不僅能提升工作效率,更重要的是完全私有化部署,數(shù)據(jù)更安全。
因為 Synology Chat 不支持流式響應(yīng),必需要等到對話全部響應(yīng)后才能打印到對話框,所以在輸出較長文字時可能會響應(yīng)超時。
有個折中的辦法就是把整個對話分割為多個片段分批輸出到對話框,老寧感覺不是很友好,所以就沒有實現(xiàn)這個功能。
如果你覺得這個項目對你有幫助,歡迎去 GitHub 點個 star。同時也歡迎提交 Issue 或 PR,一起來完善這個項目。
我是老寧
一個熱愛技術(shù)的程序員和極客,群暉NAS深度玩家!
專注NAS相關(guān)技術(shù)分享,原創(chuàng)!干貨!
覺得老寧的文章對你有幫助,記得點贊、收藏、加關(guān)注!
作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~
,