- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
当今的人工智能技术正在不断发展,越来越多的企业和个人开始探索人工智能在各个领域中的应用。其中,在自然语言处理领域,OpenAI 的 GPT 系列模型成为了研究热点。OpenAI 公司的 ChatGPT 带起了一波 AI 应用的浪潮,一些科技公司都在努力跟进,比如百度的文心一言,Google 的 Bard 以及 Notion AI。就目前体验来说还是 OpenAI ChatGPT 表现最好.
作为 OpenAI 公司的大股东,Microsoft 当然是使用其服务的一等公民,陆续推出了 GitHub Copilot、New Bing、Office 365 Copilot 和 Github Copilot X 等等。目前 Microsoft Azure 是独一家的提供 OpenAI 云服务的云厂商,Azure OpenAI 提供的 API 服务使得构建和部署自己的 ChatGPT 成为了可能.
Azure OpenAI 和 OpenAI 官方提供的服务基本是一致的,但是目前前者还是处于预览版的状态,一些功能还没有完全开放.
注意:需要使用 Azure 国际版, 点此进行申请 。
优点:
缺点:
Azure OpenAI 也已经支持 GPT-4 了,需要单独进行申请,博主的申请还没通过本文暂时以 GPT-3.5 进行演示.
进入 Azure 后,直接搜索 "Azure OpenAI".
选择你已经申请通过的订阅进行创建.
如果该订阅没有启动则不能创建.
在资源管理->模型部署 选择需要的模型进行创建,每个模型只能创建1个部署.
模型创建完成以后,我们可以直接使用 Azure OpenAI Studio 来进行快速的测试.
ChatGPT 测试.
上传自己的数据集.
在 资源管理->密钥和终结点 可以获取 API 地址以及调用密钥.
查看 API 文档 。
使用 POSTMAN 进行调用测试.
打造自己的 ChatGPT 推荐直接使用 https://github.com/Chanzhaoyu/chatgpt-web 这个项目.
前面我们说到 API 调用是有差异的,此项目目前还没用直接支持 Azure OpenAI。我尝试修改过这个项目,可以调用了但是有个问题,无法正常的自动结束对话,跟了代码发现有 Bug:
https://github.com/Chanzhaoyu/chatgpt-web -> https://github.com/transitive-bullshit/chatgpt-api -> https://github.com/rexxars/eventsource-parser 。
最终在 eventsource-parser 这个 package 里,无法适应 Azure OpenAI 返回的结果,做过对比发现 Azure OpenAI 返回的调用最后少了一个换行 \n .
最终我便想了个方法,自己实现一个 Proxy 转换 OpenAI 官方 API 标准到 Azure OpenAI 标准,这样就能让 Azure OpenAI 直接对接到任何支持 OpenAI 的任何项目中,并且可以顺便修复上面所说的差异,让 chatgpt-web 直接使用 Azure OpenAI.
项目地址: https://github.com/stulzq/azure-openai-proxy 希望大家点点 star.
最快的方式当然是使用 Docker,以下是 docker compose 脚本:
version: '3'
services:
chatgpt-web:
image: chenzhaoyu94/chatgpt-web
ports:
- 3002:3002
environment:
OPENAI_API_KEY: <Auzre OpenAI API Key>
OPENAI_API_BASE_URL: http://azure-openai:8080
AUTH_SECRET_KEY: ""
MAX_REQUEST_PER_HOUR: 1000
TIMEOUT_MS: 60000
depends_on:
- azure-openai
links:
- azure-openai
networks:
- chatgpt-ns
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
networks:
- chatgpt-ns
networks:
chatgpt-ns:
driver: bridge
启动有 3 个环境变量需要配置:
变量名 | 说明 |
---|---|
OPENAI_API_KEY | Azure 密钥和终结点 里提供的 Key |
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
Azure OpenAI 平台为开发人员提供了一个强大的工具,可以轻松地创建和训练 ChatGPT 模型。随着 ChatGPT 技术的不断发展,它将在越来越多的应用场景中发挥重要作用,为人们提供更加智能和个性化的服务和体验.
最后此篇关于使用AzureOpenAI打造自己的ChatGPT的文章就讲到这里了,如果你想了解更多关于使用AzureOpenAI打造自己的ChatGPT的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想在已部署在虚拟机中的代理中创建 IoT 实体。目前我已经通过curls进行了交流并且它工作正常。 咨询“curl”: (curl http://192.168.56.103:8080/ngsi10
我是一名优秀的程序员,十分优秀!