온라인 서빙

온라인 서빙 (Online Serving)

vLLM을 실제 서비스로 띄워서 HTTP API로 모델을 사용하고 싶다면 온라인 서빙을 쓰면 돼요. vLLM은 OpenAI는 물론 Anthropic, Cohere 등 다양한 인터페이스와 호환되는 HTTP 서버를 제공해요. 이 페이지에서 어떤 API가 제공되는지 전체 지도를 그려볼게요.

출처: vLLM 공식 문서 — serving/online_serving

vLLM은 많은 인터페이스와 호환되는 HTTP 서버를 제공해요!

OpenAI 호환 서버 (OpenAI-Compatible Server)

vLLM은 다음 OpenAI API를 지원해요.

Anthropic API (Anthropic APIs)

  • Anthropic messages API (/v1/messages, /v1/messages/count_tokens)

Cohere API (Cohere APIs)

Pooling API (Pooling APIs)

pooling 모델에 대한 자세한 내용은 이 페이지를 참고하세요.

음성-텍스트 API (Speech to Text APIs)

음성-텍스트에 대한 자세한 내용은 이 페이지를 참고하세요.

커스텀 API (Custom APIs)

계측 API (Instrumentator APIs)

기본 API (Basic APIs)

  • /version - 버전 정보
  • /load - 서버 부하 메트릭스
  • /v1/models - 사용 가능한 모델 목록
  • /health - 헬스 체크

메트릭스 API (Metrics APIs)

메트릭스에 대한 자세한 내용은 이 페이지를 참고하세요.

  • /metrics - Prometheus 호환 메트릭스 HTTP 엔드포인트

오프라인 API 문서 (Offline API Documentation)

FastAPI /docs 엔드포인트는 기본적으로 인터넷 연결이 필요해요. 에어갭(air-gapped) 환경에서 오프라인 접근을 활성화하려면 --enable-offline-docs 플래그를 사용하세요.

vllm serve NousResearch/Meta-Llama-3-8B-Instruct --enable-offline-docs

LoRA 동적 로딩 (LoRA dynamic loading)

LoRA 동적 로딩/언로딩이 API 서버에서 활성화돼 있어요. 이는 로컬 개발에만 써야 해요!

  • /v1/load_lora_adapter - LoRA 동적 로딩
  • /v1/unload_lora_adapter - LoRA 동적 언로딩

프로파일링 API (Profiling APIs)

vLLM 프로파일링에 대한 자세한 내용은 이 페이지를 참고하세요.

  • /start_profile - PyTorch profiler 시작
  • /stop_profile - PyTorch profiler 중지

SageMaker API (SageMaker APIs)

  • /ping - SageMaker 헬스 체크
  • /invocations - SageMaker 호환 엔드포인트 (/v1 엔드포인트와 같은 추론 함수로 라우팅)

확장 API (Scale-Out APIs)

확장 API는 vllm serve에서 기본적으로 비활성화돼요. 환경 변수는 0 또는 1만 받아요. 아래 엔드포인트를 등록하려면 VLLM_ENABLE_SCALE_OUT_ENDPOINTS=1로 설정하세요. 전용 vllm launch rendervllm serve --tokens-only 모드는 명시적 opt-in이며, 변수가 설정되지 않았을 때 필요한 엔드포인트를 활성화해요. 그 모드들에서는 명시적 0 값이 거부돼요.

Tokens IN <> Tokens OUT API

  • /inference/v1/generate - 완성 생성
  • /abort_requests - 진행 중인 요청 중단 (--tokens-only도 설정된 경우만)

렌더러 API (Renderer APIs)

렌더러 API에 대한 자세한 내용은 이 페이지를 참고하세요.

더 알아보기 (Learn more)