Eingabeparameter
Allgemeine Parameter​
LiteLLM akzeptiert und übersetzt die OpenAI Chat Completion Parameter für alle Anbieter.
Verwendung​
import litellm
# set env variables
os.environ["OPENAI_API_KEY"] = "your-openai-key"
## SET MAX TOKENS - via completion()
response = litellm.completion(
model="gpt-3.5-turbo",
messages=[{ "content": "Hello, how are you?","role": "user"}],
max_tokens=10
)
print(response)
Übersetzte OpenAI-Parameter​
Verwenden Sie diese Funktion, um eine aktuelle Liste der unterstützten OpenAI-Parameter für jedes Modell + Anbieter zu erhalten.
from litellm import get_supported_openai_params
response = get_supported_openai_params(model="anthropic.claude-3", custom_llm_provider="bedrock")
print(response) # ["max_tokens", "tools", "tool_choice", "stream"]
Dies ist eine Liste von OpenAI-Parametern, die wir über Anbieter hinweg übersetzen.
Verwenden Sie litellm.get_supported_openai_params() für eine aktuelle Liste von Parametern für jedes Modell + Anbieter.
| Anbieter | temperature | max_completion_tokens | max_tokens | top_p | stream | stream_options | stop | n | presence_penalty | frequency_penalty | functions | function_call | logit_bias | user | response_format | seed | tools | tool_choice | logprobs | top_logprobs | extra_headers | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Anthropic | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||
| OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Azure OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| xAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||||
| Replicate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||||
| Anyscale | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||||
| Cohere | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||||||||
| Huggingface | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||
| Openrouter | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||||
| AI21 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||||||||
| VertexAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||||||||||
| Bedrock | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ (modellabhängig) | |||||||||||||||
| Sagemaker | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||
| TogetherAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||
| Sambanova | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||
| AlephAlpha | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||
| NLP Cloud | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||||
| Petals | ✅ | ✅ | ✅ | ✅ | ||||||||||||||||||
| Ollama | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||||||||
| Databricks | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||||||||||||
| ClarifAI | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||||||||||||
| Github | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ (modellabhängig) | ✅ (modellabhängig) | ||||||||
| Novita AI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Standardmäßig gibt LiteLLM eine Ausnahme aus, wenn der übergebene OpenAI-Parameter nicht unterstützt wird.
Um den Parameter stattdessen zu verwerfen, setzen Sie litellm.drop_params = True oder completion(..drop_params=True).
Dies VERWIRFT NUR NICHT UNTERSTÜTZTE OPENAI-PARAMETER.
LiteLLM geht davon aus, dass jeder nicht-OpenAI-Parameter anbieterspezifisch ist und übergibt ihn als Keyword-Argument im Anfragetext.
Eingabeparameter​
def completion(
model: str,
messages: List = [],
# Optional OpenAI params
timeout: Optional[Union[float, int]] = None,
temperature: Optional[float] = None,
top_p: Optional[float] = None,
n: Optional[int] = None,
stream: Optional[bool] = None,
stream_options: Optional[dict] = None,
stop=None,
max_completion_tokens: Optional[int] = None,
max_tokens: Optional[int] = None,
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
user: Optional[str] = None,
# openai v1.0+ new params
response_format: Optional[dict] = None,
seed: Optional[int] = None,
tools: Optional[List] = None,
tool_choice: Optional[str] = None,
parallel_tool_calls: Optional[bool] = None,
logprobs: Optional[bool] = None,
top_logprobs: Optional[int] = None,
deployment_id=None,
# soon to be deprecated params by OpenAI
functions: Optional[List] = None,
function_call: Optional[str] = None,
# set api_base, api_version, api_key
base_url: Optional[str] = None,
api_version: Optional[str] = None,
api_key: Optional[str] = None,
model_list: Optional[list] = None, # pass in a list of api_base,keys, etc.
# Optional liteLLM function params
**kwargs,
) -> ModelResponse:
Erforderliche Felder​
model: string - ID des zu verwendenden Modells. Details, welche Modelle mit der Chat-API funktionieren, finden Sie in der Kompatibilitätstabelle für Modell-Endpunkte.messages: array - Eine Liste von Nachrichten, die bisher die Konversation ausmachen.
Eigenschaften von messages​
Hinweis - Jede Nachricht im Array enthält die folgenden Eigenschaften
role: string - Die Rolle des Autors der Nachricht. Rollen können sein: system, user, assistant, function oder tool.content: string oder list[dict] oder null - Der Inhalt der Nachricht. Er ist für alle Nachrichten erforderlich, kann aber für Assistentennachrichten mit Funktionsaufrufen null sein.name: string (optional) - Der Name des Autors der Nachricht. Er ist erforderlich, wenn die Rolle "function" ist. Der Name muss mit dem Namen der im Inhalt dargestellten Funktion übereinstimmen. Er kann Zeichen (a-z, A-Z, 0-9) und Unterstriche enthalten, mit einer maximalen Länge von 64 Zeichen.function_call: object (optional) - Der Name und die Argumente einer Funktion, die vom Modell aufgerufen werden soll.tool_call_id: str (optional) - Der Tool-Aufruf, auf den diese Nachricht antwortet.
Alle Nachrichtenwerte anzeigen
Optionale Felder​
temperature: number oder null (optional) - Die zu verwendende Sampling-Temperatur, zwischen 0 und 2. Höhere Werte wie 0,8 erzeugen zufälligere Ausgaben, während niedrigere Werte wie 0,2 Ausgaben fokussierter und deterministischer machen.top_p: number oder null (optional) - Eine Alternative zum Sampling mit Temperatur. Sie weist das Modell an, die Ergebnisse der Tokens mit der Top-p-Wahrscheinlichkeit zu berücksichtigen. Zum Beispiel bedeutet 0,1, dass nur die Tokens berücksichtigt werden, die die obersten 10 % der Wahrscheinlichkeitsmasse ausmachen.n: integer oder null (optional) - Die Anzahl der Chat-Vervollständigungs-Auswahlen, die für jede Eingabenachricht generiert werden sollen.stream: boolean oder null (optional) - Wenn auf true gesetzt, werden teilweise Nachrichtendeltas gesendet. Tokens werden gesendet, sobald sie verfügbar sind, wobei der Stream durch eine[DONE]Nachricht beendet wird.stream_optionsdict oder null (optional) - Optionen für gestreamte Antworten. Setzen Sie dies nur, wenn Siestream: truegesetzt habeninclude_usageboolean (optional) - Wenn gesetzt, wird vor der Datennachricht ein zusätzlicher Chunk gestreamt[DONE]Nachricht gesendet. Das Feld „usage“ auf diesem Chunk zeigt die Token-Nutzungsstatistiken für die gesamte Anfrage an, und das Feld „choices“ wird immer ein leeres Array sein. Alle anderen Chunks enthalten ebenfalls ein Feld „usage“, jedoch mit dem Wert null.
stop: string/ array/ null (optional) - Bis zu 4 Sequenzen, bei denen die API die weitere Generierung von Tokens stoppt.max_completion_tokens: integer (optional) - Eine Obergrenze für die Anzahl der Tokens, die für eine Vervollständigung generiert werden können, einschließlich sichtbarer Ausgabetokens und Argumentations-Tokens.max_tokens: integer (optional) - Die maximale Anzahl von Tokens, die bei der Chat-Vervollständigung generiert werden sollen.presence_penalty: number oder null (optional) - Wird verwendet, um neue Tokens basierend auf ihrer bisherigen Existenz im Text zu bestrafen.response_format: object (optional) - Ein Objekt, das das Format angibt, das das Modell ausgeben muss.- Wenn Sie
{ "type": "json_object" }einstellen, wird der JSON-Modus aktiviert, der garantiert, dass die vom Modell generierte Nachricht gültiges JSON ist. - Wichtig: Bei Verwendung des JSON-Modus müssen Sie das Modell auch anweisen, selbst JSON über eine System- oder Benutzernachricht zu generieren. Ohne dies kann das Modell einen endlosen Strom von Leerzeichen generieren, bis die Generierung das Token-Limit erreicht, was zu einer lang andauernden und scheinbar „eingefrorenen“ Anfrage führt. Beachten Sie auch, dass der Nachrichteninhalt teilweise abgeschnitten werden kann, wenn finish_reason="length" ist, was darauf hindeutet, dass die Generierung max_tokens überschritten hat oder die Konversation die maximale Kontextlänge überschritten hat.
- Wenn Sie
seed: integer oder null (optional) - Dieses Feature ist in der Beta-Phase. Wenn angegeben, wird unser System alle Anstrengungen unternehmen, um deterministisch zu samplen, sodass wiederholte Anfragen mit demselben Seed und denselben Parametern dasselbe Ergebnis liefern sollten. Determinismus ist nicht garantiert, und Sie sollten den Parametersystem_fingerprintin der Antwort verwenden, um Änderungen im Backend zu überwachen.tools: array (optional) - Eine Liste von Werkzeugen, die das Modell aufrufen kann. Derzeit sind nur Funktionen als Werkzeug zulässig. Verwenden Sie dies, um eine Liste von Funktionen bereitzustellen, für die das Modell JSON-Eingaben generieren kann.type: string - Der Typ des Werkzeugs. Derzeit ist nur Funktion zulässig.function: object - Erforderlich.
tool_choice: string oder object (optional) - Steuert, welche (falls vorhanden) Funktion vom Modell aufgerufen wird. none bedeutet, dass das Modell keine Funktion aufruft und stattdessen eine Nachricht generiert. auto bedeutet, dass das Modell zwischen der Generierung einer Nachricht und dem Aufruf einer Funktion wählen kann. Die Angabe einer bestimmten Funktion über{"type: "function", "function": {"name": "my_function"}}zwingt das Modell, diese Funktion aufzurufen.noneist der Standard, wenn keine Funktionen vorhanden sind.autoist der Standard, wenn Funktionen vorhanden sind.
parallel_tool_calls: boolean (optional) - Ob parallele Funktionsaufrufe während der Tool-Nutzung aktiviert werden sollen. Der OpenAI-Standard ist true.frequency_penalty: number oder null (optional) - Wird verwendet, um neue Tokens basierend auf ihrer Häufigkeit im bisherigen Text zu bestrafen.logit_bias: map (optional) - Wird verwendet, um die Wahrscheinlichkeit bestimmter Tokens in der Vervollständigung zu modifizieren.user: string (optional) - Eine eindeutige Kennung, die Ihren Endbenutzer repräsentiert. Dies kann OpenAI helfen, Missbrauch zu überwachen und zu erkennen.timeout: int (optional) - Timeout in Sekunden für Vervollständigungsanfragen (Standard ist 600 Sekunden)logprobs: bool (optional) - Ob die Log-Wahrscheinlichkeiten der Ausgabetokens zurückgegeben werden sollen oder nicht. Wenn true, werden die Log-Wahrscheinlichkeiten jedes Ausgabetokens im Inhalt der Nachricht zurückgegeben.top_logprobs: int (optional) - Eine Ganzzahl zwischen 0 und 5, die angibt, wie viele der wahrscheinlichsten Tokens an jeder Token-Position zurückgegeben werden sollen, jeweils mit einer zugehörigen Log-Wahrscheinlichkeit.logprobsmuss auf true gesetzt sein, wenn dieser Parameter verwendet wird.headers: dict (optional) - Ein Dictionary von Headern, die mit der Anfrage gesendet werden sollen.extra_headers: dict (optional) - Alternative zuheaders, wird verwendet, um zusätzliche Header in der LLM-API-Anfrage zu senden.
Veraltete Parameter​
functions: array - Eine Liste von Funktionen, die das Modell zur Generierung von JSON-Eingaben verwenden kann. Jede Funktion sollte die folgenden Eigenschaften habenname: string - Der Name der aufzurufenden Funktion. Sie sollte a-z, A-Z, 0-9, Unterstriche und Bindestriche enthalten, mit einer maximalen Länge von 64 Zeichen.description: string (optional) - Eine Beschreibung, die erklärt, was die Funktion tut. Sie hilft dem Modell zu entscheiden, wann und wie die Funktion aufgerufen werden soll.parameters: object - Die Parameter, die die Funktion akzeptiert, beschrieben als JSON-Schema-Objekt.
function_call: string oder object (optional) - Steuert, wie das Modell auf Funktionsaufrufe reagiert.
LiteLLM-spezifische Parameter​
api_base: string (optional) - Endpunkt der API, mit dem das Modell aufgerufen werden sollapi_version: string (optional) - (Nur Azure) die API-Version für den Aufrufnum_retries: int (optional) - Die Anzahl der Wiederholungsversuche des API-Aufrufs, wenn ein APIError, TimeoutError oder ServiceUnavailableError auftrittcontext_window_fallback_dict: dict (optional) - Eine Zuordnung von Modellen, die verwendet werden sollen, wenn der Aufruf aufgrund eines Kontextfensterfehlers fehlschlägtfallbacks: list (optional) - Eine Liste von Modellnamen + Parametern, die verwendet werden sollen, falls der ursprüngliche Aufruf fehlschlägtmetadata: dict (optional) - Zusätzliche Daten, die protokolliert werden sollen, wenn der Aufruf erfolgt (an Protokollierungs-Integrationen gesendet, z. B. promptlayer und über eine benutzerdefinierte Callback-Funktion zugänglich)
KOSTEN FÜR BENUTZERDEFINIERTE MODELLE
input_cost_per_token: float (optional) - Die Kosten pro Eingabe-Token für den Vervollständigungsaufrufoutput_cost_per_token: float (optional) - Die Kosten pro Ausgabe-Token für den Vervollständigungsaufruf
BENUTZERDEFINIERTES PROMPT-FORMAT (Weitere Informationen finden Sie unter Prompt-Formatierung)
initial_prompt_value: string (optional) - Ursprünglicher String, der am Anfang der Eingabenachrichten angewendet wirdroles: dict (optional) - Ein Dictionary, das angibt, wie das Prompt basierend auf der Rolle + Nachricht formatiert werden soll, die übermessagesübergeben wird.final_prompt_value: string (optional) - Finaler String, der am Ende der Eingabenachrichten angewendet wirdbos_token: string (optional) - Ursprünglicher String, der am Anfang einer Sequenz angewendet wirdeos_token: string (optional) - Ursprünglicher String, der am Ende einer Sequenz angewendet wirdhf_model_name: string (optional) -[Nur Sagemaker]Der entsprechende Huggingface-Name des Modells, der verwendet wird, um die richtige Chat-Vorlage für das Modell abzurufen.