azure-openai-proxy  by stulzq

Azure OpenAI proxy for OpenAI API conversion

created 2 years ago
1,350 stars

Top 30.4% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a proxy service to bridge the OpenAI API with Azure OpenAI Service, enabling seamless integration of Azure's offerings into the existing OpenAI ecosystem. It's designed for developers and users who want to leverage Azure OpenAI models (including GPT-4 and Embeddings) with tools and applications built for the standard OpenAI API, such as Langchain and various ChatGPT frontends, at zero cost.

How It Works

The proxy intercepts requests intended for the OpenAI API and transforms them into the format required by Azure OpenAI Service. It handles model name mapping, endpoint conversion, and API key authentication, abstracting away the differences between the two services. This approach allows applications to communicate with Azure OpenAI as if they were interacting with the standard OpenAI API, simplifying migration and adoption.

Quick Start & Requirements

  • Install/Run: Docker is the primary method.
    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
    
  • Prerequisites: Azure OpenAI API key and endpoint.
  • Configuration: Environment variables (AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_API_VER, AZURE_OPENAI_MODEL_MAPPER) or a config.yaml file.
  • Docs: Azure OpenAI Service Proxy

Highlighted Details

  • Supports GPT-4, Embeddings, and Langchain integration.
  • Verified compatibility with popular projects like chatgpt-web, chatbox, and ChatGPT-Next-Web.
  • Allows per-model endpoint and API key configuration via a config.yaml file.
  • Supports HTTP/SOCKS5 proxy for network requests.

Maintenance & Community

  • The project appears actively maintained by a single primary contributor (stulzq).
  • No explicit community channels (Discord/Slack) or roadmap are linked in the README.

Licensing & Compatibility

  • The README does not explicitly state a license. This requires clarification for commercial use or closed-source linking.

Limitations & Caveats

  • The absence of a specified license is a significant caveat for adoption, especially in commercial contexts.
  • The project relies heavily on Docker for deployment.
Health Check
Last commit

1 year ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.