English | 简体中文
Azure OpenAI Proxy 是一个 OpenAI API 的代理工具,能将 OpenAI API 请求转为 Azure OpenAI API 请求,从而让只支持 OpenAI 的应用程序无缝使用 Azure OpenAI。
你需要有一个 Azure OpenAI 账户才能使用 Azure OpenAI Proxy。
请注意:
- 选择与你的 Azure OpenAI 资源相匹配的区域以获得最佳性能。
- 如果部署失败是因为 'proxywebapp' 名称已被占用,只需修改资源前缀再重新部署。
- 已部署的代理应用位于 B1 定价层级的 Azure 网页应用计划下,你可以在部署后在 Azure 门户中进行更新。
要使用Docker进行部署,请执行以下命令:
docker run -d -p 3000:3000 scalaone/azure-openai-proxy
遵循以下步骤:
- 安装 NodeJS 20。
- 克隆代码到命令行窗口。
- 运行
npm install
安装依赖项。 - 运行
npm start
启动应用程序。 - 运行下面脚本测试,运行前需要把
AZURE_RESOURCE_ID
,AZURE_MODEL_DEPLOYMENT
,AZURE_API_KEY
和AZURE_API_VERSION
替换,AZURE_API_VERSION
参数可选,默认是2024-02-01
。
测试脚本
```bash curl -X "POST" "http://localhost:3000/v1/chat/completions" \ -H 'Authorization: AZURE_RESOURCE_ID:AZURE_MODEL_DEPLOYMENT:AZURE_API_KEY:AZURE_API_VERSION' \ -H 'Content-Type: application/json; charset=utf-8' \ -d $'{ "messages": [ { "role": "system", "content": "You are an AI assistant that helps people find information." }, { "role": "user", "content": "hi." } ], "temperature": 1, "model": "gpt-3.5-turbo", "stream": false }' ```以下应用已经过测试,确认可以与 azure-openai-proxy 一起工作:
应用名称 | E2E测试 Docker-compose 文件 |
---|---|
chatgpt-lite | docker-compose.yml |
chatgpt-minimal | docker-compose.yml |
chatgpt-next-web | docker-compose.yml |
chatbot-ui | docker-compose.yml |
chatgpt-web | docker-compose.yml |
要在本地运行测试,请按照以下步骤操作:
- 在命令行窗口中克隆代码。
- 更新环境变量
OPENAI_API_KEY
的值为AZURE_RESOURCE_ID:AZURE_MODEL_DEPLOYMENT:AZURE_API_KEY
。或者,直接在docker-compose.yml
文件中更新OPENAI_API_KEY
值。 - 导航到包含要测试的应用程序的
docker-compose.yml
文件所在的目录。 - 执行构建命令:
docker-compose build
。 - 启动服务:
docker-compose up -d
。 - 根据
docker-compose.yml
文件中定义的公开端口,启动应用以在本地进行测试。例如,访问 http://localhost:3000。
Q:什么是`AZURE_RESOURCE_ID`,`AZURE_MODEL_DEPLOYMENT`,`AZURE_API_KEY`
A: 可以在Azure的管理门户里查找,具体见下图标注 ![resource-and-model](./docs/images/resource-and-model.jpg)Q: 如何使用gpt-4 and gpt-4-32k模型
A: 要使用gpt-4 and gpt-4-32k模型,请使用下列格式的key: `AZURE_RESOURCE_ID:gpt-3.5-turbo|AZURE_MODEL_DEPLOYMENT,gpt-4|AZURE_MODEL_DEPLOYMENT,gpt-4-32k|AZURE_MODEL_DEPLOYMENT:AZURE_API_KEY:AZURE_API_VERSION`欢迎提交各种 PR。