Chatbot UI集成LocalAI实现自托管的ChatGPT
本文比惯例提前了一天发,因为明天一早,老苏就踏上回乡的路了,三年没回老家,这次专门请了 2 天的假
难得回家,打算多陪陪家人,和多年不见的朋友聚聚,当然如果有网络条件,还是会正常发文的
在这个中秋和国庆双节即将到来之际,老苏提前预祝大家度过一个愉快的假期,中秋和国庆快乐~
什么是 Chatbot UI ?
Chatbot UI是一个非常实用的聊天机器人UI组件库,是OpenAI的ChatGPT UI的开源克隆。可以帮助开发者快速构建个性化的聊天机器人界面,该组件库支持多种聊天机器人平台。可以自定义提示词,支持数据导入导出,还支持谷歌搜索插件,支持最新的GPT-4模型。
在 LocalAI 一文中,我们提到了 2 种调用 LocalAI 的方法,而今天要介绍的则是第 3 种,将 Chatbot UI 作为前端,通过一个类似聊天的界面,用于与 AI 模型进行交互。您可以以对话方式输入文本并接收模型的响应,将 LocalAI 打造成一款聊天机器人

能够用来做前端的还有个项目:https://github.com/Dhruvgera/LocalAI-frontend,只是颜值差了点,直接被老苏
pass掉了

安装
在群晖上以 Docker 方式安装。
镜像下载
镜像没有在 docker hub 上发布,而是发布到了 ghcr.io
用 SSH 客户端登录到群晖后,执行下面的命令
1 | # 拉取镜像 |
如果拉不动,也可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤
1 | # 如果拉不动的话加个代理 |
下载完成后,可以在 映像 中找到

如果你还没有下载 LocalAI 的镜像,可以看看前文
文章传送门:搭建本地人工智能框架LocalAI
docker-compose 安装
如果你之前已经安装过 LocalAI,建议用下面合并后的 docker-compose.yml 文件
1 | version: '3.6' |
PRELOAD_MODELS:启动期间预加载模型。为了允许API在首次启动时启动所有需要的模型;OPENAI_API_KEY:用于OpenAI身份验证的默认API密钥。但我们用的是本地搭建的LocalAI,所以这里并不需要真正的OpenAI API Key,因此不需要修改,直接照抄即可;OPENAI_API_HOST:指向LocalAI的地址,也不需要修改;
更多的环境变量,请参考官方文档:https://github.com/mckaywrigley/chatbot-ui#configuration
然后执行下面的命令
1 | # 进入 localai 目录 |
原来的 models 目录会多出 4 个文件,时间取决于你的网络情况

bin:是模型文件;yaml: 是设置文件;tmpl:是模板文件;
如果你网络下载遇到了问题,建议直接下载老苏分享到阿里云盘的文件:https://www.aliyundrive.com/s/XEc19L766Lz
运行
在浏览器中输入 http://群晖IP:8669 就能看到主界面

生成温度老苏还是设置为了 0.7,然后就可以开始提问了,这回老苏换了个问题

再问个中文的问题,居然回答是英文的

上难度

有没有发现一个问题?每次都会把之前的回复又输出一遍?不知道是
bug还是模板设置问题

每次提问时,从 Finalshell 看日志, 发现 CPU 都是满负荷在工作

当然这都不是关键,关键是怎么才能把它真正搞成生产力工具呢?欢迎大家一起交流
参考文档
LocalAI/examples/chatbot-ui/docker-compose.yaml at master · go-skynet/LocalAI
地址:https://github.com/go-skynet/LocalAI/blob/master/examples/chatbot-ui/docker-compose.yamlmckaywrigley/chatbot-ui: An open source ChatGPT UI.
地址:https://github.com/mckaywrigley/chatbot-uiChatbot UI
地址:https://www.chatbotui.comChatbot UI does not seems to be working · Issue #165 · go-skynet/LocalAI
地址:https://github.com/go-skynet/LocalAI/issues/165