跳到主要内容

设置 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 参数WatsonVertex AIAzureBedrock
项目project (项目)watsonx_projectvertex_project不适用 (n/a)不适用 (n/a)
Region (区域)region_namewatsonx_region_namevertex_location不适用 (n/a)aws_region_name
Tokentokenwatsonx_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 端点 - transcriptionembeddingtext_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"))