全部文章
工程实践

兼容 OpenAI,到底兼容哪些能力?

原型内容预览:文中数据、作者信息、产品声明及 API 示例尚待核验,示例暂不能作为已确认的接入说明。

“兼容 OpenAI”具体兼容哪些接口和参数?哪些地方有所扩展或不同?逐项说明接入时需要关注的细节。

同样写着“兼容 OpenAI”,不同网关支持的接口和参数却未必一样。你依赖的能力,可能恰好不在支持范围内。本文分别说明已实现的能力、扩展功能,以及有意保留的差异。

支持哪些接口

  • /v1/chat/completions:支持流式输出、tools、tool_choice 和结构化输出。
  • /v1/embeddings:支持批量处理。
  • /v1/images/generations:支持图像生成,以及图像编辑接口。
  • /v1/audio/transcriptions、translations 和 speech:覆盖音频转写、翻译和语音合成。
  • /v1/models:返回包含供应商信息的模型 ID。

切换 API 地址

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 被悄悄丢弃,输出质量可能下降,却很难从请求中看出原因,排查起来可能花上一周。

更多工程实践文章

Gemini 4 Argon API 接入指南

2026年10月15日 · 阅读 19 分钟

Jev 详解:如何为生产环境构建可靠、带类型的 AI 决策

2026年10月10日 · 阅读 20 分钟

什么是 LLM API?给开发者的实用指南

2026年9月16日 · 阅读 11 分钟