最近更新时间:2025-11-28 13:56:32
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
messages | array | 是 | 无 | 对话消息列表,按顺序包含历史对话内容。不同模型支持的消息类型可能不同,如文本、图片。 |
model | string | 是 | 无 | 使用的模型 ID,例如 DeepSeek-V3.1、Kimi-K2-Turbo-Preview 等。 |
frequency_penalty | number 或 null | 否 | 0 | 取值范围为[-2.0,2.0]。 正值减少重复token,负值增加重复token,可调整以改变模型逐字重复的可能性。 |
logit_bias | map | 否 | null | 取值范围为[-100,100]。 指定token的概率偏置,键为token ID,可调整指定token在输出内容中的出现概率。-100为禁止出现此token,100为强制选择该token。 |
logprobs | boolean 或 null | 否 | false | 是否返回输出token的对数概率。 |
max_completion_tokens | integer 或 null | 否 | null | 输出内容的最大token数上限,包括可见输出和深度思考token。 |
max_tokens | integer 或 null | 否 | null | 生成的最大 token 数上限,包括可见输出和推理 token。 |
metadata | map | 否 | null | 可附加最多 16 个键值对,键最大 64 字符,值最大 512 字符。 |
modalities | array 或 null | 否 | text | 希望模型生成的输出类型,通常为 ["text"],不支持“audio“。 |
n | integer 或 null | 否 | 1 | 生成的聊天完成选项数量,影响服务计费。 |
parallel_tool_calls | boolean | 否 | true | 是否在使用工具时允许并行调用(需模型支持工具调用)。 |
presence_penalty | number 或 null | 否 | 0 | 取值范围[-2.0,2.0]。 正值将增加模型谈论新主题的倾向。 |
response_format | object | 否 | null | 指定模型输出格式,可使用{"type":"json_object"},json_schema暂不支持。 |
store | boolean 或 null | 否 | false | 是否存储生成结果,用于模型蒸馏或评估。 |
stop | string / array / null | 否 | null | 生成 token 的停止序列,最多 4 个。 |
stream | boolean 或 null | 否 | false | 模型是否以SSE流式传输响应。 |
stream_options | object 或 null | 否 | null | 流式传输选项,仅在 stream 为 true 时设置。 |
temperature | number 或 null | 否 | 1 | 取值范围为[0,2]。 采样温度。高值增加模型输出的随机性,低值会使模型的输出更集中确定。 |
tool_choice | string 或 object | 否 | none 或 auto | 控制模型调用工具的方式,可选none、auto、required或指定工具(需模型支持)。 |
tools | array | 否 | null | 模型可调用的工具列表,包括自定义工具或函数工具(需模型支持)。 |
top_logprobs | integer 或 null | 否 | null | 每个输出token返回前N个最可能token的对数概率,需logprobs为true时可以设置。 |
top_p | number 或 null | 否 | 1 | 取值范围为[0,1]。 nucleus采样概率阈值。模型仅考虑概率质量在top_p以内的token结果。 |
verbosity | string 或 null | 否 | medium | 模型回答的详细程度,可选 low、medium、high。 |
truncation | string 或 null | 否 | disabled | 截断策略配置,可调整tokenizer的截断策略。 |
chat_template_kwargs | object | 否 | {} | 对话模板参数,用于控制对话行为和模型思考方式。例如 {“thinking”:true} 可开启深度思考,影响模型生成回答前的推理内容。 |
字段名 | 类型 | 是否必需 | 说明 |
id | string | 是 | 响应的唯一标识符,用于日志追踪或调试。 |
object | string | 是 | 返回对象类型,固定为 chat.completion,表示一次聊天完成请求的响应。 |
created | integer | 是 | 响应创建的 Unix 时间戳(秒),表示生成结果的时间。 |
model | string | 是 | 实际用于生成回答的模型 ID,例如 deepseek-v3.1。 |
choices | array | 是 | 模型生成的结果数组,通常包含一个或多个候选答案,当请求参数 n > 1 时可能多于一个。 |
choices[].index | integer | 是 | 当前候选答案在数组中的序号,从 0 开始。 |
choices[].finish_reason | string | 是 | 模型结束生成的原因:stop 表示完成生成,遇到自然的结束符或已输出完整内容;length 表示达到 max_tokens 或输出长度上限而被截断;content_filter 表示输出内容触发安全/内容过滤策略而被截断;null表示生成尚未结束,需继续读取后续数据块(流式响应中常见);function_call被tool_calls取代,已弃用;abort 表示请求被用户或系统主动中止,例如客户端取消或超时;tool_calls表示生成调用工具相关的输出后结束。 |
choices[].logprobs | object 或 null | 否 | 若请求时 logprobs=true,此处包含生成 token 的 log 概率信息;默认为 null。 |
choices[].matched_stop | integer或 null | 否 | 是否匹配到用户设置的 stop 序列及其索引;使用默认停止条件时,1代表自然结束,其他情况为null;当用户设置停止词并匹配时,返回匹配的停止词字符串 |
choices[].message.role | string | 是 | 消息角色,如 system、user、assistant,此处为 assistant。 |
choices[].message.content | string | 是 | 模型输出的可见文本内容。 |
choices[].message.reasoning_content | string 或 null | 否 | 模型可选的推理或“思考”文本,仅部分支持推理输出的模型会返回此字段。 |
choices[].message.tool_calls | array 或 null | 否 | 如果模型调用了外部工具或函数,这里包含调用信息,否则为 null。 |
usage | object | 是 | 本次响应的 token 计数统计,用于计费或监控。 |
usage.prompt_tokens | integer | 是 | 请求输入使用的 token 数。 |
usage.completion_tokens | integer | 是 | 模型输出的可见文本 token 数。 |
usage.reasoning_tokens | integer | 否 | 输出思维链内容消耗的 token 数,仅支持输出思维链的模型会返回。 |
usage.total_tokens | integer | 是 | prompt_tokens + completion_tokens + reasoning_tokens 的总和。 |
usage.prompt_tokens_details | object 或 null | 否 | 若启用详细统计,会细分不同角色或段落的输入 token 数。 |
metadata | object | 否 | 附加的元信息或服务端标识,用于调试或版本管理,例如 {"weight_version":"default"}。 |
以调用deepseek-v3.1为例,您可能会遇到这些错误码:
状态码 | 错误类型 | 错误信息示例 | 含义 / 使用条件 |
200 | Success | OK | 请求成功处理 |
204 | Success | No Content | 请求成功处理,但没有返回内容,如删除、更新操作成功但无需返回数据,或某些缓存/元数据查询无结果 |
400 | Bad Request | Unsupported Media Type | Content-Type 不是 application/json |
400 | Bad Request | Validation Error | 请求参数验证失败 |
400 | Bad Request | Get parameter by name failed | 按名称获取参数失败 |
400 | Bad Request | Failed to open the session | 打开会话失败(同名会话仍处于打开状态) |
400 | Bad Request | 具体业务错误信息 | 权重更新失败、缓存操作失败、LoRA适配失败等 |
401 | Unauthorized | Missing or invalid API key | 启用 API Key 时,缺少或错误的认证信息 |
403 | Forbidden | Permission denied | API Key 有效但权限不足 |
404 | Not Found | The model '{model}' does not exist | 请求的模型不存在 |
405 | Method Not Allowed | Method Not Allowed | 请求方式非法 |
408 | Request Timeout | Request timeout | 服务器在超时时间内未收到完整请求或处理超时。常见于网络延迟或网关超时 |
413 | Payload Too Large | Payload Too Large | 请求体过大,超过服务器允许的最大请求大小 |
429 | Too Many Requests | Rate limit exceeded | 触发限流策略(中间件或反向代理限制) |
500 | Internal Server Error | Internal Server Error | 服务器内部未捕获的异常,如子进程崩溃、调度器故障等 |
501 | Not Implemented | Not Implemented | 请求的功能或方法尚未实现,服务器无法处理该请求 |
502 | Bad Gateway | Bad gateway / upstream failure | 作为网关/代理时,上游服务无效响应或崩溃 |
503 | Service Unavailable | Service unavailable | 服务器关闭中、启动中或健康检查失败 |
504 | Gateway Timeout | Gateway Timeout | 作为网关/代理时,上游服务未在规定时间内响应 |
调用发生错误时response中返回的error参数中type的枚举值如下:
err_type | 使用场景 / 说明 |
InternalServerError | 服务器内部错误,如子进程崩溃、调度器故障或其他未捕获异常,对应 HTTP 500 |
invalid_request_error | 请求参数不合法、字段缺失、格式错误、枚举值不支持等,对应 HTTP 400 |
NotImplementedError | 调用尚未实现的功能或方法,如接口占位或未来功能,对应 HTTP 501 |
BadRequestError | 一般性请求错误或业务逻辑校验失败,例如模型参数非法,对应 HTTP 400 |
invalid_authentication_error | 当缺少或错误的认证信息时返回,对应 HTTP 401 |
纯净模式
