Azure OpenAI Proxy简介
Azure OpenAI Proxy是一个开源项目,旨在消除OpenAI和Azure OpenAI之间的差异,充当连接两者的桥梁。它允许OpenAI生态系统以零成本访问Azure OpenAI服务,为开发者提供了极大的便利。
该项目的核心功能是将OpenAI官方API请求转换为Azure OpenAI API请求,支持所有模型,包括备受关注的GPT-4和Embeddings。这意味着开发者可以使用熟悉的OpenAI API格式,同时享受Azure OpenAI服务的优势。
主要特性
- 完全兼容性:支持所有OpenAI模型,包括GPT-4和Embeddings。
- 灵活配置:通过环境变量或配置文件轻松设置。
- 多种部署方式:支持Docker容器化部署,便于集成到现有系统。
- 广泛集成:已验证支持多个流行的AI应用项目,如chatgpt-web、chatbox等。
快速开始
要使用Azure OpenAI Proxy,您需要准备以下信息:
- Azure OpenAI Endpoint:可在Azure门户的"Keys & Endpoint"部分找到。
- Azure OpenAI API版本:默认为"2024-02-01"。
- 模型映射:将OpenAI模型名称映射到Azure OpenAI部署模型名称。
使用Docker部署
docker run -d -p 8080:8080 --name=azure-openai-proxy \
--env AZURE_OPENAI_ENDPOINT=your_azure_endpoint \
--env AZURE_OPENAI_API_VER=your_azure_api_ver \
--env AZURE_OPENAI_MODEL_MAPPER=your_azure_deploy_mapper \
stulzq/azure-openai-proxy:latest
部署完成后,您可以使用curl或其他HTTP客户端测试API:
curl --location --request POST 'localhost:8080/v1/chat/completions' \
-H 'Authorization: Bearer <Azure OpenAI Key>' \
-H 'Content-Type: application/json' \
-d '{
"max_tokens": 1000,
"model": "gpt-3.5-turbo",
"temperature": 0.8,
"top_p": 1,
"presence_penalty": 1,
"messages": [
{
"role": "user",
"content": "Hello"
}
],
"stream": true
}'
与流行AI应用集成
Azure OpenAI Proxy可以轻松集成到多个流行的AI应用中,如ChatGPT-Next-Web和ChatGPT-Web。
ChatGPT-Next-Web集成
使用docker-compose可以快速部署ChatGPT-Next-Web与Azure OpenAI Proxy:
version: '3'
services:
chatgpt-web:
image: yidadaa/chatgpt-next-web
ports:
- 3000:3000
environment:
OPENAI_API_KEY: <Azure OpenAI API Key>
BASE_URL: http://azure-openai:8080
CODE: ""
HIDE_USER_API_KEY: 1
HIDE_BALANCE_QUERY: 1
depends_on:
- azure-openai
links:
- azure-openai
networks:
- chatgpt-ns
azure-openai:
image: stulzq/azure-openai-proxy
ports:
- 8080:8080
environment:
AZURE_OPENAI_ENDPOINT: <Azure OpenAI API Endpoint>
AZURE_OPENAI_MODEL_MAPPER: <Azure OpenAI API Deployment Mapper>
AZURE_OPENAI_API_VER: "2024-02-01"
networks:
- chatgpt-ns
networks:
chatgpt-ns:
driver: bridge
ChatGPT-Web集成
同样,ChatGPT-Web也可以轻松与Azure OpenAI Proxy集成:
高级配置
Azure OpenAI Proxy支持通过配置文件进行更细粒度的控制。您可以为每个模型指定不同的端点和API密钥:
api_base: "/v1"
department_config:
- deployment_name: "xxx"
model_name: "text-davinci-003"
endpoint: "https://xxx-east-us.openai.azure.com/"
api_key: "11111111111"
api_version: "2024-02-01"
- deployment_name: "yyy"
model_name: "gpt-3.5-turbo"
endpoint: "https://yyy.openai.azure.com/"
api_key: "11111111111"
api_version: "2024-02-01"
- deployment_name: "zzzz"
model_name: "text-embedding-ada-002"
endpoint: "https://zzzz.openai.azure.com/"
api_key: "11111111111"
api_version: "2024-02-01"
结语
Azure OpenAI Proxy为开发者提供了一个强大而灵活的工具,使得在OpenAI和Azure OpenAI之间切换变得轻而易举。通过简单的配置和部署,开发者可以充分利用Azure OpenAI的优势,同时保持与现有OpenAI生态系统的兼容性。
无论您是在构建聊天机器人、语言模型应用还是其他AI驱动的解决方案,Azure OpenAI Proxy都能为您提供所需的灵活性和功能。我们鼓励开发者探索这个项目,并将其集成到自己的工作流程中,以充分发挥Azure OpenAI服务的潜力。
🚀 立即开始使用Azure OpenAI Proxy,体验无缝集成Azure OpenAI服务的便利! 如果您对项目有任何问题或建议,欢迎在GitHub仓库提出issue或贡献代码。让我们一起推动AI技术的发展,创造更多可能性! 💡