前言
OpenAI推出的ChatGPT火出天际🔥,一路狂飙🚀,很多小伙伴都想尝试调用OpenAI API来搭建自己的ChatGPT玩一玩,但是通常会面临OpenAI API在国内无法正常访问、OpenAI账号容易被封或充值困难等问题😭。一种替代方案就是使用微软的Azure OpenAI服务来搭建自己的ChatGPT😊
Azure OpenAI服务提供REST API访问OpenAI强大的语言模型,包括GPT-3.5-turbo-16k、GPT-3.5、Codex和Embeddings模型系列。无需翻墙即可在国内访问使用Azure OpenAI服务,此外部分用户还可以获得首月200美元的免费额度。
效果图:
使用到的相关技术/资源如下:
名称 | 链接 | 说明 |
---|---|---|
Azure OpenAI Service | portal.azure.com | Azure OpenAI服务是微软与OpenAI之间合作的结果。该服务将Azure的企业级功能与OpenAI的生成式AI模型功能相结合 |
chatgp-web | github.com/Chanzhaoyu/… | 用 Express 和 Vue3 搭建的 ChatGPT 演示网页 |
azure-openai-proxy | github.com/kongpf8848/… | 代理OpenAI API请求到Azure OpenAI服务 |
Caddy | caddyserver.com | Caddy是一个功能强大、企业级的开源Web服务器,使用Go语言编写,具备自动HTTPS功能 |
域名+服务器一台 | www.aliyun.com | 阿里云提供了云服务器、域名注册/解析/备案等服务 |
下面就讲解一下如何从0到1一步一步搭建出这个ChatGPT网站,其实very easy😄
1. 申请Azure OpenAI资源
- 登录Azure网站,申请Azure OpenAI服务
- 创建 Azure OpenAI
资源创建完成✅后,可以在"资源管理"->"密钥和终结点"部分看到调用Azure OpenAI服务需要用到的api key和endpoint
- 在Azure OpenAI Studio中部署模型
通过以上操作,我们得到以下资源信息,先记下来,后面搭建网站会用到
名称 | 值 | 说明 |
---|---|---|
Azure OpenAI API Key | xxxxxx | 用于访问Azure OpenAI服务的密钥 |
Azure OpenAI API Endpoint | 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
然后在浏览器里访问http://localhost:3002,
出现以下页面,就说明网站搭建成功了✌️
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就可以访问我们搭建的网站了✌️