51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

🐳 Docker 部署 ChatGPT

前言

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

一、准备工作 {#%E4%B8%80%E3%80%81%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C}

1、部署好Docker的服务器 {#1%E3%80%81%E9%83%A8%E7%BD%B2%E5%A5%BDdocker%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8}

官网部署指南👆点我

2、ChatGPT的api-key {#2%E3%80%81chatgpt%E7%9A%84api-key}

如何获取?👆点我

3、海外代理 {#3%E3%80%81%E6%B5%B7%E5%A4%96%E4%BB%A3%E7%90%86}

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

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

4、项目原址 Yidadaa / ChatGPT-Next-Web {#4%E3%80%81%E9%A1%B9%E7%9B%AE%E5%8E%9F%E5%9D%80-yidadaa-%2F-chatgpt-next-web}

二、正式部署 {#%E4%BA%8C%E3%80%81%E6%AD%A3%E5%BC%8F%E9%83%A8%E7%BD%B2}

1、创建并进入存放chatgpt的文件夹 {#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%B9%B6%E8%BF%9B%E5%85%A5%E5%AD%98%E6%94%BEchatgpt%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%B9}

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

2、创建docker-compose.yml文件 {#2%E3%80%81%E5%88%9B%E5%BB%BAdocker-compose.yml%E6%96%87%E4%BB%B6}

vi docker-compose.yml

3、粘贴下面的命令 {#3%E3%80%81%E7%B2%98%E8%B4%B4%E4%B8%8B%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4}

下面提供的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%E3%80%81%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F}

4.1、搜索镜像 {#4.1%E3%80%81%E6%90%9C%E7%B4%A2%E9%95%9C%E5%83%8F}

 docker search chatgpt

4.2、拉取镜像 {#4.2%E3%80%81%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F}

docker pull yidadaa/chatgpt-next-web

4.3、运行容器 {#4.3%E3%80%81%E8%BF%90%E8%A1%8C%E5%AE%B9%E5%99%A8}

docker compose up -d
docker ps

三、测试报错解决 {#%E4%B8%89%E3%80%81%E6%B5%8B%E8%AF%95%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3}

1、报错一 {#1%E3%80%81%E6%8A%A5%E9%94%99%E4%B8%80}

说明:提供的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%E3%80%81%E6%9B%B4%E6%8D%A2api-key}

2.1、先停止容器 {#2.1%E3%80%81%E5%85%88%E5%81%9C%E6%AD%A2%E5%AE%B9%E5%99%A8}

docker compose down
docker ps

2.2、再次启动容器 {#2.2%E3%80%81%E5%86%8D%E6%AC%A1%E5%90%AF%E5%8A%A8%E5%AE%B9%E5%99%A8}

docker compose up -d
docker ps

3、报错二 {#3%E3%80%81%E6%8A%A5%E9%94%99%E4%BA%8C}

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

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

4、报错三 {#4%E3%80%81%E6%8A%A5%E9%94%99%E4%B8%89}

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

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

四、测试成功 {#%E5%9B%9B%E3%80%81%E6%B5%8B%E8%AF%95%E6%88%90%E5%8A%9F}

更换节点后测试正常。

五、总结 {#%E4%BA%94%E3%80%81%E6%80%BB%E7%BB%93}

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

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

赞(0)
未经允许不得转载:工具盒子 » 🐳 Docker 部署 ChatGPT