前言:
Microsoft Azure 是除了 OpenAI 官方以外,唯一家的提供 OpenAI 云服务的云厂商,Azure OpenAI 提供的 API 服务使我们可以很方便部署自己的 群晖NAS里 。
Azure OpenAI API的优点:
- 不受地域限制,可以直接调用。
- 可以自己上传训练数据进行训练(据说很贵)。
- Azure 多语言 SDK 支持。
- 更适合企业私有化,数据可完全控制删除。
- 支持GPT 4,需额外申请。
缺点:
- 部分功能未开放,但 ChatGPT 的功能是没问题的。
- 和 OpenAI 官方的 API 标准有差异,无法直接用一些只支持 OpenAI 官方API 的开源项目。
Azure OpenAI API 申请链接,申请不难请小伙伴自行研究。
正文
1、言归正传,我们需使用2个docker容器来实现,一个是chatgpt-web容器,github地址是:https://github.com/Chanzhaoyu/chatgpt-web。之前我有专门写过一篇文章,介绍如何安装配置,这里就不再赘述了。点击查看《小白用AI-用群晖docker搭建一个专用AI助手》
2、但chatgpt-web免费版不直接支持Azure OpenAI Key,所以我们需要使用azure-openai-proxy来做转换。github地址:https://github.com/stulzq/azure-openai-proxy
安装:
- 打开群晖daocker管理器,在注册表搜索“azure-openai”,下载stulzq/azure-openai-proxy的镜像
- 安装azure-openai-proxy,点击高级设置,其他按照默认即可,重点是环境变量里这几个参数改成你自己的。
参数获取:打开部署好的azure官方的测试演示地址,点击“View Code”,在弹出窗口就可以看要用的参数(红色划线部分),然后再把下面的key复制保存到电脑上。
需要注意的是,Azure OpenAI 部署的模型名称是自定义的,所以需要做模型名称映射。
例子:
AZURE_OPENAI_MODEL_MAPPER: (OpenAI 模型名称)gpt-3.5-turbo=gpt-35-turbo(Azure OpenAI 部署模型名称)
- 设置无误后启动容器,然后打开chatgpt-web容器,如之前已经启动使用,需先停止容器-编辑。点击“环境”,把“OPENAI_API_KEY”的值改成之前我们保存的那个azure-openai KEY。注意,如果您使用的GPT4引擎,需要在环境里添加一个“OPENAI_API_MODEL = gpt-4”参数。如果是3.5的则不用修改。
最后检查参数无误就可以启动2个容器,用浏览器打开页面测试了。
总结:我们为什么要用azure-openai-proxy来做代理转换?因为这样可以让原先大多数应用经过简单修改就可以接入使用Azure OpenAI 。而不用重新搭建Azure OpenAI 专用的。