콘텐츠로 이동
ABTO 가이드

연동 가이드

Gateway OpenAI 호환 범위

Node.js와 Python SDK가 사용하는 OpenAI Chat Completions 요청의 지원 필드와 거절되는 기능을 설명합니다.

ABTO Gateway의 데이터 경로는 POST /v1/chat/completions 하나이며, OpenAI Chat Completions 형식으로 요청을 받습니다. OpenAI SDK의 모든 API와 필드를 지원한다는 뜻은 아닙니다. 이 경로를 쓰는 SDK는 Node / Server JavaScriptPython입니다.

영역지원 범위
메시지system, developer, assistant role의 text content. user role은 text 문자열 또는 순서를 보존하는 text, 인라인 image_url, 인라인 PDF file part 배열
출력 길이max_completion_tokens, 레거시 별칭 max_tokens
응답 개수n 생략 또는 1
Streamingstream 생략 또는 false
구조화 출력response_format: { type: 'text' } 또는 schema가 포함된 json_schema
품질 파라미터temperature, top_p, frequency_penalty, presence_penalty, seed, reasoning_effort, verbosity

Node.js와 Python SDK는 원본 요청 body를 Gateway로 전달합니다. 기능 정책이 적용된 요청에서는 model, system instructions, 품질 파라미터를 옵션이 대체할 수 있고, 정책이 없는 요청은 원본 값을 사용합니다.

미디어 content part는 user 메시지에서만 지원합니다. 이미지는 image_url.urldata:image/png;base64,..., data:image/jpeg;base64,..., data:image/webp;base64,..., data:image/gif;base64,... 중 하나를 넣어야 합니다. PDF는 file.file_datadata:application/pdf;base64,...를 넣고 선택적으로 file.filename을 함께 보낼 수 있습니다.

POST /v1/chat/completions 이외의 경로는 Responses API를 포함해 404를 반환하고, 지원 경로에 다른 HTTP method를 사용하면 405를 반환합니다.

올바른 경로와 method로 보낸 다음 요청은 조용히 무시하지 않고 400으로 거절합니다.

  • stream: true, n1이 아닌 요청
  • tool, function role과 tools, tool_choice, functions, function_call
  • audio와 text, image_url, file 이외의 content part
  • system, developer, assistant 메시지의 미디어 part
  • HTTP(S) 이미지 URL, image_url.detail, file.file_id, 지원하지 않는 MIME type, 잘못된 data URL
  • response_format: { type: 'json_object' }와 schema가 없는 json_schema
  • stop, logprobs, modalities, metadata, service_tier 등 allowlist 밖 필드
  • 오타나 새 provider 필드를 포함한 알 수 없는 필드

지원하지 않는 입력을 제거하거나 다른 의미로 바꿔 보내지 않기 때문에, Gateway가 수용한 요청만 실험과 운영 기록에 남습니다.

POST /v1/chat/completions 응답에는 성공과 실패, 문전 거절을 가리지 않고 x-abto-request-id가 포함됩니다. SDK에서 raw response header를 읽어 요청 상세와 연결하세요. Provider, transport, internal 오류에는 x-abto-error-source가 포함될 수 있습니다. Routing 단계의 404405 응답에는 x-abto-request-id가 없습니다.

OpenAI direct fallback으로 처리된 호출은 Gateway를 지나지 않으므로 ABTO telemetry, 옵션 정책, x-abto-request-id가 없습니다.