/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
  }
}

더 알아보기 (Learn more)