deepseek-recipe ≠ DeepInfer 引擎

协议层:转换 API 请求、渲染提示词、编码 token、解析输出。不做推理。调用方需提供推理后端、工具执行与 HTTP。

是 / 不是

deepseek-recipeDeepInfer
是请求 → Conversation → 提示词 / token;输出 → Chat Completions / Responses / Messages高性能推理引擎(开源离线路径面向 V4.1-Flash)
不是不加载权重、不跑算子不替代协议转换(请用 recipe 或自研胶水)
调用方须提供模型推理 + 工具执行 + HTTP 传输已支持加速器 + 构建环境
许可证MITApache-2.0

协议面

max_tokens 默认值

依据 recipe README:编码后若请求未设 max_tokens,由 ConversationRequest::resolve_max_tokens 补默认:

模式默认 max_tokens
非思考8192
思考65536
思考 + max effort131072

Python 安装

Python 3.10+:

python3 -m pip install deepseek-recipe
from deepseek_recipe import ChatCompletionRequest, ConversionOptions, DeepseekV41Encoding

request = ChatCompletionRequest({
    "model": "DeepSeek-V4.1-Flash",
    "messages": [{"role": "user", "content": "Hello"}],
})
converted = request.convert(ConversionOptions())
rendered = DeepseekV41Encoding().render_conversation(converted.conversation)
print(rendered.prompt)

Rust 安装

cargo add [email protected] [email protected] serde_json@1

源码构建与图像依赖见上游 development guide。演示:cargo run -p encoding-decoding-demo --locked → http://127.0.0.1:7778。

胶水说明

API 三件套(Messages · Chat Completions · Responses)

依据 recipe README 与生产解读:共享一套 Conversation;适配器完成 Messages / Chat Completions / Responses 进出。控制特殊 token 按 ID 编码,用户文本里“长得像标签”的内容保持字面量,避免注入。流式解析用状态机跨 UTF-8 / DSML / 工具参数分片。

关注点recipe 负责调用方仍要做
请求形态三件套 → Conversation + 提示词 / tokensHTTP 鉴权、限流
注入安全特殊 token 按 ID;用户文本无法注入控制符不可信图片 URL 的目标过滤
流式增量解析推理 / 正文 / 工具后端提供的 token 流
工具把工具调用事件落到协议帧真正执行工具