接口说明
客户端请求 POST /v1/chat/completions,网关会先完成 API Key 鉴权、请求级系统参数读取、限流、余额准入和预扣费,再按模型记录选择 Provider 适配器。支持多轮对话、系统提示、函数调用、流式输出、视觉输入和部分百炼扩展字段,具体以所选模型能力为准。
POST
/v1/chat/completions
Authorization / x-api-key / x-goog-api-key
系统链路
Chat 请求会进入与 Responses、图片、视频、向量等接口一致的账务和审计链路:成功请求写入 usage_logs,余额变化进入钱包与账单展示;流式请求在收尾阶段结算最终 usage。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
model |
string | 是 | 模型 ID,须为 GET /v1/models 返回且后台已启用的 id |
messages |
array | 是 | 对话消息列表 |
messages[].role |
string | 是 | 角色类型:system / user / assistant |
messages[].content |
string/array | 是 | 消息内容。对多模态模型可传入内容数组,例如文本与图片、音频或视频组合 |
stream |
boolean | 否 | 是否启用流式响应,默认 false |
temperature |
number | 否 | 随机性,范围 0-2,默认 1 |
max_tokens |
integer | 否 | 最大生成 token 数 |
tools |
array | 否 | 函数调用工具列表,采用 OpenAI 兼容格式:{"type":"function","function":{...}} |
tool_choice |
string/object | 否 | 控制工具调用策略,常见取值为 auto、none 或指定某个工具函数 |
parallel_tool_calls |
boolean | 否 | 是否允许模型在一次回复中返回多个 tool_calls,默认由上游模型决定 |
enable_search |
boolean | 否 | 开启联网搜索能力,通常与 search_options 一起使用 |
search_options |
object | 否 | 联网搜索高级配置,如 search_strategy、forced_search、freshness、assigned_site_list |
enable_text_image_mixed |
boolean | 否 | 开启图文混合输出,和 enable_search 相互独立,可按模型能力组合使用 |
modalities |
array | 否 | 控制输出模态,例如 ["text"] 或 ["text","audio"],常用于 Qwen-Omni 一类多模态对话模型 |
audio |
object | 否 | 音频输出配置,例如 {"voice":"Cherry","format":"wav"},通常与 modalities 一起使用 |
enable_thinking |
boolean | 否 | 开启思考模式,常见于百炼混合思考模型;不同模型对思考与音频输出的兼容性可能不同 |
enable_code_interpreter |
boolean | 否 | 开启内置 Python 代码解释器,通常需与 enable_thinking 配合,并优先使用流式输出 |
stream_options |
object | 否 | 流式响应选项,如 {"include_usage": true} 可在最后一个 chunk 中返回 token 用量 |
thinking |
object | 否 | 推理配置,如 {"type": "enabled", "budget_tokens": 10000},用于支持推理模式的模型(如 DeepSeek-R1、Claude 系列等) |
response_format |
object | 否 | 输出格式约束,如 {"type": "json_object"} 或 JSON Schema 结构化输出。详见 结构化输出指南 |
函数调用
如需使用工具调用,请在请求中传入 tools,并从响应消息中的 tool_calls 读取工具名称与参数。完整两阶段调用流程请参考 函数调用指南。
联网搜索
如需启用实时检索,请传入 enable_search 和可选的 search_options。若要查看 Chat、Responses 与 DashScope 三种接入方式的差异,请参考 联网搜索指南。
代码解释器
如需在沙箱环境中执行 Python 代码,请传入 enable_code_interpreter。该能力通常与思考模式配合使用,并建议采用流式输出。详细差异请参考 代码解释器指南。
Qwen-Omni
如需处理文本 + 图片、音频或视频的单轮输入,并输出文本或语音,请关注 modalities、audio、enable_thinking 和流式约束。完整接入方式请参考 Qwen-Omni 指南。
知识检索
file_search 属于 Responses API 工具,不通过当前的 Chat Completions 接口启用。若您需要基于知识库检索内容再生成回答,请改用 /v1/responses,并参考 知识检索指南。
请求示例
curl https://api.vip.lingapi.ai/v1/chat/completions \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-plus",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "你好,请介绍一下自己。"}
]
}'
from openai import OpenAI
client = OpenAI(
base_url="https://api.vip.lingapi.ai/v1",
api_key="sk-xxxxxxxx"
)
response = client.chat.completions.create(
model="qwen3.5-plus",
messages=[
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "你好,请介绍一下自己。"}
]
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.vip.lingapi.ai/v1',
apiKey: 'sk-xxxxxxxx'
});
const response = await client.chat.completions.create({
model: 'qwen3.5-plus',
messages: [
{ role: 'system', content: '你是一个有帮助的助手。' },
{ role: 'user', content: '你好,请介绍一下自己。' }
]
});
console.log(response.choices[0].message.content);
返回示例
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1677652288,
"model": "qwen3.5-plus",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是 AI 助手,很高兴为你服务。"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 15,
"total_tokens": 43
}
}
流式响应
设置 stream: true 启用流式响应,服务端会持续推送数据块(SSE)。
from openai import OpenAI
client = OpenAI(
base_url="https://api.vip.lingapi.ai/v1",
api_key="sk-xxxxxxxx"
)
stream = client.chat.completions.create(
model="qwen3.5-plus",
messages=[{"role": "user", "content": "写一首诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
💡 提示
流式响应适合实时显示 AI 输出,提升用户体验。完整流式响应指南请参考 流式响应文档。
错误处理
API 错误响应格式如下:
{
"error": {
"message": "Invalid API key",
"type": "authentication_error",
"code": "invalid_api_key"
}
}
| 错误码 | 说明 | 解决方案 |
|---|---|---|
401 |
认证失败 | 检查 API Key 是否正确 |
429 |
请求频率超限 | 降低请求频率或升级套餐 |
500 |
服务器错误 | 稍后重试或联系支持 |
Responses API 对比
除 /v1/chat/completions 外,系统还支持 POST /v1/responses 入口。两者对比如下:
| 特性 | Chat Completions | Responses API |
|---|---|---|
| 入口 | /v1/chat/completions | /v1/responses |
| 消息格式 | messages 数组 | input 字符串或消息数组 |
| 内置工具 | 通过 enable_search 等参数 | 通过 tools 数组(含 web_search、file_search、code_interpreter) |
| 兼容性 | OpenAI Chat Completions 协议 | OpenAI Responses API 协议 |
| 适用场景 | 常规对话、函数调用 | 需要内置工具编排的复杂任务 |
💡 提示
两个入口共享同一套模型与计费规则,选择哪个入口取决于您的接入协议和工具编排需求。
Anthropic 协议兼容
系统额外提供 POST /anthropic/v1/messages 路由,兼容 Anthropic Messages API 格式。适合使用 Anthropic SDK 或需要原生 Claude 协议的场景。可用模型请通过 GET /v1/models 查询。
curl https://api.vip.lingapi.ai/anthropic/v1/messages \\
-H "x-api-key: sk-xxxxxxxx" \\
-H "anthropic-version: 2023-06-01" \\
-H "Content-Type: application/json" \\
-d '{
"model": "your-claude-model-id",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "你好"}
]
}'
认证方式
Anthropic 协议入口支持 x-api-key 和 Authorization: Bearer 两种认证方式,API Key 与 /v1 入口通用。