[Beta]基于请求元数据的路由
基于请求元数据创建路由规则。
设置
将以下内容添加到您的 litellm 代理 config yaml 文件中。
litellm proxy config.yaml
router_settings:
enable_tag_filtering: True # 👈 Key Change
1. 创建一个标签
在 LiteLLM UI 上,导航到 Experimental > Tag Management > Create Tag。
创建一个名为 private-data
的标签,并仅选择允许用于带有此标签的请求的模型。创建后,您将在 Tag Management 页面上看到该标签。
2. 测试标签路由
现在我们将测试基于标签的路由规则。
2.1 无效模型
此请求将失败,因为我们发送了 tags=private-data
,但模型 gpt-4o
不在此 private-data
标签允许的模型列表中。
以下是使用 OpenAI Python SDK 发送相同请求的示例。
- OpenAI Python SDK
- cURL
from openai import OpenAI
client = OpenAI(
api_key="sk-1234",
base_url="http://0.0.0.0:4000/v1/"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "Hello, how are you?"}
],
extra_body={
"tags": "private-data"
}
)
curl -L -X POST 'http://0.0.0.0:4000/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-1234' \
-d '{
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"tags": "private-data"
}'
2.2 有效模型
此请求将成功,因为我们发送了 tags=private-data
,并且模型 us.anthropic.claude-3-7-sonnet-20250219-v1:0
在此 private-data
标签允许的模型列表中。
以下是使用 OpenAI Python SDK 发送相同请求的示例。
- OpenAI Python SDK
- cURL
from openai import OpenAI
client = OpenAI(
api_key="sk-1234",
base_url="http://0.0.0.0:4000/v1/"
)
response = client.chat.completions.create(
model="us.anthropic.claude-3-7-sonnet-20250219-v1:0",
messages=[
{"role": "user", "content": "Hello, how are you?"}
],
extra_body={
"tags": "private-data"
}
)
curl -L -X POST 'http://0.0.0.0:4000/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-1234' \
-d '{
"model": "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"tags": "private-data"
}'