申请使用微软中国区 Azure OpenAI API打造自己的 ChatGPT

早在2021年11月,微软Azure就推出了OpenAI预览服务,允许企业用户通过REST API去访问OpenAI的语言模型,当时也只有非常有限的客户可以预览这个功能。在今年1月份,微软宣布Azure OpenAI面向全球客户正式开放,其中就包括了中国区,全球的企业用户都可以访问到世界先进的人工智能模型,可以使用GPT-3.5、Codex、DALL E2在内的人工智能模型,并可使用API打造自己的智能化创新应用。

人工智能是未来的趋势,但眼下ChatGPT对国内用户非常不友好,不仅申请麻烦,需要使用专用代理服务器,接验证码还得去注册接码平台的,而且在使用过程中还磕磕碰碰,一不小心没开代理调用了API接口,就有可能面临被封接口权限甚至直接封号。那么在国内有没有没那么麻烦的AI人工智能模型可以用呢?也许你会说百度有文心一言,Google也有Bard,还有Notion AI,这些都是行业内的竞争者,但我认为就目前的体验来说,OpenAI ChatGPT仍然是最优选。

因此,在本篇文章中,将简要介绍一下如何申请中国区Azure OpenAI服务,并以此代替原本ChatGPT的功能,在一些需要使用OpenAI API的场景中,可以直接替换。

注册微软Azure用户

注册之前,建议先去注册一下微软的邮箱,全球收发邮件都不受阻碍,而且有行业领先反垃圾邮件的系统,建议可以长期使用。邮箱的注册这里不展开。我们直接访问微软Azure平台进行申请。

6fd3592349154736

注意:中国区Azure是由“世纪互联”运营的,如果你填写资料时选择的国家是中国,那么就是由国内提供服务的。如果你选择了其他国家/地区,则是由微软国际版Azure运营的。

中国区Azure和国际版Azure存在一些政策上和使用上的差异,具体差异可以看一下这篇文章:Azure 国际版与中国版服务列表对(2020年6月版)。如果你只是为了体验Azure OpenAI的API,那么没差别,申请下来的接口都可以用。

噢,对了,Azure申请成功后,会告诉你有一些服务可以免费用12个月,也有一定数额的赠金。

我由于已经有Azure账号了,就不去申请再多的账号,直接跳到下一步,申请API接口。

申请OpenAI API接口权限

登陆Azure之后,直接在顶部搜索关键词“openai”,就可以找到

d5d0a20c22160317

然后点击“Azure OpenAI”进入接口创建页面,在底下有提示,点击“创建Azure OpenAI”

5e5572cb84160505

在这个页面中,选择你的订阅,如果你刚注册的,应该就是免费试用的订阅,然后再创建一个资源组用于OpenAI,这里就起名“OpenAI”好了

fcfc28b7dd160833

注意看这个红框位置,OpenAI服务需要额外申请,点击申请。会弹出一个多达25道题的问卷,需要仔细填好。

注意,这里要提供准确的订阅ID

1862c0a3ff161458

这个ID在这里可以找到,注意这里不是目录ID(租户ID),而是要提交订阅ID

在顶部搜索“订阅”,在打开的页面中,把订阅ID复制到上面的问卷中

74fe81b7a4105819

2face48664105913

还有这个公司信息,不论国内版Azure还是国际版Azure,OpenAI都只面向企业服务,所以这里要填你的公司信息和公司邮箱,如果你使用一些常用的私人邮箱,申请会即刻被拒绝。

716c674a64161622

把这二十几道问卷题答完,就等着审核吧。大概要几天到十几天不等,最近申请人数开始增多,可能会延期。

6aeae00435165028

我申请了有几天了,刚好又是周末,还没下来,先把大纲写了

等了有几天了,公司的邮箱收到一份验证邮件,复制链接到浏览器验证一下。

b20435b3e5104948

昨天凌晨收到邮件,拿到权限了!嘿嘿~

469689ae5f101253

齐活了,可以开始接下来的配置。

配置Azure OpenAI

打开这个页面:https://portal.azure.com/?quickstart=true#create/Microsoft.CognitiveServicesOpenAI

4429749244114133

选完订阅、资源组,再选择好区域、名称、定价层,直接下一步就好了。

a06b50c4be114420

点击创建后,需要等待状态由 Creating 变为 Succeeded,这样就算部署完成了。

4c87a69237115216

然后点击这个资源,配置所需的资源版本,目前是GPT-3.5,如下图所示:

f4dcdf7c70123823

Azure OpenAI 目前所使用的版本只有GPT-3.5,如果需要GPT-4,只能去申请ChatGPT,直接开Plus订阅就有了。不过GPT-3.5已经足够使用啦。

创建完模型部署之后,就可以用了。

这时可以直接去ChatGPT PlayGround愉快玩耍了,你可以问它一些问题,就像OpenAI ChatGPT那样。

1c09916f5b123934

f22e1af25a120007

在打开的页面中,可以看到有一些优化选项:

8297630edb120355

开始调戏一下吧:

d741da62fb120823

申请OpenAI API

我们最终是需要申请得到API的使用权限的,所以回到刚刚的资源页面概览面板

da25b32feb121404

在概览面板,那个“终结点”(英文:endpoint)要记起来,后续对接需要用。或者直接在下面选开发tab,也可以看到关于api的一些介绍。主要用到就是密钥1,密钥2的用途看官方的介绍,其实就是个备用。功能一样。

对接需要OpenAI API的应用

申请这个OpenAI,其实也是为了方便公司里的同事们能更高效地工作(调戏机器人),在我公司,用的最多的还是网页版的ChatGPT,这个就用常用的chatgpt-web的项目吧,然后也有在飞书群里用的机器人,以及Discord里用于辅助生成Midjourney的prompt的机器人,这些都可以对接Azure OpenAI API。

其他对接还没试过,但是在对接chatgpt-web时遇到问题,搜索之后发现需要额外的代理,这里引用’stulzq’的解决方案,具体请看这里:https://www.cnblogs.com/stulzq/p/17271937.html

这里参考GitHub上的内容,我直接在美国的vps上部署了代理。为自己后续需要使用OpenAI API接口的应用铺路。

以下是 docker compose 脚本:

version: '3'

services:
  azure-openai:
    image: stulzq/azure-openai-proxy
    ports:
      - 8080:8080
    environment:
      AZURE_OPENAI_ENDPOINT: <Auzre OpenAI API Endpoint>
      AZURE_OPENAI_MODEL_MAPPER: <Auzre OpenAI API Deployment Mapper>
      AZURE_OPENAI_API_VER: 2023-03-15-preview

启动有 2 个环境变量需要配置:

变量名 说明
AZURE_OPENAI_ENDPOINT Azure 密钥和终结点 里提供的终结点
AZURE_OPENAI_MODEL_MAPPER Azure 部署模型名称映射到 OpenAI 官方模型名称

特别说明一下 AZURE_OPENAI_MODEL_MAPPER使用 OpenAI 官方标准发起的请求里包含的模型名称是固定的,在这里可以查询,而在 Azure OpenAI 模型部署时是可以自定义名称的,请求 Azure yes需要提供这个部署模型的名称,所以建立了一个映射关系。

比如我在 Azure 部署了一个 gpt-3.5-turbo模型,我设置的部署名称为:xc-gpt-35,此时我的设置:

AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=xc-gpt-35

46b2bdd28e125215

最后执行启动就好:

docker compose up -d

后续在需要调用api的地方,就把你服务器的endpoint地址填进去就好了

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 共8条
头像
说说你的看法!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像牦牛0
      • 晨曦的头像 - EVLIT钻石会员晨曦徽章-资深玩家 - EVLIT等级-LV6 - EVLIT作者0
    • 头像Hover0
      • 头像qiling0
        • 晨曦的头像 - EVLIT钻石会员晨曦徽章-资深玩家 - EVLIT等级-LV6 - EVLIT作者0
      • 头像tiansheng0