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-Parameter | Watson | Vertex AI | Azure | Bedrock | |
|---|---|---|---|---|---|
| Projekt | projekt | watsonx_project | vertex_project | n/a | n/a |
| Region | region_name | watsonx_region_name | vertex_location | n/a | aws_region_name |
| Token | token | watsonx_token oder token | n/a | azure_ad_token | n/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"))