Skip to main content

设置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参数WatsonVertex AIAzureBedrock
项目projectwatsonx_projectvertex_projectn/an/a
区域region_namewatsonx_region_namevertex_locationn/aaws_region_name
令牌tokenwatsonx_token 或 tokenn/aazure_ad_tokenn/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"))
优云智算