进阶 api-docs.deepseek.com 2026-10-13 22:45:34 · 23 阅读

第2章 FIM 补全 API(Beta)详解

FIM(Fill In the Middle,中间填充)补全 API(Beta 版) POST /completions FIM 补全 API。
使用此功能时,用户必须将 base_url 设置为 "https://api.deepseek.com/beta"。 请求 application/json Body required model string required 可选值:[deepseek-flash, deepseek-v4-pro] 指定要使用的模型 ID。使用 deepseek-flash 或 deepseek-v4-pro。 prompt string required 用于生成补全的提示词。 echo boolean nullable 在返回补全内容的同时回显提示词。不能与 suffix 或 logprobs 同时使用。 logprobs integer nullable 可选值:<= 20 包含对 logprobs 个最可能的输出 token 以及所选 token 的对数概率。例如,如果 logprobs 为 20,API 将返回最可能的前 20 个 token 列表。API 始终会返回采样 token 的对数概率,因此响应中最多可能包含 logprobs+1 个元素。 logprobs 的最大值为 20。 max_tokens integer nullable 补全中可以生成的最大 token 数。 stop string | string[] nullable 最多 16 个序列,遇到这些序列时 API 将停止生成更多 token。返回的文本不会包含停止序列。 oneOf MOD MOD string Array [string] stream boolean nullable 是否流式传输部分进度。如果设置,token 将在可用时作为仅数据 server-sent events 发送,并通过 data: [DONE] 消息终止流。Python 代码示例。 stream_options object nullable 流式响应选项。必须与 stream: true 一起设置;如果 stream 未设为 true,API 将返回 400 错误。 include_usage boolean 如果设为 true,流中的每个块都将包含 usage 字段,除最后一个块外,其他块的值为 null。如果省略或设为 false,除最后一个块外,所有块都不含 usage 字段。 无论如何,在 data: [DONE] 消息之前的最后一个块都携带整个请求的 token 使用统计数据,位于其 usage 字段中。注意不会发出单独的 usage-only 块:统计数据随最后一个内容块传输,该块的 choices 数组始终恰好包含一个元素,该元素没有新内容且 finish_reason 非空。 suffix string nullable 插入文本的补全之后跟随的后缀。 temperature number nullable 可选值:<= 2 默认值:1 使用的采样温度,介于 0 和 2 之间。较高的值(如 0.8)会使输出更具随机性,而较低的值(如 0.2)则更聚焦和确定。 通常建议只调整 temperature 或 top_p 之一,而非同时调整两者。 top_p number nullable 可选值:<= 1 默认值:1 temperature 采样的替代方案,称为核采样(nucleus sampling),模型考虑具有 top_p 概率质量的 token 结果。因此,0.1 意味着只考虑构成前 10% 概率质量的 token。 值必须大于 0 且最多为 1。通常建议只调整 top_p 或 temperature 之一,而非同时调整两者。 frequency_penalty deprecated 此参数不再受支持。若传递给 API 不会生效。 presence_penalty deprecated 此参数不再受支持。若传递给 API 不会生效。 响应 200 OK application/json Schema Example (from schema) Schema id string required 补全的唯一标识符。 choices object[] required 模型为输入提示词生成的补全选项列表。 Array [ finish_reason string required 可选值:[stop, length, content_filter, insufficient_system_resource, aborted] 模型停止生成 token 的原因。如果是 stop,表示模型到达自然停止点或指定的停止序列; 如果是 length,表示已达到请求中指定的最大 token 数; 如果是 content_filter,表示因内容过滤器标记而省略内容; 如果是 insufficient_system_resource,表示因推理系统资源不足而中断请求; 如果是 aborted,表示生成被中断。 index integer required logprobs object nullable required text_offset integer[] token_logprobs number[] tokens string[] top_logprobs object[] text string required ] created integer required 补全创建时的 Unix 时间戳(以秒为单位)。 model string required 用于补全的模型。 system_fingerprint string 此指纹表示模型运行的后端配置。 object string required 可选值:[text_completion] 对象类型,始终为 "text_completion"。 usage object 补全请求的使用统计信息。 completion_tokens integer required 生成的补全中的 token 数。 prompt_tokens integer required 提示词中的 token 数。等于 prompt_cache_hit_tokens + prompt_cache_miss_tokens。 prompt_tokens_details object required 提示词中 token 的细分。 cached_tokens integer 命中上下文缓存的提示词 token 数。与 prompt_cache_hit_tokens 相同。 prompt_cache_hit_tokens integer required 命中上下文缓存的提示词 token 数。 prompt_cache_miss_tokens integer required 未命中上下文缓存的提示词 token 数。 total_tokens integer required 请求中使用的 token 总数(提示词 + 补全)。 completion_tokens_details object 补全中 token 的细分。 reasoning_tokens integer 模型用于推理生成的 token 数。
"id": "string",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": {
"text_offset": [
0
],
"token_logprobs": [
0
],
"tokens": [
"string"
],
"top_logprobs": [
{}
]
},
"text": "string"
}
],
"created": 0,
"model": "string",
"system_fingerprint": "string",
"object": "text_completion",
"usage": {
"completion_tokens": 0,
"prompt_tokens": 0,
"prompt_tokens_details": {
"cached_tokens": 0
},
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 0,
"total_tokens": 0,
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}
加载中...

评论 (0)