使用Azure OpenAI+ChatGPT Web快速构建自己的ChatGPT,无需FQ,无忧封号

前言

OpenAI推出的ChatGPT火出天际🔥,一路狂飙🚀,很多小伙伴都想尝试调用OpenAI API来搭建自己的ChatGPT玩一玩,但是通常会面临OpenAI API在国内无法正常访问、OpenAI账号容易被封或充值困难等问题😭。一种替代方案就是使用微软的Azure OpenAI服务来搭建自己的ChatGPT😊
custom-chatgpt

Azure OpenAI服务提供REST API访问OpenAI强大的语言模型,包括GPT-3、Codex和Embeddings模型系列。无需FQ即可在国内访问使用Azure OpenAI服务,此外部分用户还可以获得高达200美元的免费额度。

效果图:
chatgpt-web.gif

使用到的相关技术/资源如下:

名称 链接 说明
chatgp-web https://github.com/Chanzhaoyu/chatgpt-web 用 Express 和 Vue3 搭建的 ChatGPT 演示网页
azure-openai-proxy https://github.com/kongpf8848/azure-openai-proxy 代理OpenAI API请求到Azure OpenAI服务
Caddy https://caddyserver.com Caddy是一个功能强大、企业级的开源Web服务器,使用Go语言编写,具备自动HTTPS功能
域名+服务器一台 https://www.aliyun.com 阿里云提供了云服务器、域名注册/解析/备案等服务

下面就讲解一下如何从0到1一步一步搭建出这个ChatGPT网站,其实very easy😄

1. 申请Azure OpenAI资源

  • 登录Azure网站,申请Azure OpenAI服务
    azure-openai-apply.png

  • 创建 Azure OpenAI
    azure-openai-create.png

资源创建完成✅后,可以在"资源管理"->"密钥和终结点"部分看到调用Azure OpenAI服务需要用到的api key和endpoint
azure-openai-key.png

  • 在Azure OpenAI Studio中部署模型
    azure-openai-depoly.png

通过以上操作,我们得到以下资源信息,先记下来,后面搭建网站会用到

名称 说明
Azure OpenAI API Key xxxxxx 用于访问Azure OpenAI服务的密钥
Azure OpenAI API Endpoint https://cctest.openai.azure.com/ 访问Azure OpenAI服务的BaseUrl
Azure OpenAI API Deployment ID gpt35 部署名称

2. 搭建网站

创建docker-compose.yml文件

文件内容如下:

version: '3'

services:
  chatgpt-web:
    image: chenzhaoyu94/chatgpt-web
    ports:
      - 3002:3002
    environment:
      OPENAI_API_KEY: <Azure OpenAI API Key>
      OPENAI_API_BASE_URL: http://azure-openai:8080
      OPENAI_API_MODEL: gpt-3.5-turbo
      MAX_REQUEST_PER_HOUR: 1000
      TIMEOUT_MS: 600000
    depends_on:
      - azure-openai
    links:
      - azure-openai
    networks:
      - chatgpt-ns

  azure-openai:
    image: rainboy2010/azure-openai-proxy
    ports:
      - 8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: <Azure OpenAI API Endpoint>
      AZURE_OPENAI_DEPLOYMENT_ID: <Azure OpenAI API Deployment ID>
      AZURE_OPENAI_API_VERSION: 2023-03-15-preview
    networks:
      - chatgpt-ns

networks:
  chatgpt-ns:
    driver: bridge

替换文件中的<Azure OpenAI API Key><Azure OpenAI API Endpoint><Azure OpenAI API Deployment ID>为第1步申请的相关资源信息

运行

执行以下命令:

docker compose up -d

docker-compose.png

然后在浏览器里访问http://localhost:3002,出现以下页面,就说明网站搭建成功了✌️
chatgpt.png

3. 公网部署

如果我们想要把自己搭建的ChatGPT网站部署到公网,就要准备域名和一台公网服务器。此处我们使用的域名和服务器信息如下:

名称 说明
域名 chat.xxx.com
服务器 阿里云云服务器ECS一台
操作系统 CentOS 7.9 64位

下面讲解一下如何使用Caddy配置https和反向代理。

  • 安装Caddy

执行以下命令:

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy

安装完成后输入caddy version,看到以下提示,就说明Caddy安装成功了✌️

v2.6.4 h1:2hwYqiRwk1tf3VruhMpLcYTg+11fCdr8S3jhNAdnPy8=
  • 创建文件Caddyfile
cd /etc/caddy
vi Caddyfile

文件内容如下:

chat.xxx.com {
   reverse_proxy localhost:3002
}

www.chat.xxx.com {
   redir https://chat.xxx.com{uri}
}
  • 执行第2步搭建网站操作

  • 运行Caddy

执行以下命令:

cd /etc/caddy
caddy start

如一切正常,在浏览器里输入https://chat.xxx.com就可以访问我们搭建的网站了✌️
chatgpt-web.png

相关资源

posted @ 2023-07-03 18:51  南极冰川雪  阅读(61)  评论(0编辑  收藏  举报