Chat Completions API

Ling.AI 最常用的对话入口;在 OpenAI 兼容请求体之上叠加模型路由、供应商适配、账号额度、用量审计和工具计费。

接口说明

客户端请求 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 控制工具调用策略,常见取值为 autonone 或指定某个工具函数
parallel_tool_calls boolean 是否允许模型在一次回复中返回多个 tool_calls,默认由上游模型决定
enable_search boolean 开启联网搜索能力,通常与 search_options 一起使用
search_options object 联网搜索高级配置,如 search_strategyforced_searchfreshnessassigned_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

如需处理文本 + 图片、音频或视频的单轮输入,并输出文本或语音,请关注 modalitiesaudioenable_thinking 和流式约束。完整接入方式请参考 Qwen-Omni 指南

知识检索

file_search 属于 Responses API 工具,不通过当前的 Chat Completions 接口启用。若您需要基于知识库检索内容再生成回答,请改用 /v1/responses,并参考 知识检索指南

请求示例

curl
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": "你好,请介绍一下自己。"}
    ]
  }'
Python
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)
Node.js
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);

返回示例

JSON
{
  "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)。

Python
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 错误响应格式如下:

JSON
{
  "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 CompletionsResponses API
入口/v1/chat/completions/v1/responses
消息格式messages 数组input 字符串或消息数组
内置工具通过 enable_search 等参数通过 tools 数组(含 web_searchfile_searchcode_interpreter
兼容性OpenAI Chat Completions 协议OpenAI Responses API 协议
适用场景常规对话、函数调用需要内置工具编排的复杂任务

💡 提示

两个入口共享同一套模型与计费规则,选择哪个入口取决于您的接入协议和工具编排需求。

Anthropic 协议兼容

系统额外提供 POST /anthropic/v1/messages 路由,兼容 Anthropic Messages API 格式。适合使用 Anthropic SDK 或需要原生 Claude 协议的场景。可用模型请通过 GET /v1/models 查询。

Anthropic SDK
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-keyAuthorization: Bearer 两种认证方式,API Key 与 /v1 入口通用。