chatgpt在线和本地部署区别 如何搭建并部署ChatGPT接口服务

默认分类1年前 (2023)发布 admin
3,529 0
ChatGPT国内版

最近有不少朋友在问用于微信的接口以及怎么搭建接口服务,本文将以一个开源项目为例,演示在Linux下搭建接口服务的流程。

一、准备工作

1、一台国外服务器(Linux环境)国内的服务器目前无法访问的服务。

2、开源项目:bot-on-()

3、的token,以“sk-”开头。

二、搭建环境

1、准备环境

由于bot-on-项目是基于实现且对于的版本有要求,需要版本在3.7~3.10之间,所以我们需要先准备对应的环境,安装命令如下:

apt-get upgrade
apt-get install python3.7
ln -f -s /usr/bin/python3 /usr/bin/python3.7

首先我们更新软件源,然后安装.7,注意这里不能直接使用apt-get 来安装,该命令默认安装的是3.6版本的,后续会出现依赖报错,在.7安装完成之后,通过ln命令将其链接到,我们在使用ln做命令链接的时候加了-f参数,是为了保证即使该系统以前存在的情况下依然能链接成功。

在.7环境安装完成后我们需要安装pip3命令,命令如下:

apt-get install python3-pip

2、克隆项目

我们可以通过命令git clone 将项目克隆到服务器,如果无法访问,尝试在hosts文件中加:140.82.121.3 ,在项目克隆完毕后进入项目目录并复制配置文件:

cd bot-on-anything/
cp config-template.json config.json

通过vim .json修改配置文件,每一个配置项的描述项目的上都有描述,我们先修改和相关的:

这里将其更改为我们自己的token,需要注意的是默认的.json文件有点问题:

chatgpt在线和本地部署区别 如何搭建并部署ChatGPT接口服务

bing这个配置项下面少了一个“}”,所以在更改的时候我们要么直接删除该配置项,要么添加“}”。

然后根据自己要对接的端类型,更改配置,默认的是,比如我要对接微信公众号个人订阅号,需要更改成:

其中的token在公众号后台基本配置处设置:

3、安装依赖

我们先通过下面的命令安装依赖的:

pip3 install --upgrade openai

然后根据自己的需求及配置,安装其他依赖,比如我要对接微信公众号,则需要额外安装:

pip3 install werobot

4、测试运行

这里我们我们以默认的来测试我们安装的环境是否有问题:

python3 app.py

运行效果:

不仅要在运行 app.py程序不报错,而且要在提问后不报程序错误才算环境没问题,上面截图中回复报错是因为我没有国外服务器,用的国内服务器做的测试,但是整个环境搭建是没有问题的。

三、后台运行接口服务

前面我们使用了 app.py命令来测试环境是否正常,在我们部署供外部调用的接口服务时就不能这么做,因为上面的命令运行在前台,当命令行窗口退出,则我们刚启动的接口服务也就退出了,我们需要在后台运行服务,通过hohup命令我们可以实现在后台运行命令:

chatgpt在线和本地部署区别 如何搭建并部署ChatGPT接口服务

nohup python3 app.py &

然后当我们再次关闭命令行窗口,重新请求接口服务,会发现接口服务依然在正常运行。

四、为接口服务设置对外域名

不出意外的话,通过上面的步骤我们的服务肯定是已经能跑起来了,但是它现在运行在一个特定的端口上,我们需要通过主域名:端口/或服务器IP:端口/的方式才能访问到接口服务,这种访问方式稍微有一些不雅,而且我们需要在服务端开放这个端口外部才能正常访问,而通过反向代理的方式我们通过域名更优雅的访问接口服务,以linux为例,在域名的配置文件中加上:

location ^~ /gpt/ {
    proxy_pass  http://127.0.0.1:8080/;
    proxy_set_header Host $proxy_host;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
}

当我们访问的时候相当于访问了8080端口上的服务,而且我们还不需要对外暴露8080端口。当然我们也可以根据自己的需要将全部请求转发到8080端口上,后续https证书的配置这里就不讲了,阿里云,腾讯云等等平台都有免费的https证书,个人用足够了。

五、问题记录

1、报错:no found for =1.2.3 (from )

pip的版本有问题,通过命令 -m pip — pip更新即可。

2、报错: ‘.error’ has no ”

的版本不正确,按照上面的步骤重新安装

3、报错:: ” has no ”

的版本不正确,按照上面的步骤重新安装

4、对接微信公众号收不到服务的响应

①、检查微信公众号服务器地址是否设置正确,服务器代码中的令牌是否和公众号后台设置的一致。

②、如果使用端口访问的检查端口是否开放了

③、检查是否将服务器的IP在微信公众号后台配置了白名单,IP白名单在公众号后台安全中心处设置:

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...