
Bild von Autor | Ideogramm.ai# Einführung
Mit dem Anstieg großer Sprachmodelle (LLMs) in den letzten Jahren entstehen viele LLM-Anträge. Die LLM-Implementierung hat Funktionen eingeführt, die zuvor nicht bestand.
Im Laufe der Zeit sind viele LLM -Modelle und -Produkte erhältlich, jeweils ihre Vor- und Nachteile. Leider gibt es immer noch keine Standardmethode, um auf alle diese Modelle zuzugreifen, da jedes Unternehmen seinen eigenen Rahmen entwickeln kann. Deshalb haben Sie ein Open-Supply-Software wie wie Litellm ist nützlich, wenn Sie standardisierten Zugriff auf Ihre LLM -Apps ohne zusätzliche Kosten benötigen.
In diesem Artikel werden wir untersuchen, warum Litellm für den Bau von LLM -Anwendungen von Vorteil ist.
Lassen Sie uns darauf eingehen.
# Nutzen 1: Einheitlicher Zugang
Litellms größter Vorteil ist seine Kompatibilität mit verschiedenen Modellanbietern. Das Software unterstützt über 100 verschiedene LLM -Dienste über standardisierte Schnittstellen, sodass wir unabhängig vom von uns verwendeten Modellanbieter auf sie zugreifen können. Es ist besonders nützlich, wenn Ihre Anwendungen mehrere verschiedene Modelle verwenden, die austauschbar arbeiten müssen.
Einige Beispiele der wichtigsten Modellanbieter, die LitellM unterstützt, sind:
- Openai und Azure Openai, wie GPT-4.
- Anthropisch, wie Claude.
- AWS Bedrock & Sagemaker, unterstützt Modelle wie Amazon Titan und Claude.
- Google Vertex AI, wie Gemini.
- Umarme Face Hub und Ollama für Open-Supply-Modelle wie Lama und Mistral.
Das standardisierte Format folgt das Framework von OpenAI unter Verwendung des Chat-/Fertigstellungsschemas. Dies bedeutet, dass wir die Modelle leicht wechseln können, ohne das Schema des ursprünglichen Modellanbieters zu verstehen.
Hier ist beispielsweise der Python -Code, der das Gemini -Modell von Google mit LitellM verwendet.
from litellm import completion
immediate = "YOUR-PROMPT-FOR-LITELLM"
api_key = "YOUR-API-KEY-FOR-LLM"
response = completion(
mannequin="gemini/gemini-1.5-flash-latest",
messages=({"content material": immediate, "function": "consumer"}),
api_key=api_key)
response('selections')(0)('message')('content material')
Sie müssen nur den Modellnamen und die jeweiligen API -Schlüssel aus dem erhalten Modellanbieter Zugriff auf sie zugreifen. Diese Flexibilität macht Litellm splendid für Anwendungen, die mehrere Modelle verwenden oder Modellvergleiche durchführen.
# Vorteil 2: Kostenverfolgung und Optimierung
Bei der Arbeit mit LLM-Anwendungen ist es wichtig, die Nutzung und Ausgaben der Token für jedes von Ihnen implementierte Modell und in allen integrierten Anbietern, insbesondere in Echtzeitszenarien, zu verfolgen.
Mit LitellM ermöglicht es Benutzern, ein detailliertes Protokoll der Modell -API -Anrufnutzung beizubehalten und alle erforderlichen Informationen zur effektiven Kontrolle der Kosten bereitzustellen. Zum Beispiel wird der oben genannte „Completion“ -Aufruf Informationen über die Token -Nutzung enthält, wie unten gezeigt.
utilization=Utilization(completion_tokens=10, prompt_tokens=8, total_tokens=18, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetailsWrapper(audio_tokens=None, cached_tokens=None, text_tokens=8, image_tokens=None))
Der Zugriff auf die versteckten Parameter der Antwort liefert auch detailliertere Informationen, einschließlich der Kosten.
Mit der Ausgabe ähnlich wie unten:
{'custom_llm_provider': 'gemini',
'region_name': None,
'vertex_ai_grounding_metadata': (),
'vertex_ai_url_context_metadata': (),
'vertex_ai_safety_results': (),
'vertex_ai_citation_metadata': (),
'optional_params': {},
'litellm_call_id': '558e4b42-95c3-46de-beb7-9086d6a954c1',
'api_base': 'https://generativelanguage.googleapis.com/v1beta/fashions/gemini-1.5-flash-latest:generateContent',
'model_id': None,
'response_cost': 4.8e-06,
'additional_headers': {},
'litellm_model_name': 'gemini/gemini-1.5-flash-latest'}
Es gibt viele Informationen, aber das wichtigste Stück ist `response_cost`, da es die tatsächliche Gebühr schätzt, die Ihnen während dieses Anrufs entstanden ist, obwohl es weiterhin ausgeglichen werden kann, wenn der Modellanbieter kostenlosen Zugriff bietet. Benutzer können auch definieren benutzerdefinierte Preisgestaltung für Modelle (professional Token oder professional Sekunde), um die Kosten genau zu berechnen.
Eine fortgeschrittenere Kostenverfolgung Durch die Implementierung können Benutzer auch a festlegen Ausgabenbudget und Grenzeund verbinden gleichzeitig die LitellM -Kosten -Nutzungsinformationen an ein Analytics -Dashboard mit leichter aggregierter Informationen. Es ist auch möglich, benutzerdefinierte Etiketten -Tags bereitzustellen, um die Kosten für bestimmte Verwendung oder Abteilungen zu unterstützen.
Durch die Bereitstellung detaillierter Kostennutzungsdaten hilft LitellM Benutzern und Organisationen, ihre LLM -Anwendungskosten und ihre Funds effektiver zu optimieren.
# Nutzen 3: Einfacher Einsatz
Litellm ist für eine einfache Bereitstellung konzipiert, unabhängig davon, ob Sie sie für die lokale Entwicklung oder eine Produktionsumgebung verwenden. Mit bescheidenen Ressourcen, die für die Set up der Python -Bibliothek erforderlich sind, können wir Litellm auf unserem lokalen Laptop computer ausführen oder in einer Containerbereitstellung mit Docker abhalten, ohne eine komplexe zusätzliche Konfiguration erforderlich zu machen.
Wenn wir von der Konfiguration sprechen, können wir LitellM effizienter mit einer YAML -Konfigurationsdatei einrichten, um alle erforderlichen Informationen wie den Modellnamen, die API -Schlüssel und alle wichtigen benutzerdefinierten Einstellungen für Ihre LLM -Apps aufzulisten. Sie können auch eine Backend -Datenbank wie SQLite oder PostgreSQL verwenden, um ihren Standing zu speichern.
Für die Datenschutzdatenschutz sind Sie für Ihre eigene Privatsphäre als Benutzer verantwortlich, der LitellM selbst bereitstellt. Dieser Ansatz ist jedoch sicherer, da die Daten Ihre kontrollierte Umgebung nie verlassen, außer wenn sie an die LLM -Anbieter gesendet werden. Eine Funktion Litellm bietet Unternehmensnutzern, die Single Signal-On (SSO), eine rollenbasierte Zugriffskontrolle und Prüfungsprotokolle sind, wenn Ihre Anwendung eine sichere Umgebung benötigt.
Insgesamt bietet LitellM versatile Bereitstellungsoptionen und -konfigurationen, während die Daten sicher halten.
# Nutzen 4: Resilienzfunktionen
Resilienz ist entscheidend beim Aufbau von LLM -Apps, da unsere Bewerbung auch angesichts unerwarteter Probleme in Betrieb bleibt. Um die Belastbarkeit zu fördern, bietet Litellm viele Funktionen, die für die Anwendungsentwicklung nützlich sind.
Eine Funktion, die Litellm hat, ist eingebaut Ausschnittwo Benutzer LLM -Eingabeaufforderungen und -Anantworten zwischenspeichern können, sodass identische Anforderungen keine wiederholten Kosten oder Latenz anfallen. Es ist eine nützliche Funktion, wenn unsere Anwendung häufig die gleichen Abfragen empfängt. Das Caching-System ist flexibel und unterstützt sowohl In-Reminiscence- als auch Distant-Caching, beispielsweise mit einer Vektordatenbank.
Ein weiteres Merkmal von LitellM ist Automatische Wiederholungensodass Benutzer einen Mechanismus konfigurieren können, wenn Anforderungen aufgrund von Fehlern wie Timeouts oder Tarif-Restrict-Fehlern fehlschlagen, um die Anforderung automatisch wiederzuerlangen. Es ist auch möglich, zusätzliche einzurichten Fallback -Mechanismenwie beispielsweise die Verwendung eines anderen Modells, wenn die Anforderung bereits auf das Wiederholungsgrenze geschlagen hat.
Zuletzt können wir die Ratenbegrenzung für definierte Anforderungen professional Minute (U / min) oder Token professional Minute (TPM) festlegen, um das Nutzungsniveau zu begrenzen. Dies ist eine großartige Möglichkeit, bestimmte Modellintegrationen zu begrenzen, um Fehler zu verhindern und die Anforderungen an die Anwendungsinfrastruktur zu respektieren.
# Abschluss
Im Zeitalter des LLM -Produktwachstums ist es viel einfacher geworden, LLM -Anwendungen aufzubauen. Bei so vielen Modellanbietern ist es jedoch schwierig, einen Commonplace für die LLM-Implementierung zu erstellen, insbesondere bei Multi-Mannequin-Systemarchitekturen. Aus diesem Grund kann Litellm uns helfen, LLM -Apps effizient zu erstellen.
Ich hoffe das hat geholfen!
Cornellius Yudha Wijaya ist ein Knowledge Science Assistant Supervisor und Datenautor. Während er in Vollzeit bei Allianz Indonesien arbeitet, liebt er es, Python- und Datentipps über soziale Medien und das Schreiben von Medien zu teilen. Cornellius schreibt über eine Vielzahl von KI- und maschinellen Lernthemen.
