Zum Hauptinhalt springen

API-SchlĂĽssel, Basis-URL, Version festlegen

LiteLLM ermöglicht Ihnen die Angabe folgender Parameter

  • API-SchlĂĽssel
  • API-Basis
  • API-Version
  • API-Typ
  • Projekt
  • Standort
  • Token

NĂĽtzliche Hilfsfunktionen

Sie können die API-Konfigurationen über folgende Wege festlegen:

  • Umgebungsvariablen
  • LiteLLM-Variablen litellm.api_key
  • Ăśbergabe von Argumenten an completion()

Umgebungsvariablen​

API-Schlüssel festlegen​

Legen Sie den liteLLM API-SchlĂĽssel oder den spezifischen Provider-SchlĂĽssel fest.

import os 

# Set OpenAI API key
os.environ["OPENAI_API_KEY"] = "Your API Key"
os.environ["ANTHROPIC_API_KEY"] = "Your API Key"
os.environ["XAI_API_KEY"] = "Your API Key"
os.environ["REPLICATE_API_KEY"] = "Your API Key"
os.environ["TOGETHERAI_API_KEY"] = "Your API Key"

API-Basis, API-Version, API-Typ festlegen​

# for azure openai
os.environ['AZURE_API_BASE'] = "https://openai-gpt-4-test2-v-12.openai.azure.com/"
os.environ['AZURE_API_VERSION'] = "2023-05-15" # [OPTIONAL]
os.environ['AZURE_API_TYPE'] = "azure" # [OPTIONAL]

# for openai
os.environ['OPENAI_BASE_URL'] = "https://your_host/v1"

Projekt, Standort, Token festlegen​

FĂĽr Cloud-Provider

  • Azure
  • Bedrock
  • GCP
  • Watson AI

möglicherweise müssen Sie zusätzliche Parameter festlegen. LiteLLM bietet einen gemeinsamen Satz von Parametern, die wir über alle Provider hinweg zuordnen.

LiteLLM-ParameterWatsonVertex AIAzureBedrock
Projektprojektwatsonx_projectvertex_projectn/an/a
Regionregion_namewatsonx_region_namevertex_locationn/aaws_region_name
Tokentokenwatsonx_token oder tokenn/aazure_ad_tokenn/a

Wenn Sie möchten, können Sie diese auch über ihre Provider-spezifischen Parameter aufrufen.

LiteLLM-Variablen​

litellm.api_key​

Diese Variable wird fĂĽr alle Provider geprĂĽft.

import litellm
# openai call
litellm.api_key = "sk-OpenAIKey"
response = litellm.completion(messages=messages, model="gpt-3.5-turbo")

# anthropic call
litellm.api_key = "sk-AnthropicKey"
response = litellm.completion(messages=messages, model="claude-2")

litellm.provider_key (Beispiel litellm.openai_key)​

litellm.openai_key = "sk-OpenAIKey"
response = litellm.completion(messages=messages, model="gpt-3.5-turbo")

# anthropic call
litellm.anthropic_key = "sk-AnthropicKey"
response = litellm.completion(messages=messages, model="claude-2")

litellm.api_base​

import litellm
litellm.api_base = "https://hosted-llm-api.co"
response = litellm.completion(messages=messages, model="gpt-3.5-turbo")

litellm.api_version​

import litellm
litellm.api_version = "2023-05-15"
response = litellm.completion(messages=messages, model="gpt-3.5-turbo")

litellm.organization​

import litellm
litellm.organization = "LiteLlmOrg"
response = litellm.completion(messages=messages, model="gpt-3.5-turbo")

Argumente an completion() übergeben (oder jeden liteLLM-Endpunkt - transcription, embedding, text_completion, etc.)​

Sie können den API-Schlüssel direkt im Aufruf von completion() übergeben.

api_key​

from litellm import completion

messages = [{ "content": "Hello, how are you?","role": "user"}]

response = completion("command-nightly", messages, api_key="Your-Api-Key")

api_base​

from litellm import completion

messages = [{ "content": "Hello, how are you?","role": "user"}]

response = completion("command-nightly", messages, api_base="https://hosted-llm-api.co")

api_version​

from litellm import completion

messages = [{ "content": "Hello, how are you?","role": "user"}]

response = completion("command-nightly", messages, api_version="2023-02-15")

Hilfsfunktionen​

check_valid_key()​

PrĂĽft, ob ein Benutzer einen gĂĽltigen SchlĂĽssel fĂĽr das aufgerufene Modell angegeben hat.

key = "bad-key"
response = check_valid_key(model="gpt-3.5-turbo", api_key=key)
assert(response == False)

get_valid_models()​

Diese Hilfsfunktion liest die .env-Datei und gibt eine Liste unterstĂĽtzter LLMs fĂĽr den Benutzer zurĂĽck.

old_environ = os.environ
os.environ = {'OPENAI_API_KEY': 'temp'} # mock set only openai key in environ

valid_models = get_valid_models()
print(valid_models)

# list of openai supported llms on litellm
expected_models = litellm.open_ai_chat_completion_models + litellm.open_ai_text_completion_models

assert(valid_models == expected_models)

# reset replicate env key
os.environ = old_environ

get_valid_models(check_provider_endpoint: True)​

Diese Hilfsfunktion prĂĽft den Provider-Endpunkt auf gĂĽltige Modelle.

Derzeit implementiert fĂĽr

  • OpenAI (wenn OPENAI_API_KEY gesetzt ist)
  • Fireworks AI (wenn FIREWORKS_AI_API_KEY gesetzt ist)
  • LiteLLM Proxy (wenn LITELLM_PROXY_API_KEY gesetzt ist)
  • Gemini (wenn GEMINI_API_KEY gesetzt ist)
  • XAI (wenn XAI_API_KEY gesetzt ist)
  • Anthropic (wenn ANTHROPIC_API_KEY gesetzt ist)

Sie können auch einen benutzerdefinierten Provider zur Prüfung angeben.

Alle Provider:

from litellm import get_valid_models

valid_models = get_valid_models(check_provider_endpoint=True)
print(valid_models)

Spezifischer Provider:

from litellm import get_valid_models

valid_models = get_valid_models(check_provider_endpoint=True, custom_llm_provider="openai")
print(valid_models)

validate_environment(model: str)​

Diese Hilfsfunktion teilt Ihnen mit, ob Sie alle erforderlichen Umgebungsvariablen fĂĽr ein Modell haben und was fehlt, falls nicht.

from litellm import validate_environment

print(validate_environment("openai/gpt-3.5-turbo"))