跳到主要内容

丢弃不受支持的参数

丢弃您的 LLM 提供商不支持的 OpenAI 参数。

快速开始

import litellm 
import os

# set keys
os.environ["COHERE_API_KEY"] = "co-.."

litellm.drop_params = True # 👈 KEY CHANGE

response = litellm.completion(
model="command-r",
messages=[{"role": "user", "content": "Hey, how's it going?"}],
response_format={"key": "value"},
)

LiteLLM 映射了所有由提供商 + 模型支持的 openai 参数(例如,Anthropic 在 Bedrock 上支持函数调用,但在 Titan 上不支持)。

查看 litellm.get_supported_openai_params("command-r") 代码

如果提供商/模型不支持特定参数,您可以将其丢弃。

OpenAI 代理用法

litellm_settings:
drop_params: true

completion(..) 中传递 drop_params

仅在调用特定模型时丢弃参数

import litellm 
import os

# set keys
os.environ["COHERE_API_KEY"] = "co-.."

response = litellm.completion(
model="command-r",
messages=[{"role": "user", "content": "Hey, how's it going?"}],
response_format={"key": "value"},
drop_params=True
)

指定要丢弃的参数

在调用提供商时丢弃特定参数(例如,vllm 的 'logit_bias')

使用 additional_drop_params

import litellm 
import os

# set keys
os.environ["COHERE_API_KEY"] = "co-.."

response = litellm.completion(
model="command-r",
messages=[{"role": "user", "content": "Hey, how's it going?"}],
response_format={"key": "value"},
additional_drop_params=["response_format"]
)

additional_drop_params: 列表或 null - 是一个列表,包含您在调用模型时希望丢弃的 openai 参数。

在请求中指定允许的 openai 参数

告知 litellm 在请求中允许特定的 openai 参数。如果您收到 litellm.UnsupportedParamsError 并希望允许某个参数,请使用此选项。LiteLLM 会将该参数原样传递给模型。

在此示例中,我们传递 allowed_openai_params=["tools"] 来允许 tools 参数。

将 allowed_openai_params 传递给 LiteLLM Python SDK
await litellm.acompletion(
model="azure/o_series/<my-deployment-name>",
api_key="xxxxx",
api_base=api_base,
messages=[{"role": "user", "content": "Hello! return a json object"}],
tools=[{"type": "function", "function": {"name": "get_current_time", "description": "Get the current time in a given location.", "parameters": {"type": "object", "properties": {"location": {"type": "string", "description": "The city name, e.g. San Francisco"}}, "required": ["location"]}}}]
allowed_openai_params=["tools"],
)