본 기사는 OpenAI 호환 API 표준이 다양한 추론 엔진과 호스팅 제공업체 간에 어떻게 달라져 침묵하는 실패나 예기치 않은 동작을 초래하는지, 그 구체적인 12개 영역을 상세히 다룹니다. 핵심 요청 구조와 기본 스트리밍은 안정적으로 작동하지만, 매개변수 처리, 오류 응답 및 기능 지원의 미묘한 차이가 애플리케이션을 깨뜨릴 수 있습니다.
- 알려지지 않은 매개변수는 종종 400 오류로 거부되기보다 침묵하게 무시됩니다.
- 추론 모델은 `max_tokens` 대신 `max_completion_tokens`를 필요로 할 수 있으며, 이에 대한 수용이 일관되지 않습니다.
- 토큰 사용 통계는 `stream_options`를 통해 명시적으로 요청하지 않는 한 스트리밍 응답에서 자주 누락됩니다.
- 도구 호출 지원은 크게 다르며, 많은 서버가 네이티브 병렬 호출이나 엄격한 스키마 준수를 결여하고 있습니다.
- JSON 모드 구현은 기본 객체 검증과 스키마를 사용한 제한 디코딩 간에 다릅니다.
- 컨텍스트 오버플로우 처리는 하드 400 오류부터 시스템 프롬프트의 침묵하는 잘라내기에 이르기까지 다양합니다.
- `finish_reason` 값에는 표준 stop, length 및 tool_calls를 넘어선 제공업체 고유 추가 사항이 포함됩니다.
- 오류 엔벨로프와 속도 제한 응답(본문 오류가 있는 429, 503 또는 200)은 일관되지 않습니다.
- 추론 모델의 온도 설정은 수용되더라도 내부적으로 무시될 수 있습니다.
- 멀티모달 입력 처리는 크기 한계, MIME 유형 및 `detail` 매개변수에서 다양합니다.
- 임베딩 엔드포인트는 서로 다른 차원성과 정규화 때문에 이식성이 부족합니다.
- 멱등성 키는 거의 지원되지 않으며, 요청-ID 헤더는 일관되지 않은 명명 방식을 사용합니다.
저자는 모델 버전이 자주 변경되고 침묵하는 실패가 프로덕션 환경에서 디버깅하기 어렵기 때문에, 이러한 특정 동작에 대한 제공업체 준수성을 테스트하기 위해 프로브 스크립트를 사용할 것을 권장합니다.