AI Personal Learning
und praktische Anleitung
讯飞绘镜

UniAPI: Vereinheitlichte serverbasierte Verwaltung der Weiterleitung großer Modell-APIs

Allgemeine Einführung

UniAPI ist ein mit dem OpenAI-Protokoll kompatibler API-Forwarder, dessen Kernfunktion darin besteht, die APIs mehrerer großer Modelldienstleister wie OpenAI, Azure OpenAI, Claude usw. über ein einheitliches OpenAI-Format zu verwalten. UniAPI unterstützt Modelloptimierung, Circuit-Breaker-Mechanismus und Streaming-Output-Optimierung, um effiziente und stabile Anfragen zu gewährleisten. Es bietet Vercel Ein-Klick-Bereitstellung, geeignet für den schnellen Aufbau von persönlichen oder Team-API-Service-Station. Das Projekt wird vom GitHub-Benutzer zhangtyzzz entwickelt und wird immer noch aktualisiert.

UniAPI:免服务器统一管理大模型API转发-1


 

Funktionsliste

  • Unterstützung für OpenAI und OpenAI-Protokoll-kompatible Dienste, einschließlich Azure OpenAI, Claude und andere.
  • Vereinheitlichung der APIs verschiedener Anbieter im OpenAI-Format, um den Aufruf zu vereinfachen.
  • Unterstützt das Modell-Mapping, d.h. den Aufruf aktueller Modelle von verschiedenen Anbietern mit einem einheitlichen Modellnamen.
  • Bereitstellung eines Modellauswahlmechanismus auf der Grundlage der 72-Stunden-Erfolgsquote und der Anzahl der ersten Token Reaktionszeit für die Auswahl des besten Dienstes.
  • Eingebauter Schutzschalter-Mechanismus, Service kontinuierlichen Ausfall automatisch die Anforderung zum Schutz der Systemstabilität zu unterbrechen.
  • Optimieren Sie die Streaming-Ausgabe, indem Sie große Teile der Antwort in kleinere Teile aufteilen, um die visuelle Wirkung zu verbessern.
  • Unterstützt benutzerdefinierte API-Schlüssel, Basis-URLs und Modelllisten für eine flexible Konfiguration.
  • Es wird über Vercel bereitgestellt und bietet eine Verwaltungsoberfläche und eine sichere Authentifizierung.

 

Hilfe verwenden

Die Nutzung der UniAPI gliedert sich in zwei Teile: Installation und Konfiguration. Im Folgenden wird detailliert beschrieben, wie die Installation, die Konfiguration und der Betrieb erfolgen, damit Sie schnell loslegen können.

Einbauverfahren

UniAPI unterstützt zwei Bereitstellungsmethoden: lokale Laufzeit und Vercel-Ein-Klick-Bereitstellung. Hier nehmen wir die Vercel-Bereitstellung als die Hauptmethode, die für die meisten Benutzer geeignet ist.

Vercel-Ein-Klick-Bereitstellung

  1. Zugang zu Bereitstellungslinks
    Klicken Sie auf das offizielle Vercel Einsatzadresse
  2. Umgebungsvariablen konfigurieren
    Füllen Sie die folgenden Variablen auf der Vercel Deployment-Seite aus:

    • ADMIN_API_KEY: Administrator-Schlüssel für die Anmeldung am Admin-Panel, muss gesetzt werden, z.B. mysecretkey.
    • TEMP_API_KEYDer Schlüssel, der den Zugang zur API ermöglicht, kann auf bis zu 2 festgelegt werden, z. B. key1 im Gesang antworten key2.
    • REDIS_URLRedis-Verbindungsadresse für die Konfiguration des persistenten Speichers (optional).
    • ENVIRONMENT: Eingestellt auf production um den Standardschlüssel für den Entwicklungsmodus zu deaktivieren.
      Wenn die Konfiguration abgeschlossen ist, klicken Sie auf "Bereitstellen".
  3. Abrufen der Einsatzadresse
    Nach einer erfolgreichen Bereitstellung generiert Vercel eine URL wie https://your-vercel-url.vercel.app. Verwenden Sie ADMIN_API_KEY Melden Sie sich im Verwaltungsbereich an.

Lokaler Betrieb (optional)

  1. Vorbereiten der Umgebung
    Stellen Sie sicher, dass Python 3.8 oder höher auf Ihrem Gerät installiert ist. Prüfen Sie die Version:
python --version
  1. Datei herunterladen
    Besuchen Sie https://github.com/zhangtyzzz/uni-api/releases, um die neuesten Binärdateien herunterzuladen, zum Beispiel uni-api-linux-x86_64-0.0.99.pex.
  2. laufendes Programm
    Wird am Terminal ausgeführt:
chmod +x uni-api-linux-x86_64-0.0.99.pex
./uni-api-linux-x86_64-0.0.99.pex

Standard-Hörer http://localhost:8000.

Konfigurieren der API

  1. Login-Verwaltungsbereich (Vercel-Bereitstellung)
    Öffnen Sie die bereitgestellte URL und geben Sie ADMIN_API_KEY Melden Sie sich an. Der Bildschirm zeigt Konfiguration hinzufügen und Konfigurationsliste an.
  2. Hinzufügen der API-Konfiguration
    Klicken Sie auf "Konfiguration hinzufügen" und geben Sie die folgenden Informationen ein:
  • DienstanbieterWählen Sie aus OpenAI, Claude, etc.
  • Basis-URLAPI-Adresse: Geben Sie die API-Adresse des Dienstanbieters ein, z. B. https://api.openai.com/v1.
  • API-SchlüsselGeben Sie den vom Dienstanbieter erhaltenen Schlüssel ein, z. B. sk-xxxx.
  • Name des Modells: Geben Sie den aktuellen Modellnamen oder den Zuordnungsnamen ein, z. B. gpt-3.5-turbo.
    Nach dem Speichern wird die Konfiguration in der Liste angezeigt.
  1. Modellabbildung
    Fügen Sie der Konfiguration eine Zuordnung hinzu, zum Beispiel:
  • gemeinsamer Name gpt-4 Abbildung auf OpenAIs gpt-4 im Gesang antworten Claude (in Form eines Nominalausdrucks) claude-2.
    Der Antrag wird gestellt mit gpt-4Das System wählt automatisch die verfügbaren Dienste aus.

Verwendung der Hauptfunktionen

  1. Anfrage senden
    Testen Sie die API mit curl:
curl -X POST https://your-vercel-url.vercel.app/v1/chat/completions 
-H "Authorization: Bearer your_api_key" 
-H "Content-Type: application/json" 
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好"}], "stream": true}'

Gibt eine Streaming-Ausgabe zurück, die die erfolgreiche Konfiguration anzeigt.

  1. Modellauswahl
    Das System wählt automatisch den besten Dienstanbieter auf der Grundlage der Erfolgsquote und der Reaktionszeit des ersten Tokens in den letzten 72 Stunden aus. Sie brauchen nicht manuell einzugreifen.
  2. Unterbrecher-Mechanismus
    Ein Stromkreisunterbrecher wird ausgelöst, wenn ein Dienst dauerhaft ausfällt:
  • 3 Fehlschläge: 5 Minuten Pause.
  • 4 Fehlversuche: 10 Minuten Suspendierung.
  • 9 Verstöße: 48 Stunden Suspendierung.
    Während der Unterbrechung wechselt das System zu einem anderen Dienstanbieter.
  1. Streaming-Optimierung
    in Bezug auf Zwillinge Modelle mit großen Teilen der Antwort, wie UniAPI, werden automatisch in kleinere Teile der Ausgabe aufgeteilt.

Häufig gestellte Fragen

  • Anfrage fehlgeschlagen 401: Inspektion Authorization Enthält die Kopfzeile die korrekte Bearer your_api_key.
  • Modell nicht verfügbarVergewissern Sie sich, dass der konfigurierte Modellname mit dem vom Dienstanbieter angegebenen übereinstimmt, oder überprüfen Sie die Zuordnungseinstellungen.
  • Unerreichbar nach der BereitstellungBestätigung ENVIRONMENT einrichten als productionDie Vercel-Protokolle sind für den Benutzer nicht verfügbar und werden überprüft.

Mit diesen Schritten können Sie UniAPI einfach bereitstellen und verwenden. UniAPI ist einfach zu konfigurieren, leistungsstark und ideal für Szenarien, in denen Sie APIs mehrerer Anbieter verwalten müssen.

 

Anwendungsszenario

  1. Testen von Multi-Vendor-Modellen durch Entwickler
    Sie möchten die Ausgabe von OpenAI und Claude vergleichen. Mit uniAPI können Sie Zeit sparen, indem Sie beide mit einer einzigen Schnittstelle aufrufen.
  2. Teams bauen stabile API-Dienste auf
    Das Team benötigte eine zuverlässige API-Station, um das Geschäft zu unterstützen. uniAPIs Leistungsschalter und Meritokratie sorgten für einen ununterbrochenen Service.
  3. Bildung und Forschung
    Studenten können UniAPI verwenden, um die Reaktionsfähigkeit und Stabilität verschiedener Modelle zu untersuchen, die für akademische Experimente geeignet sind.

 

QA

  1. Welche Dienstanbieter unterstützt UniAPI?
    Unterstützung für OpenAI, Azure OpenAI, Claude und andere OpenAI-Protokoll-kompatible Dienste, siehe GitHub für Updates.
  2. Was passiert, wenn der Schutzschalter auslöst?
    Das System wechselt automatisch zu anderen Dienstanbietern und versucht es nach einer Abkühlungsphase erneut. Eine manuelle Bedienung ist nicht erforderlich.
  3. Was sind die Vorteile der Streaming-Ausgabe?
    Es teilt große Teile der Antwort in kleinere Teile auf und sorgt so für eine reibungslosere Benutzererfahrung, insbesondere bei Echtzeit-Chat-Szenarien.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " UniAPI: Vereinheitlichte serverbasierte Verwaltung der Weiterleitung großer Modell-APIs
de_DEDeutsch