前言

答:ChatGPT是一个由OpenAI开发的大型语言模型,它是基于人工智能技术的一种应用。ChatGPT使用了深度学习技术中的循环神经网络(RNN)和注意力机制(Attention Mechanism)来理解和生成自然语言文本。
ChatGPT是通过训练大规模的文本数据集来学习语言模式和语义理解的。它可以回答各种问题、提供信息、进行对话和生成文本等任务。ChatGPT在训练过程中学习了广泛的知识和语言规则,并且可以根据输入的问题或指令生成合理的回复。
作为一个语言模型,ChatGPT可以用于各种应用,包括自动客服、智能助手、文本生成等。它可以与用户进行对话,并尽可能提供准确和有用的回答。
需要注意的是,ChatGPT是基于历史数据进行训练的,并且它的回答是基于过去的知识和信息。它没有自己的实时感知能力,也没有对当前事件的了解。因此,在回答问题时,它可能不具备最新的信息或无法提供最新的发展。

一、准备工作

1、部署好Docker的服务器

官网部署指南👆点我

2、ChatGPT的api-key

如何获取?👆点我

3、海外代理

如果你的服务器在海外,而且服务器可以直接访问openai,那就不需要这一步,如果你的服务器在国内,在家里,在本地电脑上,则需要给你的chatgpt容器挂一个代理,让chatgpt容器可以通过代理访问openai,如果不挂代理会报各种错误,比如连接超时。

本地部署代理👆点我: OpenWrt Hyper-V Passwall Windows10 Hyper-V安装OpenWrt全屋科学上网🌏!

4、项目原址 Yidadaa / ChatGPT-Next-Web

二、正式部署

1、创建并进入存放chatgpt的文件夹

mkdir -p /root/docker_data/chatgpt-next-web && cd /root/docker_data/chatgpt-next-web

2、创建docker-compose.yml文件

vi docker-compose.yml

3、粘贴下面的命令

下面提供的api-key是我乱写的😂

version: '3.3'
services:
    chatgpt-next-web:              #名称可以自定义
        container_name: openai     #docker显示名称可以自定义
        network_mode: fbfacfd9c1fb #容器使用网络,根据你的docker网络填写
        restart: unless-stopped    #容器重启方式
        ports:
            - '3003:3000'          #左侧端口3003可以自定义,右侧3000不要更改
        environment:
            - OPENAI_API_KEY=sk-Jjod7ho8HNO2zX1Wh3xPfRTjso1JIODodjwoaPGv2fz #填写你从openai获取的api-key
            - CODE=12345678        #自定义访问密码,建议设置,不然任何人都可以访问,会消耗你api-key的                                    
            - 'PROXY_URL=http://proxy-server-ip:port'  #http和https任选其一即可,另外一个用#号注释掉
            - 'PROXY_URL=http://proxy-server-ip:port'  #填写你的代理服务器地址和ip
        image: yidadaa/chatgpt-next-web

4、拉取镜像

4.1、搜索镜像

 docker search chatgpt

4.2、拉取镜像

docker pull yidadaa/chatgpt-next-web

4.3、运行容器

docker compose up -d
docker ps

三、测试报错解决

1、报错一

说明:提供的api-key无效,资源消耗完了,所以不行,换api-key吧。

{
  "error": {
    "message": "You exceeded your current quota, please check your plan and billing details.",
    "type": "insufficient_quota",
    "param": null,
    "code": "insufficient_quota"
  }
}

2、更换api-key

2.1、先停止容器

docker compose down
docker ps

2.2、再次启动容器

docker compose up -d
docker ps

3、报错二

代理问题,应该是服务器到代理服务器不通导致这个报错。

{
  "cause": {
    "errno": -111,
    "code": "ECONNREFUSED",
    "syscall": "connect",
    "address": "224.0.0.1",
    "port": 443
  }
}

4、报错三

代理连接没问题了,这个报错是代理节点的问题,连接超时了,更换节点试试。

{
  "cause": {
    "name": "ConnectTimeoutError",
    "code": "UND_ERR_CONNECT_TIMEOUT",
    "message": "Connect Timeout Error"
  }
}

四、测试成功

更换节点后测试正常。

五、总结

如果在部署的时候出现了报错,第一时间不要百度,不要谷歌,直接去github这个项目下面找【issues】,这里基本都会有已知问题的解答,还有解决方案,如果issues这里没有找到解决方案,在去百度,谷歌,csdn等等,如果还是解决不了,那就收集报错日志,部署步骤,尝试过的方法,提交new issues。

或者给我留言,提供联系方式,无偿帮你解答。