基于 Azure OpenAI 免费注册使用 ChatGPT 教程

目前,大部分朋友使用 ChatGPT 还是挺麻烦的,需要原生 IP 代理注册、扫码、搭建代理服务让国内可以访问等等(详细可以看之前的文章:ChatGPT 从注册到自建应用),还要小心翼翼防止被封,确实比较麻烦。

今天给大家介绍一种新的ChatGPT 使用方式:基于 Azure OpenAI 免费注册使用 ChatGPT 教程。2023.03.09号,这篇文章中提到, ChatGPT 在 Azure OpenAI 服务中提供预览版,针对中国区一样可以申请试用:

  • 中国区用户直接访问&申请 ChatGPT 服务
  • 注册 Azure 即送 200 刀
  • 一年常用服务的免费使用期

看下最终自建的 GPT 机器人使用效果图(基于开源项目-ChatGPT-Next-Web):

一、注册

开始前请做好以下准备:

  • 一个微软账号
  • 一张 visa 信用卡,Azure 要求你绑定信用卡
  • 相关公司信息如:公司邮箱、地址、电话等信息

先进行注册,打开Azure 云平台官网 ,点击免费试用:

点击后你需要绑定微软账户然后填写个人资料:

填写完资料就是绑定银行卡,这块照着填就行了,然后会告诉你送 200$,进入控制台,右上角可以看到额度:

二、申请 OpenAI

先进入 azure 控制台 搜索订阅:

点击进入后如果有免费试用,就直接复制免费使用的订阅 ID,如果没有(我就没有,不清楚是现在没有了还是我的账户是老账号)就自己新增一个订阅,如下

请复制好保存好这个订阅 ID,后面申请需要。接下来让我们申请 OpenAI 服务,一样在顶部进行搜索:

因为这个服务是需要申请的,所以直接点击提示的链接进行申请:

也就是这个链接:https://aka.ms/oai/access:

耐心将这 25 个问题回答完毕即可,需要注意的点:

  • 使用公司邮箱(我使用公司的邮箱,几个小时就申请通过了)
  • 填公司信息尽量准确
  • 第四个问题一定要用订阅 ID,我就是填错了导致申请两次

填写成功后,一般一两天就会收到验证邮件:

点击验证邮箱即可,验证成功后再等两三天就能收到 Onboarding 邮件,代表申请通过,然后就可以使用 Chatgpt3.5& Dalle-2

至此,成功申请了微软的 OpenAI 服务资格。

三、配置 OpenAI

有了资格就可以直接创建 Azure OpenAI 服务了,进入OpenAI 配置页面

一路确认往下就开启成功了,然后在控制台主页就能看到开启的服务:

点击进入 OpenAI 服务,确认服务创建成功之后,选择 模型部署(model deployments),即可配置要用的模型:

申请好了就可以直接点击可以到 ChatGPT 操场(预览版) 体验使用了:

四、申请 API Key

Azure面板中点击我们的OpenAI资源,点击 manage keys

点击即可获取密钥 1,接下来就是利用 API 开发自己的应用了。

可以通过命令行调用看看能否成功,打开终端:

1
2
3
4
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-03-15-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "hello"}]}'

不出意外就可以在终端得到你想要的返回结果了。

五、关于代理

目前开源社区基于 ChatGPT API 衍生出了很多有意思的项目,但有个问题是大部分的项目是不支持 Azure OpenAI 访问形式的。所以在使用其他应用前,我们需要做一个代理转换,很多乐于助人的朋友已经将这个事情给做了,相关项目如下:

  • stulzq/azure-openai-proxy: Azure OpenAI 服务代理,将 OpenAI 官方 API 请求转换为 Azure OpenAI API 请求,支持所有型号,支持 GPT-4。
  • diemus/azure-openai-proxy: 一个 Azure OpenAI API 的代理工具,可以将一个 OpenAI 请求转化为 Azure OpenAI 请求,方便作为各类开源 ChatGPT 的后端使用。同时也支持作为单纯的 OpenAI 接口代理使用,用来解决 OpenAI 接口在部分地区的被限制使用的问题。
  • cf-openai-azure-proxy: 基于 Cloudflare 代理 OpenAI 的请求到 Azure OpenAI Serivce

六、配置客户端

我们部署Azure OpenAI Service资源的主要目的是为了能在客户端中使用GPT或其他OpenAI模型的能力,所以接下来我们要将Azure OpenAI Service API配置到流行的 OpenAI 客户端中。

1、获取 API KEY 和 API URL

在配置客户端之前,请先去Azure OpenAI Service资源详情页面中获取密钥终结点中。

  • 密钥:作为客户端中的API KEY使用。
  • 终结点:作为API URL或者Endpoint使用。
2、配置 Azure OpenAI Service API

openai-translatorChatBox这样的客户端已经原生支持Azure OpenAI Service的API,这里以openai-translator为例介绍一下配置的要点:

1
2
3
4
// API URL 或者 终结点
const API_URL = `https://${resourceName}.openai.azure.com`
// API URL Path 为你的 Azure OpenAI Service API 路径,主要负责调用模型和指定API版本
const API_URL_PATH = `/openai/deployments/${deployName}/completions?api-version=${apiVersion}`
  • resourceName: 填写你的 Azure OpenAI Service 资源名称。
  • deployName: 填写你的 Azure OpenAI Service 模型部署名称,更改部署名称以切换模型。
  • api-version: 填写“2023-05-15”,或者更新的版本

如果你使用ChatBox,无需构造API_URL_PATH,只需要填写模型部署名称即可。

3、 Cloudflare 转换 Azure OpenAI Service API

Azure OpenAI Service APIOpenAI Service API的接口不一致。如果你的第三方客户端不支持Azure OpenAI Service API,你可以使用cf-openai-azure-proxy: 这个项目来部署一个Cloudflare Worker,将Azure OpenAI Service API映射到OpenAI Service。部署Worker时,可参照下面的代码对进行配置:

1
2
3
4
5
6
7
8
9
10
11
12
// The name of your Azure OpenAI Resource.
const resourceName="你的Azure OpenAI资源名称"

// The deployment name you chose when you deployed the model.
const mapper = { // 模型名称与模型部署名称映射
'gpt-3.5-turbo': "模型部署名称",
// 'gpt-4': DEPLOY_NAME_GPT4 // 如果没有 GPT-4 服务可先注释掉
};
const apiVersion="2023-05-15"; // Azure OpenAI API 版本
// ...
// 跳过中间代码找到下面这一句
const deployName = mapper[modelName] || '模型部署名称' // 设置默认使用已部署的模型,而不是空。

CloudFlare Worker部署完成之后,我们就可以去配置客户端了。

4、 客户端配置

openai-translator配置:

  • 请在设置中选择OpenAI作为Default Service Provider
  • API KEY:请填写Azure OpenAI Service密钥
  • API URL:请填写Cloudflare Worker的 URL
  • API Model 选择你已部署的 Model,例如gpt-35-turbo (version 0301),而这个Model需要你在Cloudflare Worker代码最前面的 mapper 中做好映射。

ChatBox配置:

  • OpenAI API Key中填写Azure OpenAI Service密钥
  • 展开Proxy,在API Host中填写Cloudflare Worker的 URL。
  • 展开Model & Token,在Model中选择你已部署的 Model,例如gpt-35-turbo-0301

ChatGPT-Next-Web 配置:

注意: ChatGPT-Next-Web要更新到最新的版本,之前旧的版本是不支持配置的。我的ChatGPT-Next-Web项目是部署在Vercel上的,所以配置直接在Verlcel中修改该项目的环境变量即可

  • 新增PROTOCOL变量,值为https
  • 变量OPENAI_API_KEY,值为Azure OpenAI Service密钥
  • 变量BASE_URL, 值为Cloudflare Worker的 URL。
    配置
5、打字效果

直接使用Azure OpenAI Service API可能会看不到打字机的效果,而cf-openai-azure-proxy对它进行了兼容,因此我更喜欢用它,而不是直接使用Azure OpenAI Service API。

七、FAQ

🙋 申请 Azure OpenAI Service 通过以后使用 Azure 账号登录还是用申请 Azure OpenAI Service 的企业邮箱登录?

使用 subscription 相关的 Azure 账号登录,企业邮箱仅用于验证企业身份。

🙋 收到了 GPT-4 模型的回信却不能部署 GPT-4 模型?

再读一读邮件,是不是告诉你被加入到 GPT-4 的waitlist了?而不是通过了申请。GPT-4 模型连 waitlist 都要申请和审核,审核通过了才进waitlist。

八、参考链接

1、Azure OpenAI Service 注册申请与配置心得
2、基于 Azure OpenAI 免费注册使用 ChatGPT 教程
3、Azure OpenAI 使用后续:使用 Cloudflare Worker 转换 Azure OpenAI API
4、cloudflare
5、我的 Azure OpenAI Service 注册申请与配置踩坑心得
6、使用 Azure OpenAI 打造自己的 ChatGPT
7、不翻墙完美申请ChatGPT攻略:Azure OpenAI 使用指南!