Englisch | 中文
Azure Openai Proxy ist ein Proxy für die Azure OpenAI -API, die eine OpenAI -Anfrage in eine Azure OpenAI -Anfrage umwandeln kann. Es ist so konzipiert, dass es als Backend für verschiedene Open -Source -Chatgpt -Webprojekte verwendet wird. Es unterstützt auch, dass es als einfache OpenAI -API -Proxy verwendet wird, um das Problem der Einschränkung der OpenAI -API in einigen Regionen zu lösen.
Highlights:
Die neueste Version des Azure OpenAI -Dienstes unterstützt derzeit die folgenden 3 APIs:
| Weg | Status |
|---|---|
| /V1/CHAT/Fertigstellungen | ✅ |
| /v1/Abschlüsse | ✅ |
| /v1/Einbettungen | ✅ |
Andere APIs, die von Azure nicht unterstützt werden, werden in einem Scheinformat zurückgegeben (z. B. von den Browsern eingeleiteten Optionsanfragen). Wenn Sie feststellen, dass Ihr Projekt zusätzliche OpenAI-unterstützte APIs benötigt, können Sie eine PR einreichen.
/v1/models Schnittstelle, das Problem einiger Webprojekte abhängig vom Schnittstellenfehler models behoben hat.options Schnittstelle, behoben das Cross-Domain-Check-Fehler-Problem einiger Webprojekte. Umgebungsvariablen
| Parameter | Beschreibung | Standardwert |
|---|---|---|
| Azure_openai_proxy_address | Service -Höradresse | 0.0.0.0:8080 |
| Azure_openai_proxy_mode | Proxy -Modus kann entweder "azure" oder "openai" sein. | azurblau |
| Azure_openai_endpoint | Azure Openai Endpoint sieht normalerweise wie https: // {benutzerdefinierte} .openai.azure.com aus. Erforderlich. | |
| Azure_openai_apiversion | Azure Openai API -Version. Der Standardwert ist 2023-03-15-Vorwand. | 2023-03-15-Vorsicht |
| Azure_openai_model_mapper | Eine von Kommas getrennte Liste von Modell = Bereitstellungspaaren. Karten Sie Modellnamen zu den Bereitstellungsnamen. Zum Beispiel gpt-3.5-turbo=gpt-35-turbo , gpt-3.5-turbo-0301=gpt-35-turbo-0301 . Wenn es keine Übereinstimmung gibt, passt der Proxy das Modell direkt als Bereitstellungsnamen (in der Tat sind die meisten Azure -Modellnamen mit OpenAI gleich). | gpt-3.5-turbo=gpt-35-turbogpt-3.5-turbo-0301=gpt-35-turbo-0301 |
| Azure_openai_Token | Azure Openai API Token. Wenn diese Umgebungsvariable festgelegt ist, wird das Token im Anforderungsheader ignoriert. | "" " |
Verwenden Sie in der Befehlszeile
curl https://{your-custom-domain}/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer {your azure api key} "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
} 'Wenn Sie über HTTP auf Azure OpenAI-API zugreifen, kann sie direkt als Proxy verwendet werden. Dieses Tool verfügt jedoch nicht über integrierte HTTPS-Unterstützung. Sie benötigen daher einen HTTPS-Proxy wie NGINX, um den Zugriff auf die HTTPS-Version der OpenAI-API zu unterstützen.
Unter der Annahme, dass die von Ihnen konfigurierte Proxy-Domäne https://{your-domain}.com ist, können Sie die folgenden Befehle im Terminal ausführen, um den HTTPS-Proxy zu verwenden:
export https_proxy=https://{your-domain}.com
curl https://api.openai.com/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer {your azure api key} "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
} 'Oder konfigurieren Sie es als HTTP -Proxy in anderen Open -Source -Web -Chatgpt -Projekten:
export HTTPS_PROXY=https://{your-domain}.com
Bereitstellung über Docker
docker pull ishadows/azure-openai-proxy:latest
docker run -d -p 8080:8080 --name=azure-openai-proxy
--env AZURE_OPENAI_ENDPOINT={your azure endpoint}
--env AZURE_OPENAI_MODEL_MAPPER={your custom model mapper ,like: gpt-3.5-turbo=gpt-35-turbo,gpt-3.5-turbo-0301=gpt-35-turbo-0301}
ishadows/azure-openai-proxy:latestBerufung
curl https://localhost:8080/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer {your azure api key} "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
} ' Es gibt eine Reihe von Regeln für die Modellzuordnung, die in AZURE_OPENAI_MODEL_MAPPER vorgestellt wurde, und die Standardkonfiguration erfüllt im Grunde die Zuordnung aller Azure-Modelle. Die Regeln umfassen:
gpt-3.5-turbo > gpt-35-turbogpt-3.5-turbo-0301 > gpt-35-turbo-0301Für benutzerdefinierte fein abgestimmte Modelle kann der Modellname direkt übergeben werden. Für Modelle mit Bereitstellungsnamen, die sich von den Modellnamen unterscheiden, können benutzerdefinierte Zuordnungsbeziehungen definiert werden, wie z. B.:
| Modellname | Einsatzname |
|---|---|
| GPT-3,5-Turbo | GPT-35-Turbo-Upgrade |
| GPT-3,5-Turbo-0301 | GPT-35-TURBO-0301-FINE-TUND |
MIT