跳到主要内容

文本生成(Chat Completions)

文本生成统一使用 POST /v1/chat/completions。平台不在此页面固定承诺某一批模型,实际可用模型请先查询 GET /v1/models。

核心参数​

  • model:当前令牌返回的模型 ID。
  • messages:按顺序传入的对话历史。
  • max_completion_tokens:推荐使用的输出上限。
  • max_tokens:兼容旧客户端的字段。
  • stream:开启 SSE 流式输出。
  • temperature、top_p、top_k、stop:按模型能力选择。
  • tools、tool_choice:模型支持时启用工具调用。
  • reasoning_effort:仅对支持推理强度的模型生效。

Python 示例​

from openai import OpenAI

client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.openfde.work/v1",
)

models = client.models.list()
model = next(m.id for m in models.data if m.id == "MiniMax-M3")

response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "请用一句话介绍混合专家模型。"},
],
max_completion_tokens=512,
)

print(response.choices[0].message.content)
if getattr(response.choices[0].message, "reasoning_content", None):
print("reasoning available")

流式输出​

stream = client.chat.completions.create(
model="MiniMax-M3",
messages=[{"role": "user", "content": "写一段产品介绍。"}],
max_completion_tokens=512,
stream=True,
)

for chunk in stream:
delta = chunk.choices[0].delta
if delta.reasoning_content:
continue
if delta.content:
print(delta.content, end="")

不同推理模型的 SDK 对 reasoning_content 暴露方式可能不同;不要假设每个 chunk 都有 content。输出上限过小可能导致 finish_reason=length。

参数兼容边界​

网关可以解析 OpenAI 通用字段,但适配器会根据上游能力转发、转换或忽略字段。新项目不要使用已被 OpenAI 生态淘汰的 functions / function_call,改用 tools / tool_choice。模型不支持的采样参数应删除后重试。

错误处理​

  • 401:令牌无效或不允许外部访问。
  • 403:模型白名单、分组或等级不允许。
  • 404:模型或路径不存在。
  • 429:额度、并发或上游限流。
  • 503:当前模型没有可用渠道。