设置API密钥、基础、版本
LiteLLM允许您指定以下内容:
- API密钥
- API基础
- API版本
- API类型
- 项目
- 位置
- 令牌
有用的辅助函数:
您可以使用以下方式设置API配置:
- 环境变量
- litellm变量
litellm.api_key - 传递参数给
completion()
环境变量
设置API密钥
设置liteLLM API密钥或特定提供商的密钥:
import os
# 设置OpenAI API密钥
os.environ["OPENAI_API_KEY"] = "Your API Key"
os.environ["ANTHROPIC_API_KEY"] = "Your API Key"
os.environ["REPLICATE_API_KEY"] = "Your API Key"
os.environ["TOGETHERAI_API_KEY"] = "Your API Key"
设置API基础、API版本、API类型
# 对于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" # [可选]
os.environ['AZURE_API_TYPE'] = "azure" # [可选]
# 对于OpenAI
os.environ['OPENAI_API_BASE'] = "https://openai-gpt-4-test2-v-12.openai.azure.com/"
设置项目、位置、令牌
对于云提供商:
- Azure
- Bedrock
- GCP
- Watson AI
您可能需要设置额外的参数。LiteLLM提供了一组通用的参数,我们将其映射到所有提供商。
| LiteLLM参数 | Watson | Vertex AI | Azure | Bedrock | |
|---|---|---|---|---|---|
| 项目 | project | watsonx_project | vertex_project | n/a | n/a |
| 区域 | region_name | watsonx_region_name | vertex_location | n/a | aws_region_name |
| 令牌 | token | watsonx_token 或 token | n/a | azure_ad_token | n/a |
如果您愿意,也可以通过提供商特定的参数来调用它们。
litellm变量
litellm.api_key
此变量被检查用于所有提供商
import litellm
# openai调用
litellm.api_key = "sk-OpenAIKey"
response = litellm.completion(messages=messages, model="gpt-3.5-turbo")
# anthropic调用
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调用
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()
您可以在 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'} # 仅在环境中设置openai密钥
valid_models = get_valid_models()
print(valid_models)
# litellm上支持的openai llm列表
expected_models = litellm.open_ai_chat_completion_models + litellm.open_ai_text_completion_models
assert(valid_models == expected_models)
# 重置replicate环境密钥
os.environ = old_environ
validate_environment(model: str)
此辅助函数告诉您是否拥有模型所需的所有环境变量,如果没有 - 缺少什么。
from litellm import validate_environment
print(validate_environment("openai/gpt-3.5-turbo"))