[Beta] 요청 메타데이터 기반 라우팅
[Beta] 요청 메타데이터 기반 라우팅
요청 메타데이터를 기반으로 라우팅 규칙을 만들어 봐요.
설정
litellm proxy 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-5.6-terra가 private-data 태그의 허용 모델에 없으므로 이 요청은 실패합니다.
OpenAI Python SDK를 사용해 같은 요청을 보내는 예시입니다.
- OpenAI Python SDK
- cURL
from openai import OpenAIclient = OpenAI(
api_key="sk-",
base_url="http://0.0.0.0:4000/v1/")response = client.chat.completions.create(
model="gpt-5.6-terra",
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 ***" \-d '{
"model": "gpt-5.6-terra",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"tags": ["private-data"]}'
2.2 유효한 모델
tags=["private-data"]를 보내고 모델 us.anthropic.claude-sonnet-5가 private-data 태그의 허용 모델에 있으므로 이 요청은 성공합니다.
OpenAI Python SDK를 사용해 같은 요청을 보내는 예시입니다.
- OpenAI Python SDK
- cURL
from openai import OpenAIclient = OpenAI(
api_key="sk-",
base_url="http://0.0.0.0:4000/v1/")response = client.chat.completions.create(
model="us.anthropic.claude-sonnet-5",
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 ***" \-d '{
"model": "us.anthropic.claude-sonnet-5",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"tags": ["private-data"]}'
추가 태그 기능
- 요청 헤더에 태그 보내기
- 태그 기반 라우팅
- 태그별 지출 추적
- Virtual Key, Team별 예산 설정