OpenAI 提供了 GPT 的 api 接口,我们可以通过开源项目提供的 Docker 项目,快速搭建自己的私有 ChatGPT/LLM 服务。
以下是我尝试过的几个服务。
lobe-chat
Lobe Chat 是一个开源的、高性能的聊天机器人框架,支持语音合成、多模态和可扩展的函数调用插件系统。
我们可以使用 Docker 来创建 Lobe Chat 容器
docker run -d \
--name lobe-chat \
--net mybridge \
--restart unless-stopped \
--ip 172.18.0.200 \
-p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \ # api key, 可先不填
-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \ # 代理地址可选
-e ACCESS_CODE=password \
lobehub/lobe-chat
我们通过 <ip address>:3210
访问 Lobe Chat 网站,按照以下方式输入密码:
如果在部署 Lobe Chat 时没有输入 OPENAI_API_KEY 的值,则需要自行添加 API Key,按照下图所示步骤执行即可:
chatgpt-next-web
ChatGPT-Next-Web 提供了一个跨平台的 ChatGPT/Gemini 用户界面。
docker run -d \
--name chat-next-web \
--net mybridge \
--restart unless-stopped \
--ip 172.18.0.201 \
-p 3000:3000 \
-e OPENAI_API_KEY=sk-xxxx \
-e CODE=password1,password2 \ # 可以使用逗号隔开多个密码
-e PROXY_URL=http://localhost:7890 \ # 代理地址,根据需求添加
yidadaa/chatgpt-next-web
chatgpt-web
chatgpt-web 和 chatgpt-next-web 大同小异。
docker run -d \
--name chatgpt-web \
--net mybridge \
--restart unless-stopped \
--ip 172.18.0.202 \
-p 3002:3002 \
-e OPENAI_API_KEY=your_api_key \
chatgpt-web
上述 lobe-chat, chatgpt-next-web 和 chatgpt-web 配置完成后,都可以使用 nginx 反向代理。
chatgpt-on-wechat
chatgpt-on-wechat 可以在微信等程序中接入 GPT 等服务,从而搭建自己的智能对话机器人。
docker run -d \
--name chatgpt-on-wechat \
--net mybridge \
--restart unless-stopped \
--ip 172.18.0.202 \
--security-opt seccomp:unconfined \
-e OPEN_AI_API_KEY='YOUR API KEY' \
-e MODEL='gpt-3.5-turbo' \
-e PROXY='' \
-e SINGLE_CHAT_PREFIX='["bot", "@bot"]' \
-e SINGLE_CHAT_REPLY_PREFIX='"[bot] "' \
-e GROUP_CHAT_PREFIX='["@bot"]' \
-e GROUP_NAME_WHITE_LIST='["ChatGPT测试群", "ChatGPT测试群2"]' \
-e IMAGE_CREATE_PREFIX='["画", "看", "找"]' \
-e CONVERSATION_MAX_TOKENS=1000 \
-e SPEECH_RECOGNITION='False' \
-e CHARACTER_DESC="你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" \
-e EXPIRES_IN_SECONDS=3600 \
-e USE_GLOBAL_PLUGIN_CONFIG='True' \
-e USE_LINKAI='False' \
-e LINKAI_API_KEY='' \
-e LINKAI_APP_CODE='' \
zhayujie/chatgpt-on-wechat
上述变量的解释:
OPEN_AI_API_KEY
: OpenAI 的 api key。MODEL
: 模型名,包括 gpt-3.5-turbo, gpt-3.5-turbo-1106, gpt-3.5-turbo-16k, gpt-4, gpt-4-32k, gpt-4-1106-preview, gpt-4-vision-preview。PROXY
: 代理,例如http://192.168.5.1:10809
。SINGLE_CHAT_PREFIX
: 单个聊天对话中激活 GPT 的前缀。SINGLE_CHAT_REPLY_PREFIX
: GPT 回复时给出的前缀。GROUP_CHAT_PREFIX
: 群聊时激活 GPT 的前缀。GROUP_NAME_WHITE_LIST
: 定义允许激活 GPT 的群聊名称列表。IMAGE_CREATE_PREFIX
: 创建图片的命令前缀。CONVERSATION_MAX_TOKENS
: 聊天时最大的 TOKEN 数量。SPEECH_RECOGNITION
: 定义是否启用语音识别。CHARACTER_DESC
: 定义角色描述。EXPIRES_IN_SECONDS
: 定义会话的过期时间。USE_GLOBAL_PLUGIN_CONFIG
: 是否使用全局插件配置。USE_LINKAI
: 决定是否启用 LinkAI 插件。LINKAI_API_KEY
: LinkAI API 的密钥。LINKAI_APP_CODE
: 用于设置 LinkAI 应用代码。
在容器配置完成后,使用以下命令打开日志并扫码:
docker logs -f chatgpt-on-wechat
注意该命令需要使用开通了微信支付的账号,否则扫码会失败。
在使用时,只需要输入 @bot
等激活词就可以让 GPT 自动回复。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END