关于后端:基于开源的-ChatGPT-Web-UI-项目快速构建属于自己的-ChatGPT-站点

35次阅读

共计 2585 个字符,预计需要花费 7 分钟才能阅读完成。

作为一个技术博主,了不起比拟喜爱各种折腾,之前给大家介绍过 ChatGPT 接入微信,钉钉和常识星球(如果没看过的能够翻翻后面的文章),最近再看开源我的项目的时候,发现了一个 ChatGPT Web UI 我的项目。

想着刚好之前没有将 ChatGPT 接入过 Web UI,有了这个开源我的项目能够拿来应用,真是不错,上面是实操的装置步骤,分享给大家。

装置

官网在 Github 的我的项目文档上提供了很多中的装置形式,包含手动装置,docker 部署,以及近程部署等办法,了不起在抉择部署形式的时候,一开始为了简略想着间接应用 docker 部署就好,可是谁想到在服务器下面部署好了过后,在网站设置登录账号密码后始终会 Connection errored out 的问题。

通过翻阅官网的 issue,看到很多人都有一样的问题,依据 issue 中提供的形式,通过批改 dockerfile 最终才解决了这个问题。同时为了批改一些页面的题目所以决定 fork 源码,而后本人从新打包镜像的形式来部署。

下载源码

首先咱们将 Github 中的源码仓库 fork 一下,而后再将本人的仓库克隆下来,git clone https://github.com/ 本人的 github 账号 /chatgpt-web.git

下载实现过后,咱们进入到我的项目的目录中,而后进行依赖的装置,命令如下

cd chatgpt-web
pip install -r requirements.txt

这一步的时候咱们可能会呈现一些问题,如下所示

  1. pip 不存在:这种的话须要先装置 Python 环境,这里不过多介绍;
  2. ERROR: No matching distribution found for tiktoken (from -r requirements.txt (line 4)):这种是本人的 pip 镜像中不存在相干依赖的包,须要更换镜像

    pip install <package> -i https://pypi.org/simple
  3. 官网提供了一个常见问题的清单,能够参考解决官网提供的一个常见问题列表来进行解决。

失常来说遇到相干问题都能够解决,了不起这边就遇到了第二个问题,参照更换镜像的形式解决了,不过环境不同遇到的问题也不雷同,大家能够本人排查一下。

源码部署

首先咱们尝试一下,在不批改源码的状况下,应用 docker 在服务器下面部署,看看会有什么成果。咱们在服务器下面下载完源码过后,进入到目录中,而后进行镜像打包

git clone https://github.com/zhuSilence/chatgpt-web.git
cd chatgpt-web
docker build -t chatgpt-ui:ori .

接着咱们通过 docker images 查看下 docker 的镜像,如下

接下来咱们通过 docker 来运行 chatgpt-web 这个容器,执行如下命令

docker run -d --name chatgpt-ui \
  -e my_api_key="填入本人的 open api key" \
  -e USERNAME="admin" \
  -e PASSWORD="admin" \
  -v ~/chatGPThistory:/app/history \
  -p 7860:7860 \
  chatgpt-ui:ori

而后咱们关上浏览器,通过 ip 和端口间接拜访,成果如下,先登录,输出下面命令中的账号和明码

而后就能够进入到零碎外部,然而当咱们尝试去测试 ChatGPT 的时候,会发现在右上角报错了,提醒无奈链接。

在官网的置顶 issue 外面,咱们能够看到有很多小伙伴也遇到了这个问题,

最终后大佬剖析进去是因为在启用账号和明码认证的状况下,用 ip 间接拜访的时候获取到的 token 有谬误,导致无奈应用。

批改源码

找到问题所在过后,也就能够解决问题,在同一个 issue 上面就有人提到如果要在外网部署,要批改的是 Dockerfile 文件,在外面 CMD 命令后面加上如下一行

RUN sed -i 's/websocket\.cookies\.get("access-token")/websocket.cookies.get("access-token-unsecure")/' /root/.local/lib/python3.9/site-packages/gradio/routes.py

之所以要加上这一行是因为在服务器下面部署的时候拿不到正确的 token,而这一行的命令是通过 sed 命令将 routes.py 脚本中的 access_token_unsecure 替换成 access_token 从而获取到认证的 token

那么接下来咱们批改一下 Dockerfile,而后从新构建一个新的镜像,再进行启动,察看是否能够解决。

通过 vim Dockerfile 命令批改,而后再构建一个新的镜像

vim Dockerfile
docker build -t chatgpt-ui:new .
docker images

能够看到,这里咱们有两个镜像了,尽管名子一样,然而对应的 TAG 是不一样的,

docker run -d --name chatgpt-ui2 \
  -e my_api_key="填入本人的 open api key" \
  -e USERNAME="admin" \
  -e PASSWORD="admin" \
  -v ~/chatGPThistory:/app/history \
  -p 7861:7860 \
  chatgpt-ui:new

同样进行登录过后,咱们会发现这次失常了,能够欢快的进行游玩了。

调戏

首先咱们能够在官网的 Prompt 模板中抉择一个好玩的,外面蕴含的模板有很多。

比方咱们能够让 ChatGPT 充当一个 SQL 终端,而后帮咱们执行 SQL 语句。

怎么样是不是很神奇?还有很多乏味的模板能够抉择,也能够本人设定一个合乎本人工作或者学习的 Prompt 来进行 AI 的调戏。同时因为咱们是基于源码手动进行构建镜像的,能够把一些内容换成本人的,或者自行进行一些二次开发都是能够的。

总结

后面的文章给大家接入了如何接入微信,钉钉以及常识星球,明天的文章教大家如何构建一个属于本人的 ChatGPT 平台,对于 ChatGPT 这种划时代的产品,在这么短的工夫外面曾经风靡寰球了,各种互联网公司都投入大模型的钻研,更有很多 AI 畛域的人都开启了守业之旅,比方王慧文,李开复等。

这是一个新时代的终点,咱们行将经验一个大的改革!

作为普通人,唯有紧跟时代步调,能力不被时代摈弃!

正文完
 0