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

2,757 阅读3分钟

前言

OpenAI推出的ChatGPT火出天际🔥,一路狂飙🚀,很多小伙伴都想尝试调用OpenAI API来搭建自己的ChatGPT玩一玩,但是通常会面临OpenAI API在国内无法正常访问、OpenAI账号容易被封或充值困难等问题😭。一种替代方案就是使用微软的Azure OpenAI服务来搭建自己的ChatGPT😊 1_zBf-Dce5wY-6uXgNMHC60Q.webp Azure OpenAI服务提供REST API访问OpenAI强大的语言模型,包括GPT-3.5-turbo-16k、GPT-3.5、Codex和Embeddings模型系列。无需翻墙即可在国内访问使用Azure OpenAI服务,此外部分用户还可以获得首月200美元的免费额度。

效果图: chatgpt-web.gif

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

名称链接说明
Azure OpenAI Serviceportal.azure.comAzure OpenAI服务是微软与OpenAI之间合作的结果。该服务将Azure的企业级功能与OpenAI的生成式AI模型功能相结合
chatgp-webgithub.com/Chanzhaoyu/…用 Express 和 Vue3 搭建的 ChatGPT 演示网页
azure-openai-proxygithub.com/kongpf8848/…代理OpenAI API请求到Azure OpenAI服务
Caddycaddyserver.comCaddy是一个功能强大、企业级的开源Web服务器,使用Go语言编写,具备自动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 Keyxxxxxx用于访问Azure OpenAI服务的密钥
Azure OpenAI API Endpointcctest.openai.azure.com/访问Azure OpenAI服务的BaseUrl
Azure OpenAI API Deployment IDgpt35部署名称

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

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

相关资源