本文比惯例提前了一天发,因为明天一早,老苏就踏上回乡的路了,三年没回老家,这次专门请了 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
客户端登录到群晖后,执行下面的命令
# 拉取镜像
docker pull ghcr.io/mckaywrigley/chatbot-ui:main
如果拉不动,也可以试试 docker
代理网站:https://dockerproxy.com/,但是会多几个步骤
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/mckaywrigley/chatbot-ui:main
# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/mckaywrigley/chatbot-ui:main ghcr.io/mckaywrigley/chatbot-ui:main
# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/mckaywrigley/chatbot-ui:main
下载完成后,可以在 映像
中找到
如果你还没有下载 LocalAI
的镜像,可以看看前文
文章传送门:搭建本地人工智能框架LocalAI
docker-compose 安装
如果你之前已经安装过 LocalAI
,建议用下面合并后的 docker-compose.yml
文件
version: '3.6'
services:
api:
image: quay.io/go-skynet/local-ai:latest
container_name: localai-api
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
interval: 1m
timeout: 20m
retries: 20
ports:
- 8668:8080
volumes:
- ./models:/models:cached
environment:
- MODELS_PATH=/models
- DEBUG=true
- 'PRELOAD_MODELS=[{"url": "github:go-skynet/model-gallery/gpt4all-j.yaml", "name": "gpt-3.5-turbo"}]'
command: ["/usr/bin/local-ai" ]
chatgpt:
image: ghcr.io/mckaywrigley/chatbot-ui:main
container_name: localai-web
ports:
- 8669:3000
environment:
- 'OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXXXXXX'
- 'OPENAI_API_HOST=http://api:8080'
depends_on:
api:
condition: service_healthy
PRELOAD_MODELS
:启动期间预加载模型。为了允许API
在首次启动时启动所有需要的模型;OPENAI_API_KEY
:用于OpenAI
身份验证的默认API
密钥。但我们用的是本地搭建的LocalAI
,所以这里并不需要真正的OpenAI API Key
,因此不需要修改,直接照抄即可;OPENAI_API_HOST
:指向LocalAI
的地址,也不需要修改;
更多的环境变量,请参考官方文档:https://github.com/mckaywrigley/chatbot-ui#configuration
然后执行下面的命令
# 进入 localai 目录
cd /volume1/docker/localai
# 更新目录下原来的 docker-compose.yml 文件
# 一键启动
docker-compose up -d
原来的 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.yaml
mckaywrigley/chatbot-ui: An open source ChatGPT UI.
地址:https://github.com/mckaywrigley/chatbot-ui
Chatbot UI
地址:https://www.chatbotui.com
Chatbot UI does not seems to be working · Issue #165 · go-skynet/LocalAI
地址:https://github.com/go-skynet/LocalAI/issues/165