openai-compatible-endpoint · ZH · 2026-09-26

用 OpenAI 兼容的 /chat/completions 接口

介绍如何通过 OpenAI 兼容的 /chat/completions 接口调用聚合站,在不改动现有 SDK 代码的前提下,仅修改 base_url 和 API key,即可切换至多个模型(如 Claude、GPT、DeepSeek 等)。内容涵盖请求格式、模型指定、流式响应以及常见注意事项。

为什么用 /chat/completions 接口

聚合站提供与 OpenAI 兼容的 REST 接口 /chat/completions,这意味着你可以直接使用 OpenAI 官方 SDK、LangChain 等成熟的客户端库,只需修改 baseurl 和 apikey,就能调用多个不同厂商的模型。无需学习新的 API 规范,也不需要为每个模型单独编写适配层。

如何配置 base_url

在代码中初始化客户端时,将 baseurl 指向聚合站的 API 地址,并将 apikey 替换为你在聚合站申请的密钥。

Python(openai 库)

from openai import OpenAI

client = OpenAI(
    base_url="https://your-aggregator.com/v1",  # 替换为聚合站提供的地址
    api_key="sk-your-aggregator-key"            # 替换为你的密钥
)

LangChain 示例

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-3-opus",                      # 模型名由聚合站定义
    openai_api_key="sk-your-aggregator-key",
    openai_api_base="https://your-aggregator.com/v1"
)

Node.js(openai 包)

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://your-aggregator.com/v1',
  apiKey: 'sk-your-aggregator-key'
});

发起请求

请求体格式与 OpenAI 完全一致,只需在 model 字段中填入聚合站支持的模型标识。

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "你好,介绍一下你自己。"}
    ],
    stream=False
)

print(response.choices[0].message.content)

支持的模型标识

聚合站通常允许调用多个模型,例如 Claude、GPT、DeepSeek、Qwen、GLM、Kimi 等。具体标识请参考聚合站的模型列表文档。切换模型只需修改 model 字段,无需调整其他参数。

流式响应

将 stream=True 即可获得与 OpenAI 一致的流式输出体验。

for chunk in client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "写一首短诗"}],
    stream=True
):
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

计费与用量

用户按模型官方价格乘以 1.3 进行扣费;贡献 API key 的用户,按官方价格乘以 1.1(优质 key 乘以 1.2)获得 USDC 返利。该计费方式与 OpenAI 的 usage 字段无关,具体扣费金额以聚合站账单为准。

注意事项

  • 模型名称:不同聚合站对同一模型的命名可能不同,务必查阅文档确认。
  • 上下文长度:各模型支持的上下文窗口不同,超长请求可能被拒绝。
  • 错误处理:接口会返回标准 HTTP 状态码(如 400、429),建议按 OpenAI 官方建议处理错误。
  • 参数兼容性:并非所有 OpenAI 参数都适用于所有模型(如 logprobs),建议先查阅聚合站说明。

总结

通过标准的 /chat/completions 接口,你可以用最熟悉的 SDK 快速接入聚合站,实现多模型调用。仅需修改 baseurl 和 apikey,即可在 OpenAI、LangChain 等生态中无缝切换模型。