Allgemeine Einführung
LiteLLM ist ein Python-SDK und Proxy-Server, der von BerriAI entwickelt wurde, um den Aufruf und die Verwaltung mehrerer Large Language Model (LLM) APIs zu vereinfachen und zu vereinheitlichen. Es unterstützt mehr als 100 Large-Model-APIs, darunter OpenAI, HuggingFace, Azure usw., und vereinheitlicht sie im OpenAI-Format, was es Entwicklern erleichtert, zwischen verschiedenen KI-Diensten zu wechseln und sie zu verwalten. LiteLLM ermöglicht es Benutzern, mehr als 100 LLM-APIs im OpenAI-Format über einen Proxy-Server und ein Python-SDK aufzurufen, was die Entwicklungseffizienz und -flexibilität erheblich verbessert.
Funktionsliste
- Unterstützung mehrerer PlattformenUnterstützt mehrere LLM-Anbieter wie OpenAI, Cohere, Anthropic und andere. Unterstützt mehr als 100 große Modell-API-Aufrufe.
- stabile VersionBietet stabile Docker-Images, die 12 Stunden lang unter Last getestet wurden. Unterstützt die Festlegung von Budget- und Anforderungshäufigkeitsgrenzen.
- ProxyserverEinheitlicher Aufruf mehrerer LLM-APIs über einen Proxy-Server, einheitliche Konvertierung des API-Formats in das OpenAI-Format.
- Python-SDKEin Python-SDK wird bereitgestellt, um den Entwicklungsprozess zu vereinfachen.
- Streaming-AntwortUnterstützung für das Streaming von Rückgabemodellantworten zur Verbesserung der Benutzerfreundlichkeit.
- RückruffunktionUnterstützt mehrere Rückrufe zur einfachen Protokollierung und Überwachung.
Hilfe verwenden
Installation und Einrichtung
- Installation von DockerDocker: Stellen Sie sicher, dass Docker auf Ihrem System installiert ist.
- Spiegel abziehen: Verwendung
Docker ziehen
wird ein stabiles Image von LiteLLM erstellt. - Starten des Proxyservers::
cd litellm echo 'LITELLM_MASTER_KEY="sk-1234"' > .env echo 'LITELLM_SALT_KEY="sk-1234"' > .env Quelle .env poetry run pytest .
- Konfigurieren des Clients: Legen Sie die Adresse des Proxy-Servers und den API-Schlüssel im Code fest.
openai importieren client = openai.OpenAI(api_key="your_api_key", base_url="http://0.0.0.0:4000") response = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hallo, wie geht es Ihnen?"}])) print(Antwort)
Verwendungsfunktionen
- Aufrufmodell: durch
model=/
Aufrufen von Modellen verschiedener Anbieter. - Streaming-Antwort: Einstellungen
stream=True
Abrufen der Streaming-Antwort.response = await acompletion(model="gpt-3.5-turbo", messages=messages, stream=True) for part in response. print(part.choices.delta.content oder "")
- Rückrufe einstellenCallback-Funktionen zur Protokollierung von Eingaben und Ausgaben konfigurieren.
litellm.success_callback = ["lunary", "langfuse", "athina", "helicone"]