❝本文转自 ShīnChvën 的博客,原文:https://atlassc.net/2023/04/25/azure-openai-service,版权归原作者所有。欢迎投稿,投稿请添加微信好友:cloud-native-yang
Microsoft 的 Azure[1]上已经推出 Azure OpenAI Service[2] 试用,在申请[3]到测试资格以后便可以部署私有的 OpenAI GPT-3.5 模型 API。同时还可以申请 GPT-4 模型[4]的试用资格。
私有部署的好处显而易见,它稳定可靠速度快,最重要的是再也不用担心被 OpenAI 无厘头的风控政策反复折磨了。
Azure OpenAI Service 是 Azure Cognitive Services 的一部分,所以需要先注册 Azure 账号。目前只在 Azure 国际版上提供,所以请到 Azure 国际版[5]上注册账号。
注册时可以选择中国
地区,这样你可以直接输入+86
的手机号进行验证。注册中国地区的账号也可以申请 Azure OpenAI Service。
如果你选择了其他的国家 / 地区
,但你仍然想使用+86
的手机号进行验证,你可以先输入一个你选择的地区的手机号,然后在电话
下面勾选请使用其他电话号码来码证你的身份
,此时会展开一个新的电话号码输入框并让你手动选择手机号的国家 / 地区代码
,选择中国
,然后输入+86
的手机号即可进行验证。
一旦注册,当前账号的国家 / 地区
将无法更改。
账单地址应该与你选国家 / 地区
保持一致,否则会提示注册失败。
Azure OpenAI Service[6]目前需要以企业的身份来申请试用。如果你的 Azure 账号已经注册好了,可以点击这里[7]来申请。
Azure OpenAI Service 接受来自中国的企业申请,请依照表单如实填写
信息,其中最重要的是:
Your Company Email Address:请填写你在你公司的企业邮箱地址。
Your Company Name:请填写你所在公司的名称。
Azure Subscription ID:请根据表单内的提示来获取你的 Azure Subscription ID
,千万不要填错成 Tenant ID
了,否则无法通过或者看不到订价层。
Company Website:请填写你所在公司的网站的网址。网址里最好能展示一个与你企业邮箱地址同一个域名的邮箱地址。
你的企业邮箱的域名、公司网站的域名需要保持一致,域名的主体需要与公司的名称保持一致,否则会在审核时被拒绝。
如果你填写的资料存在明显的问题,Azure 甚至不会给你任何回复。
如果你填写的资料还需要进一步的证明材料,Azure 会给你发送邮件要求提供。
运气好的话,一般两天能通过审核,如果超过两周没有收到审核结果,请尝试重新提交申请。
恭喜你已经申请到了 Azure OpenAI Service 的试用资格,接下来就是部署 Azure OpenAI Service 了。
Azure services登录到 Azure 以后,你会在首页的 Azure services
里面看到 Azure OpenAI
的图标,点击进入来创建部署 OpenAI Service 资源。
在创建 Azure OpenAI
的页面,订阅
-资源组
一栏如果没有,新建一个即可。
在名称
一栏根据要求输入一个简短好记的资源名,未来需要通过它来访问你的私有 OpenAI API。
定价层
选择默认选项。
标记
一页,如果你不需要通过 tags 来管理自己的资源,可暂时不填。
在审阅+提交
之后,即可进入部署阶段,部署资源需要几分钟时间,请耐心等待,待部署成功之后便可开始使用。
部署 Azure OpenAI Service
资源成功后,还要为服务资源部署模型
才可以使用。
请进到资源详情页面左边栏的模型部署
中,点击创建
按钮来部署模型。
输入模型部署名称
,此名称在后面使用 Cloudflare Worker
转换映射 API 时要用到。
选择模型,建议使用 gpt-35-turbo (version 0301)
,该模型与 ChatGPT 3.5
一致。
点击保存
以后即可完成部署。
在模型部署完以后,就可以转到 Azure OpenAI Studio
中进行试用。
这里和 OpenAI
的功能比较类似:
Completions playground:可调用模型根据已输入的文本生成补全文本,与 GitHub Copilot
和 Bing Chat
的输入框自动补完功能类似。
Chat playground(Preview):一个类似 ChatGPT 的聊天式 AI 助手应用。
在两个 playground 中,你都可以点击 View code
来查看当前操作的示例代码,供你学习怎样开发自己的 GPT 应用。
我们部署 Azure OpenAI Service
资源的主要目的还是为了在客户端中使用,所以接下来我们要将 Azure OpenAI API
配置到流行的 OpenAI 客户端中。
现有的 OpenAI 客户端都是基于 OpenAI API
来实现的,而 Azure OpenAI Service
的 API 与 OpenAI API
并不兼容,如果你直接配置到 OpenAI
的客户端中可能会收到 Resource Not Found
的错误。
所幸,我们可以使用cf-openai-azure-proxy[8]这个项目,通过 CloudFlare Worker
来转换映射 Azure OpenAI API
。
部署 Worker 时,可按下面的代码对 Worker 进行配置:
// 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 deployName = mapper[modelName] || '模型部署名称' // 设置默认使用已部署的模型,而不是空。
CloudFlare Worker
部署完成之后,我们就可以去配置客户端了。
Azure OpenAI Service
的 API KEY
就在资源详情页面
的密钥与终结点
中,点击显示密钥
即可查看。
此时的终结点
,即为 Azure OpenAI API
的 API URL
,应该已经配置到上一步的 CloudFlare Worker
中了,不需要直接使用。
以openai translator[9]为例:
请在设置中选择 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[10]的配置就更简单了:
在 OpenAI API Key
中填写 Azure OpenAI Service
的密钥
。
展开 Proxy
,在 API Host
中填写 CloudFlare Worker
的 URL。
展开 Model & Token
,在 Model
中选择你已部署的 Model,例如 gpt-35-turbo-0301
。
请确保你在注册好 Azure 账号以后,单独申请了 Azure OpenAI Service 的试用,否则你将无法创建 Azure OpenAI Service 资源。
申请通过会有邮件回复。
如果申请通过了,而仍然看不到定价层选项,那就得联系 Azure Cognitive 客服了。
刚收到网友反馈是 Subscription ID
填错了,请一定根据表单内的指引去获取 Subscription ID
而不是 Tenant ID
。
使用 subscription 相关的 Azure 账号登录,企业邮箱仅用于验证企业身份。
再读一读邮件,是不是告诉你被加入到 GPT-4 的 waitlist
了?而不是通过了申请。
GPT-4 模型连 waitlist 都要申请和审核,审核通过了才进 waitlist
。微软真有你的。
[1]
Azure: https://azure.microsoft.com/
[2]Azure OpenAI Service: https://azure.microsoft.com/en-us/products/cognitive-services/openai-service
[3]申请: https://go.microsoft.com/fwlink/?linkid=2222006&clcid=0x409&culture=en-us&country=us
[4]申请 GPT-4 模型: https://azure.microsoft.com/en-us/blog/introducing-gpt4-in-azure-openai-service/
[5]Azure 国际版: https://azure.microsoft.com/
[6]Azure OpenAI Service: https://azure.microsoft.com/en-us/products/cognitive-services/openai-service
[7]这里: https://go.microsoft.com/fwlink/?linkid=2222006&clcid=0x409&culture=en-us&country=us
[8]cf-openai-azure-proxy: https://github.com/haibbo/cf-openai-azure-proxy
[9]openai translator: https://github.com/yetone/openai-translator
[10]ChatBox: https://github.com/Bin-Huang/chatbox
Laf 是一款为所有开发者打造的集函数、数据库、存储为一体的云开发平台,助你像写博客一样写代码,随时随地发布上线应用!3 分钟上线 ChatGPT 应用!
Laf 的适用场景非常广泛,大到企业官网和信息化建设,小到个人博客、微信小程序,理论上可以开发任何应用!未来 AI 应用一定会爆炸式增长,很多传统的方式都将会被彻底颠覆,在这个浪潮中兵贵神速,Laf 的快速发布上线能力恰好可以快速开发各种 AI 应用,让 AI 能力快速落地,帮助 AI 浪潮下的企业在竞争中快速胜出。Laf 提供了开箱即用的云函数,云数据库,对象存储等能力,请求更快、开发更简单、性价比更高,而且完全开源,支持私有化部署。我们致力于为所有开发者提供敏捷高效的服务。
GitHub:https://github.com/labring/laf
官网(国内):https://laf.run
官网(海外):https://laf.dev
开发者论坛:https://forum.laf.run
关注 Laf 公众号与我们一同成长