Quick Start
기존 OpenAI 코드에서 아래 두 줄만 바꾸세요.Base URL
모델마다 엔드포인트 URL이 다릅니다.<endpoint_id> 자리에 아래 표의 엔드포인트 ID를 입력하세요.
모델별 지원 기능
✅ 지원 · ❌ 미지원 ·
- 해당 없음 또는 미정
응답 형식
Chat Completions 응답은 OpenAI와 동일한 구조로 반환됩니다.Streaming
stream 옵션을 true로 설정하면 SSE(Server-Sent Events) 형식으로 응답을 실시간으로 받을 수 있습니다. (기본값: false)
- 응답 텍스트는 각 청크의
choices[0].delta.content에 나뉘어 전달되며, 스트림이 끝나면data: [DONE]이벤트가 전송됩니다. stream_options={"include_usage": true}를 함께 보내면 마지막 청크에서 토큰 사용량(usage)을 확인할 수 있습니다.
현재 Streaming은 Qwen3.6-35B-A3B, Qwen3.5-9B, Qwen3-32B, Llama3.3-70B 모델에서 지원됩니다.
Tool Calling (Function Calling)
AI가 외부 함수나 서비스를 호출하게 해 주는 기능입니다. Qwen3.6-35B-A3B, Qwen3.5-9B, Qwen3-32B, Llama3.3-70B 모델에서 지원됩니다. Tool Calling은 함수 정의와 요청, 모델의 함수 호출 제안, 함수 실행과 결과 전달의 세 단계로 진행됩니다. 모델은 함수를 직접 실행하지 않고, 호출할 함수와 인자만 생성합니다.1. 함수를 정의하고 요청
2. 모델이 함수 호출을 제안
함수 호출이 필요하다고 판단하면 모델은finish_reason: "tool_calls"와 함께 tool_calls 배열을 반환합니다.
3. 함수를 실행하고 결과를 전달
실행 결과를role: "tool" 메시지로 추가해 다시 요청하면, 모델이 결과를 바탕으로 최종 응답을 생성합니다.
tool_choice 옵션
tool_choice: "none"을 지정해도 요청에 tools 정의가 남아 있으면 응답 본문에 함수 호출 형식의 텍스트가 섞여 나올 수 있습니다. 함수 호출이 필요 없는 요청은 tools 파라미터를 빼고 보내는 것이 확실합니다.복수 함수 호출 (parallel_tool_calls)
모델은 한 응답에서 여러 함수 호출을tool_calls 배열로 반환할 수 있습니다. parallel_tool_calls를 false로 지정하면(기본값 true) 함수 호출이 한 번에 1개로 제한됩니다.
Streaming으로 Tool Call 받기
stream: true로 요청하면 tool call 정보가 여러 청크로 나뉘어 전달됩니다. 각 tool call의 첫 청크에는 id와 function.name이 포함되며, 이후 청크에는 분할된 function.arguments가 순차적으로 전달됩니다. 각 tool call을 index 기준으로 구분한 뒤, function.arguments를 수신 순서대로 이어 붙이면 됩니다. 스트림은 finish_reason: "tool_calls"가 포함된 청크와 함께 종료됩니다.
Vision (이미지 입력)
Qwen3.6-35B-A3B와 Qwen3.5-9B 모델은 이미지 입력을 지원합니다.messages[].content를 배열로 구성하고, 이미지를 image_url 타입으로 전달하세요. image_url.url에는 외부에서 접근 가능한 이미지 URL이나 base64로 인코딩한 데이터 URI(data:image/jpeg;base64,...)를 사용할 수 있습니다.
요청당 이미지 수는 모델별로 제한됩니다 — Qwen3.6-35B-A3B: 최대 4장, Qwen3.5-9B: 최대 1장. 동영상 입력은 지원되지 않습니다.
Reasoning (추론 출력)
Qwen3.6-35B-A3B와 Qwen3.5-9B 모델은 추론(thinking)을 지원합니다. 추론 과정은 최종 답변(content)과 분리되어 reasoning 필드로 반환됩니다.
- 추론 텍스트도
max_tokens를 소모합니다. 값이 너무 작으면 답변이 잘릴 수 있으니 넉넉하게 지정하세요. - 스트리밍에서는 추론 내용이
delta.reasoning으로 먼저 전달된 뒤delta.content가 이어집니다. - Qwen3-32B는 추론 과정이
reasoning필드 대신content안에<think>태그로 포함되어 반환됩니다. 동일하게enable_thinking: false로 끌 수 있습니다.
추론 비활성화
추론 없이 바로 답변을 받으려면chat_template_kwargs로 추론을 끌 수 있습니다.
JSON 모드 (Structured Outputs)
response_format을 지정하면 응답을 항상 유효한 JSON으로 받을 수 있습니다.
Embedding
텍스트를 벡터로 변환하는 기능입니다. 시맨틱 검색, 추천 시스템, RAG 등에 활용할 수 있습니다.input에 문자열 배열을 전달하면 여러 텍스트를 한 번에 임베딩할 수도 있습니다.
지원 파라미터
vLLM 공식 스펙 기반으로 주요 OpenAI 파라미터를 지원합니다.top_k, min_p, repetition_penalty 같은 vLLM 확장 샘플링 파라미터도 사용할 수 있습니다. OpenAI SDK에서는 extra_body로 전달하세요.관련 문서
API 호출 방법
시크릿 키 인증과 코드 기반 API 연동 전체 흐름을 확인합니다.
지원 모델 전체 보기
모든 모델의 스펙과 가격을 확인합니다.
문제 해결
자주 발생하는 오류와 해결 방법을 확인합니다.
API 레퍼런스
엔드포인트와 파라미터 등 API 상세 스펙을 확인합니다.

