设置 API 密钥、基础 URL、版本
LiteLLM 允许您指定以下内容
- API 密钥
- API 基础 URL
- API 版本
- API 类型
- 项目
- 位置
- Token
有用的辅助函数
您可以使用以下方式设置 API 配置
- 环境变量
- litellm 变量
litellm.api_key
- 将参数传递给
completion()
环境变量
设置 API 密钥
设置 liteLLM API 密钥或特定的提供商密钥
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 基础 URL、API 版本、API 类型
# 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"
设置项目、位置、Token
对于云提供商
- Azure
- Bedrock
- GCP
- Watson AI
您可能需要设置额外的参数。LiteLLM 提供了一组通用参数,我们将它们映射到所有提供商。
LiteLLM 参数 | Watson | Vertex AI | Azure | Bedrock | |
---|---|---|---|---|---|
项目 | project (项目) | 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 或 token | 不适用 (n/a) | azure_ad_token | 不适用 (n/a) |
如果您愿意,也可以通过其提供商特定的参数来调用它们。
litellm 变量
litellm.api_key
所有提供商都会检查此变量
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 (例如 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")
将参数传递给 completion() (或任何 litellm 端点 - transcription
、embedding
、text_completion
等)
您可以在 completion()
调用中传递 API 密钥
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")
辅助函数
check_valid_key()
检查用户是否为他们尝试调用的模型提交了有效的密钥。
key = "bad-key"
response = check_valid_key(model="gpt-3.5-turbo", api_key=key)
assert(response == False)
get_valid_models()
此辅助函数读取 .env 文件并返回支持的 LLM 列表供用户使用。
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)
此辅助函数将检查提供商的端点以获取有效的模型列表。
目前已实现对以下提供商的支持:
- OpenAI (如果设置了 OPENAI_API_KEY)
- Fireworks AI (如果设置了 FIREWORKS_AI_API_KEY)
- LiteLLM Proxy (如果设置了 LITELLM_PROXY_API_KEY)
- Gemini (如果设置了 GEMINI_API_KEY)
- XAI (如果设置了 XAI_API_KEY)
- Anthropic (如果设置了 ANTHROPIC_API_KEY)
您还可以指定要检查的自定义提供商
所有提供商:
from litellm import get_valid_models
valid_models = get_valid_models(check_provider_endpoint=True)
print(valid_models)
特定提供商:
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)
此辅助函数会告诉您是否已为某个模型设置了所有必需的环境变量,如果未设置,则会说明缺少哪些变量。
from litellm import validate_environment
print(validate_environment("openai/gpt-3.5-turbo"))