admin 管理员组

文章数量: 887021

Azure OpenAI 详细申请与使用教程,打造个人专属 ChatGPT 方案

原创 TitiAI TitiAI 2023-05-08 13:26 发表于湖北

前言

大家都知道,OpenAI ChatGPT是不能在中国使用的,香港也一样。最近一个月,很多人反映API调用限制,账号被封禁,注册也关闭了,还不能用国内信用卡支付,用起来越来越麻烦了。不过,Azure OpenAI可以作为一个新的选择。

介绍

Azure OpenAI和OpenAI公司提供的API服务是一样的(微软是OpenAI公司的大股东)。我们使用的chat.openai背后的支持也是由Azure提供的,包括训练和推理等等。Github Copilot等微软提供的OpenAI服务也是建立在Azure OpenAI的基础上的。Azure OpenAI官网:https://azure.microsoft/zh-cn/products/cognitive-services/openai-service/

优点:

  • 不受地域限制,国内可以直接调用。

  • 可以自己上传训练数据进行训练(据说很贵)。

  • Azure 多语言 SDK 支持。

  • 更适合企业私有化,数据可完全控制删除。

缺点:

  • 部分功能未开放,但 ChatGPT 的功能是没问题的。

  • 和 OpenAI 官方的 API 标准有差异,无法直接用一些只支持 OpenAI 官方 API 的开源项目。

    注册微软Azure用户

在注册Azure之前,我们建议先注册微软的邮箱,这样你就可以全球收发邮件而且有防垃圾邮件的系统,非常实用。

我们直接访问微软Azure平台进行申请,但请注意,中国区Azure是由“世纪互联”运营的,如果你填写资料时选择的国家是中国,就是由国内提供服务的。中国区Azure和国际版Azure在政策和使用方面存在一些差异,但如果你只是为了体验Azure OpenAI的API,那么就没有区别,申请下来的接口都可以使用。

申请成功后,你会发现有一些服务可以免费使用12个月,以及一定数额的赠金。如果你已经有Azure账号了,就不必再申请账号,可以直接跳到下一步,申请API接口。

申请OpenAI API接口权限

在Azure登录后,搜索关键词“OpenAI”

进入Azure OpenAI页面,在底部点击“创建Azure OpenAI”

在此页面中,选择你的订阅(通常为免费试用订阅),然后创建一个名为“OpenAI”的资源组,当然你也可以命名为其它名字

接着,点击红框位置申请,填写一个多达25道题的问卷,需要提供准确的订阅ID和公司信息。订阅ID不是目录ID(租户ID),在顶部搜索”订阅“,在打开的页面把订阅ID复制到问卷,具体请参考下图

请注意,OpenAI只面向企业服务,因此需要填写公司信息和公司邮箱,而非私人邮箱。

申请完成后,等待审核,通常需要2-10天不等。审核通过后,你会收到一封验证邮件,复制链接到浏览器进行验证。通过验证后,你就获得了API接口权限,可以开始进行下一步配置。

配置Azure OpenAI

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

进入 Azure 后,直接搜索OpenAI

若是已经通过,这里即可选择订阅,否则会在下方提示让你申请

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

部署完成之后,点击Azure OpenAI Studio即可进行测试

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

申请OpenAI API并调用

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

在Azure的概览面板上,需要记住API的“终结点”(endpoint),以便后续对接使用。另外,可以在下方的“开发”标签页中查看关于API的介绍。主要使用密钥1,密钥2,这些密钥的作用可以参考官方介绍,它们实际上是备用密钥,功能相同。

查看API文档:https://learn.microsoft/en-us/azure/cognitive-services/openai/chatgpt-quickstart?WT.mc_id=DT-MVP-5003133&tabs=command-line&pivots=programming-language-studio

使用 POSTMAN 进行调用测试。

打造自己的ChatGPT

打造自己的 ChatGPT 推荐直接使用 https://github/Chanzhaoyu/chatgpt-web 这个项目。在此基础上优化修复方案:https://github/stulzq/azure-openai-proxy

以下是 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_ENDPOINTAzure 密钥和终结点 里提供的终结点
AZURE_OPENAI_MODEL_MAPPERAzure部署模型名称映射到OpenAI官方模型名称

需要特别说明的是,AZURE_OPENAI_MODEL_MAPPER用于将OpenAI官方标准请求中包含的模型名称映射到Azure OpenAI模型部署时自定义的名称。在这里https://platform.openai/docs/models可以查询OpenAI官方标准请求中包含的模型名称,但在Azure OpenAI模型部署时,可以自定义模型名称。因此,在请求Azure时,需要提供已部署模型的名称,并建立映射关系。

最后执行启动就好:

docker compose up -d

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

结语

Azure OpenAI 平台为开发人员提供了一个强大的工具,可以轻松地创建和训练 ChatGPT 模型。ChatGPT 技术的不断发展,使得它在越来越多的应用场景中发挥着重要作用,为人们提供更加智能和个性化的服务和体验。开发人员可以利用 ChatGPT 技术构建智能客服、智能问答、智能推荐等应用,提高用户体验和满意度。同时,Azure OpenAI 平台还提供了其他强大的 API,如 DALL-E、CLIP、Codex 等,可以满足不同应用场景的需求,为开发人员提供更多的选择和灵活性。

TitiAI

本文标签: 方案 教程 详细 Azure OpenAI