어시스턴트 메시지 프리픽스
어시스턴트 메시지 프리픽스 (Pre-fix Assistant Messages)
어시스턴트 메시지에 "prefix": true를 넣으면, 모델이 그 메시지를 이미 일부 생성된 응답으로 간주하고 이어서 생성하게 돼요. Deepseek, Mistral, Anthropic 모델에서 지원되며, 응답 지향을 원하는 방향으로 유도할 때 유용하답니다.
출처: 문서
본문
지원되는 모델:
- Deepseek
- Mistral
- Anthropic
{
"role": "assistant",
"content": "..",
...,
"prefix": true # 👈 KEY CHANGE
}
빠른 시작 (Quick Start)
- SDK / 프록시(Proxy)
from litellm import completion
import os
os.environ["DEEPSEEK_API_KEY"] = ""
response = completion(
model="deepseek/deepseek-chat",
messages=[
{"role": "user", "content": "Who won the world cup in 2022?"},
{"role": "assistant", "content": "Argentina", "prefix": True}
]
)
print(response.choices[0].message.content)
curl http://0.0.0.0:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ***" \
-d '{
"model": "deepseek/deepseek-chat",
"messages": [
{
"role": "user",
"content": "Who won the world cup in 2022?"
},
{
"role": "assistant",
"content": "Argentina", "prefix": true
}
]
}'
기대 응답 (Expected Response)
{
"id": "3b66124d79a708e10c603496b363574c",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": " won the FIFA World Cup in 2022.",
"role": "assistant",
"tool_calls": null,
"function_call": null
}
}
],
"created": 1723323084,
"model": "deepseek/deepseek-chat",
"object": "chat.completion",
"system_fingerprint": "fp_7e0991cad4",
"usage": {
"completion_tokens": 12,
"prompt_tokens": 16,
"total_tokens": 28,
},
"service_tier": null
}
모델 지원 확인 (Check Model Support)
litellm.get_model_info를 호출해 모델/공급자가 prefix를 지원하는지 확인할 수 있어요.
- SDK / 프록시(Proxy)
from litellm import get_model_info
params = get_model_info(model="deepseek/deepseek-chat")
assert params["supports_assistant_prefill"] is True
프록시에서는 /model/info 엔드포인트를 호출해 모델 목록과 지원 파라미터를 확인할 수 있어요.
curl -X GET 'http://0.0.0.0:4000/v1/model/info' \
-H 'Authorization: Bearer ***' \