/responses/compact
/responses/compact
OpenAI의 /responses/compact 엔드포인트를 사용해 대화 기록을 압축하는 기능이에요. 긴 대화를 요약해 컨텍스트를 줄이고 비용을 절약할 수 있어요.
출처: 문서
본문
OpenAI의 /responses/compact 엔드포인트를 사용해 대화 기록을 압축해요.
| 기능 | 값 |
|---|---|
| 지원 LiteLLM 버전 | 1.72.0+ |
| 지원 제공자 | openai |
사용법
LiteLLM Python SDK
Compact Response
import litellm
response = litellm.compact_responses(
model="openai/gpt-5.6-terra",
input=[{"role": "user", "content": "Hello, how are you?"}],
instructions="Be helpful",
previous_response_id="resp_abc123" # optional
)
print(response.id)
print(response.object) # "response.compaction"
print(response.output)
LiteLLM 프록시
- Curl
- OpenAI Python SDK
Compact Request
curl http://localhost:4000/v1/responses/compact \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ***" \
-d '{
"model": "openai/gpt-5.6-terra",
"input": [{"role": "user", "content": "Hello"}],
"instructions": "Be helpful"
}'
Compact with OpenAI SDK
import httpx
response = httpx.post(
"http://localhost:4000/v1/responses/compact",
headers={"Authorization": "Bearer sk-<your-litellm-api-key>"},
json={
"model": "openai/gpt-5.6-terra",
"input": [{"role": "user", "content": "Hello"}],
"instructions": "Be helpful"
}
)
print(response.json())
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
model |
string | 예 | 압축에 사용할 모델 |
input |
string 또는 array | 예 | 압축할 입력 메시지 |
instructions |
string | 아니요 | 시스템 지시사항 |
previous_response_id |
string | 아니요 | 이어갈 이전 응답의 ID |
응답 형식
{
"id": "resp_abc123",
"object": "response.compaction",
"created_at": 1734366691,
"output": [
{
"type": "message",
"role": "assistant",
"content": [...]
},
{
"type": "compaction",
"encrypted_content": "..."
}
],
"usage": {
"input_tokens": 100,
"output_tokens": 50,
"total_tokens": 150
}
}