今天介绍第二例,在亚马逊云虚拟机上运行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程序了。