/responses

/responses

OpenAI의 /responses API 사양에 맞춘 엔드포인트를 제공하는 기능이에요. /chat/completions 요청은 제공자가 해당 엔드포인트를 지원하지 않을 때 여기로 자동 브리징될 수 있어요. 모델의 기본 mode가 브리징 방식을 결정해요.

출처: 문서

본문

LiteLLM은 OpenAI의 /responses API 사양에 맞춘 엔드포인트를 제공해요.

/chat/completions로의 요청은 제공자가 해당 엔드포인트를 지원하지 않을 때 자동으로 여기로 브리징될 수 있어요. 모델의 기본 mode가 브리징 방식을 결정해요(model_prices_and_context_window 참고).

기능 지원 비고
비용 추적 모든 지원 모델과 동작
로깅 모든 통합에서 동작
최종 사용자 추적
스트리밍
WebSocket 모드 전 제공자 저지연 지속 연결
이미지 생성 스트리밍 부분 이미지(1-3)를 이용한 점진적 이미지 생성
폴백 지원 모델 간 동작
로드밸런싱 지원 모델 간 동작
가드레일 입력·출력 텍스트에 적용 (비스트리밍 전용)
지원 작업 응답 생성, 응답 가져오기, 응답 삭제
지원 LiteLLM 버전 1.63.8+
지원 모델 제공자 모든 LiteLLM 지원 제공자 openai, anthropic, bedrock, vertex_ai, gemini, azure, azure_ai

사용법

LiteLLM Python SDK

  • OpenAI
  • Anthropic
  • Vertex AI
  • AWS Bedrock
  • Google AI Studio

비스트리밍

OpenAI Non-streaming Response

import litellm

# Non-streaming response
response = litellm.responses(
    model="openai/gpt-5.6-terra",
    input="Tell me a three sentence bedtime story about a unicorn.",
    max_output_tokens=100
)

print(response)

응답 형식 (OpenAI Responses API 형식)

{
    "id": "resp_abc123",
    "object": "response",
    "created_at": 1734366691,
    "status": "completed",
    "model": "gpt-5.6-terra",
    "output": [
        {
            "type": "message",
            "id": "msg_abc123",
            "status": "completed",
            "role": "assistant",
            "content": [
                {
                    "type": "output_text",
                    "text": "Once upon a time, a little unicorn named Stardust lived in a magical meadow where flowers sang lullabies. One night, she discovered that her horn could paint dreams across the sky, and she spent the evening creating the most beautiful aurora for all the forest creatures to enjoy. As the animals drifted off to sleep beneath her shimmering lights, Stardust curled up on a cloud of moonbeams, happy to have shared her magic with her friends.",
                    "annotations": []
                }
            ]
        }
    ],
    "usage": {
        "input_tokens": 18,
        "output_tokens": 98,
        "total_tokens": 116
    }
}

스트리밍

OpenAI Streaming Response

import litellm

# Streaming response
response = litellm.responses(
    model="openai/gpt-5.6-terra",
    input="Tell me a three sentence bedtime story about a unicorn.",
    stream=True
)

for event in response:
    print(event)

이미지 생성 스트리밍

OpenAI Streaming Image Generation

import litellm
import base64

# Streaming image generation with partial images
response = litellm.responses(
    model="openai/gpt-5.6-terra",
    input="Generate an image of a unicorn in a meadow",
    stream=True
)

for event in response:
    print(event)

WebSocket 모드

LiteLLM은 모든 제공자에서 저지연 지속 연결을 위한 WebSocket 모드를 지원해요. 클라이언트가 WebSocket 연결을 통해 /responses 요청을 보내고 스트리밍 이벤트를 수신할 수 있어요. 이 모드는 왕복 오버헤드를 줄여 지연 시간을 낮춰요.

지원 작업

/responses API는 다음 작업을 지원해요:

  • 응답 생성 (Create a response): POST /v1/responses
  • 응답 가져오기 (Get a response): GET /v1/responses/{id}
  • 응답 삭제 (Delete a response): DELETE /v1/responses/{id}

프록시 사용

LiteLLM 프록시는 OpenAI 호환 /v1/responses 엔드포인트를 제공해요. OpenAI SDK에서 base_url을 프록시로 설정하면 호출할 수 있어요.

요청 형식과 provider 매핑, 여러 제공자에서의 상세 사용법은 LiteLLM /responses 문서의 나머지 부분을 참고하세요.

더 알아보기 (Learn more)