今天介绍第二例,在亚马逊云虚拟机上运行chatgpt web程序,使用Docker来快速设置和部署。在开始之前你要先申请一个账号,并运行虚拟机,启动实例。

我选择的是加利福尼亚北部-Deep Learning AMI GPU PyTorch 1.12.1 (Ubuntu 20.04) 20221114-选择没有密钥对-入站出站选择所有流量所有ip-启动实例。

以下是在亚马逊云虚拟机Ubuntu中运行chatgpt web程序的步骤:

1.在您的亚马逊云虚拟机上安装Docker和Docker Compose。可以使用以下命令:

sudo apt-get update
sudo apt-get install docker docker-compose

2.获取chatgpt-web的Docker镜像,使用以下命令从Docker Hub获取:

docker pull qingshui869413421/chatgpt-web:latest

3.创建一个配置文件config.json并编辑它,填入相关参数,例如:

{
 "api_key": "your api key",
 "api_url": "",
 "port": 8080,
 "listen": "",
 "bot_desc": "你是一个AI助手,我需要你模拟一名温柔贴心的女朋友来回答我的问题。",
 "proxy": "",
 "model": "gpt-3.5-turbo-0301",
 "max_tokens": 512,
 "temperature": 0.9,
 "top_p": 1,
 "frequency_penalty": 0.0,
 "presence_penalty": 0.6,
 "auth_user": "",
 "auth_password": ""
}

4.要创建一个配置文件config.json并编辑它以运行chatgpt-web程序,您可以按照以下步骤:

a.在您的Ubuntu虚拟机上打开终端。

b.进入您想要存储配置文件的目录。例如,如果您想将配置文件存储在主目录下的chatgpt-web目录中,则可以使用以下命令切换到主目录,并创建chatgpt-web目录:

cd ~
mkdir chatgpt-web
cd chatgpt-web

c.创建一个名为config.json的空白文件,并使用文本编辑器打开它。例如,您可以使用nano编辑器来创建和编辑该文件。使用以下命令创建config.json文件并打开它:

nano config.json

d.将以下内容复制并粘贴到config.json文件中:

{
 "api_key": "your api key",
 "api_url": "",
 "port": 8080,
 "listen": "",
 "bot_desc": "你是一个AI助手,我需要你模拟一名温柔贴心的女朋友来回答我的问题。",
 "proxy": "",
 "model": "gpt-3.5-turbo-0301",
 "max_tokens": 512,
 "temperature": 0.9,
 "top_p": 1,
 "frequency_penalty": 0.0,
 "presence_penalty": 0.6,
 "auth_user": "",
 "auth_password": ""
}

e.根据您的实际需求和配置更改config.json中的值。例如,您需要将“your_api_key”替换为您自己的OpenAI API密钥,将“port”更改为您想要的端口号,将“bot_desc”更改为您想要的聊天机器人描述等。

f.保存并关闭config.json文件。在nano编辑器中,可以按Ctrl+X键,然后输入Y键以保存文件并退出编辑器。

g.现在,您已经成功创建了一个config.json配置文件,并设置好了所需的参数和设置,可以使用它来运行chatgpt-web程序。

5.运行chatgpt-web,使用以下docker命令:

docker run -itd --name chatgpt-web -v `pwd`/config.json:/app/config.json -p 8080:8080 qingshui869413421/chatgpt-web:latest

该命令将会使用config.json文件作为配置文件,映射到容器内/app/config.json,并将容器的8080端口暴露出来,映射到主机上的8080端口。

6.访问chatgpt-web,使用浏览器访问http://your_server_ip:8080,即可开始使用chatgpt-web聊天应用程序。

7.请注意,您需要替换“your_api_key”为您自己的OpenAI API密钥。替换your_server_ip为您的亚马逊云虚拟机公共IP地址。

8.最后在绑定域名就可以了,可以使用NginxProxyManager反向代理绑定。这里我不在介绍了。

问题:

上面第二步若是出现下面的错误:

ubuntu@ip-172-31-13-186:~$ docker pull qingshui869413421/chatgpt-web:latest
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

这个错误提示意味着Docker守护进程没有在您的Ubuntu虚拟机上运行。Docker需要在操作系统上运行一个守护进程,以便能够构建、管理和运行Docker容器。

要解决这个问题,您可以按照以下步骤启动Docker守护进程:

在您的Ubuntu虚拟机上打开终端。

使用以下命令检查Docker服务是否已经启动:

sudo systemctl status docker

如果Docker服务已经启动,您会看到一条消息表示“active (running)”状态。如果未启动,则会显示“inactive (dead)”状态。

如果Docker服务未启动,请使用以下命令启动它:

sudo systemctl start docker

等待一段时间,直到Docker守护进程成功启动。您可以使用以下命令检查Docker守护进程是否正在运行:

sudo systemctl status docker

如果Docker守护进程已经成功启动,您会看到一条消息表示“active (running)”状态。

然后,您可以再次尝试使用docker pull命令拉取chatgpt-web Docker镜像,例如:

docker pull qingshui869413421/chatgpt-web:latest

现在,您应该能够成功拉取chatgpt-web Docker镜像,并在Ubuntu虚拟机上部署和运行chatgpt-web程序了。