우리는 의도적으로 갈라지는 부분을 포함하여 OpenAI 호환성 레이어의 모든 끝점, 매개 변수 및 엣지 케이스를 살펴봅니다.
많은 게이트웨이가 OpenAI 호환성을 주장하고 사용자가 의존하는 표면적의 절반을 조용히 줄입니다. 이것이 바로 우리가 구현하는 것, 확장하는 것, 의도적으로 분기하는 부분입니다.
완전 지원
- /v1/chat/completions: 스트리밍, tools, tool_choice 및 구조화된 출력 지원
- /v1/embeddings: 배치 처리 지원
- /v1/images/generations 및 이미지 편집
- /v1/audio/transcriptions, 음성 번역 및 음성 합성
- /v1/models: 제공업체를 명시한 ID 지원
한 줄로 전환
from openai import OpenAI
client = OpenAI(
base_url="https://api.starsg.ai/v1",
api_key=STARSG_API_KEY,
)
우리가 갈라지는 곳
세 가지 고의적인 차이점. 첫째, 모델 ID는 공급자 자격이 있으므로 동일한 이름이 두 가지를 의미하지 않습니다. 둘째, 속도 제한 헤더는 업스트림 공급업체의 제한이 아닌 풀링된 게이트웨이 제한을 보고합니다. 셋째, 실제로 제공되는 모델, 캐시 상태 및 장애 조치 발생 여부를 전달하는 모든 응답에 대해 추가 amplink 블록을 반환합니다.
우리는 필드의 의미를 조용히 바꾸는 일은 하지 않습니다. 확장은 들어오는 길에 extra_body로 들어가고 나가는 길에 네임스페이스 블록으로 들어갑니다.
지원되지 않는 매개변수는 무시되는 대신 400를 사용하여 거부됩니다. logit_bias를 조용히 삭제하면 일주일 동안 품질 회귀를 디버깅하게 됩니다.