指标 | 描述 |
---|---|
适用系统 | Debian 系发行版,包括 Ubuntu, Armbian,其他发行版稍改命令一般也可 |
走通流程时间 | 5 分钟 |
Lobe Chat 目前支持很多模型的 API,OpenAI / Claude 3 / Gemini 甚至开源可自建的 Mistral / Ollama,还支持图像和语言,另有插件系统。
安装
全复制并执行,一键创建工作目录并开放端口
myserve="lobechat"sudo ufw allow 3210/tcp comment $myserve && sudo ufw reloadmkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve
根据注释自定义,然后执行,一键创建 docker-compose.yml 文件
cat > docker-compose.yml << EOF---version: '3.8' services: lobe-chat: image: lobehub/lobe-chat container_name: lobe-chat restart: always ports: - '3210:3210' environment: OPENAI_API_KEY: sk-xxx9969cFb16 # 填 API key # 如果你使用了我推荐的商家 gptapi.us,那这里就填这个。如果用 chatgpt 官网 api,删除下行 OPENAI_PROXY_URL: https://api.gptapi.us/v1 ACCESS_CODE: password # 访问密码,还能是多个密码 code1,code2,code3 CUSTOM_MODELS: +gpt-4,+claude-3-opus # 自定义网页中显示的模型,不了解可删除此行 # 如果你使用 gptapi.us,加上 claude-3-opus 就能在网页直接使用这个模型了EOF
CUSTOM_MODELS 使用 +
增加一个模型,使用 -
来隐藏一个模型,使用 模型名=展示名
来自定义模型的展示名,用英文逗号隔开。
所有环境变量: Environment Variable.zh CN · lobehub/lobe-chat Wiki (github.com)
拉取容器镜像
docker compose pull
启动容器(这时就可以访问网页了,网址是 http://ip_addr_or_domain:3210
)
docker compose up -d
关闭容器
docker compose down
基本使用
第一次打开网页,到左下角,进入【设置】-【通用设置】,可以填入密码。
另外,在【设置】-【语言模型】,可以自定义 chatgpt api key、代理地址和模型名称,也就是如果你使用别人搭建的 Lobe Chat,也可以填入自己的 API 使用。
【语言模型】里还能设置其他支持的模型。
实际使用时,我建议按照你常问的领域,创建“助手”,添加引导词,这样不用每次询问都输入一遍去引导模型。
在上图中的左侧栏,点击【新建助手】,然后点击右上角的三条杠,编辑助手信息。主要就两个:
- 角色设定:(比如我询问 Linux 问题的助手)你是一个 Linux 专家,精通 Linux 的基本使用和运维,比如 ansible 的使用,以及相关的虚拟化如 docker,网络如 iptables 等的应用
- 名称: Linux 专家
聊天时,输入框上栏要注意的有这几个
- 模型,选合适的模型
- 闹钟样式的,点击它之后可以限制每次传递多少条对话。推荐 1 或 3,可以随时按需调整。
ChatGPT 能根据上下文回答,本质是每次发送新的对话,其实是把之前的聊天记录都发送了一遍,如果不限制最大发送的聊天记录,那新对话的价格只会在上一次对话上增加,非常费钱,并且模型能接收的内容是有长度限制的,比如 GPT-4 的 8k,如果超过 8000 token,就会被截断。
“只包含 1 条会话消息” 含义就是,每次只会放松输入框的给 ChatGPT,虽然聊天框中有前文,但 ChatGPT 不会收到,也就不会表现出根据上文回答。
3 条消息只会发送上一次你发的、它回答的和这次你发的,也就是能根据上一条回答。
- 使用,就是这轮对话使用的 token,图片显示 49 就是因为我为助手设定了引导词,每次对话都会发送。
- 当一个问题问完,推荐使用这个按钮清空聊天,也就是删除本次话题的所有内容。下次循环,用新话题。这样对于网页加载是有帮助的,而且看着清爽。
- 输入框中,换行用 Ctrl + Enter,支持 markdown
最后,关于如何分享给周围人,这个的数据应该是存储在浏览器中的,换一个新浏览器就是全新的界面,输入访问密码只是能使用 docker compose 里预设的 API,因此完全可以多用户使用。
对应的一个问题是,我一个人使用,如何同步多个浏览器中的数据?在设置里,云端同步中,支持 WebRTC 的同步,只要设置名称、密码,并开启,在两个浏览器都在线的情况下,就能自动同步,还是有些缺陷的,看起来只适合换浏览器时使用。
暂无评论内容