연동 가이드
Gateway OpenAI 호환 범위
Node.js와 Python SDK가 사용하는 OpenAI Chat Completions 요청의 지원 필드와 거절되는 기능을 설명합니다.
ABTO Gateway의 데이터 경로는 POST /v1/chat/completions 하나이며,
OpenAI Chat Completions 형식으로 요청을 받습니다.
OpenAI SDK의 모든 API와 필드를 지원한다는 뜻은 아닙니다.
이 경로를 쓰는 SDK는 Node / Server JavaScript와 Python입니다.
지원하는 요청
섹션 제목: “지원하는 요청”| 영역 | 지원 범위 |
|---|---|
| 메시지 | system, developer, assistant role의 text content. user role은 text 문자열 또는 순서를 보존하는 text, 인라인 image_url, 인라인 PDF file part 배열 |
| 출력 길이 | max_completion_tokens, 레거시 별칭 max_tokens |
| 응답 개수 | n 생략 또는 1 |
| Streaming | stream 생략 또는 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.url에 data:image/png;base64,..., data:image/jpeg;base64,...,
data:image/webp;base64,..., data:image/gif;base64,... 중 하나를 넣어야 합니다.
PDF는 file.file_data에 data:application/pdf;base64,...를 넣고 선택적으로 file.filename을 함께 보낼 수 있습니다.
지원하지 않는 요청
섹션 제목: “지원하지 않는 요청”POST /v1/chat/completions 이외의 경로는 Responses API를 포함해 404를 반환하고,
지원 경로에 다른 HTTP method를 사용하면 405를 반환합니다.
올바른 경로와 method로 보낸 다음 요청은 조용히 무시하지 않고 400으로 거절합니다.
stream: true,n이1이 아닌 요청tool,functionrole과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_schemastop,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 단계의 404와 405 응답에는 x-abto-request-id가 없습니다.
OpenAI direct fallback으로 처리된 호출은 Gateway를 지나지 않으므로
ABTO telemetry, 옵션 정책, x-abto-request-id가 없습니다.