基于 Rust 的终端编程智能体,源自 OpenAI Codex,专为低成本与开源模型优化。
deepseek-ai/deepseek-recipe
将多种 LLM API 请求统一转换为 DeepSeek 对话格式并渲染 prompt 的 Rust 库与 Python 绑定。
- Star
- 1,254
- Fork
- 116
- 未关闭 Issue
- 29
- 最近提交
- 23小时前
这是什么?
deepseek-recipe 是一组 Rust crate 及其 Python 绑定,作用是在推理后端与使用不同协议格式的 API 客户端之间加一层统一转换。它负责协议层面的“管道”:把 Messages、Chat Completions、Responses 格式的请求转成统一的 Conversation,再渲染成 DeepSeek 模型可用的 prompt(或 token ID),最后把模型输出解析回客户端要求的响应格式。
库本身把关键环节留给调用方:模型推理、工具执行和 HTTP 传输都由外部提供,crate 只做转换、渲染与解析。支持文本与图片、thinking 模式、客户端工具调用、Chat Completions 的 `prefix` 续写、流式响应,以及 `json_schema` 或 `regex` 结构化输出和 logprobs 透传。图片可来自 base64 或外部 URL,V4.1 会用 OpenCV 预处理,V4 则会替换为 `[Unsupported Image]`;从不可信请求抓取 URL 的服务可安装 `DestinationFilter`。附加 tokenizer 后可把对话编码成 token ID,并据此统计 reasoning tokens、校验 `max_tokens` 与上下文上限。
Rust 与 Python 都可用:Rust 示例用 serde 读取 Chat Completions 请求并渲染 V4.1 prompt,Python 包 `deepseek_recipe`(Python 3.10+)提供同样的能力。仓库还带一个网页 demo,可渲染 prompt、高亮特殊 token,并把完整模型输出解析成三种协议响应。
核心功能
- 01把 Messages、Chat Completions、Responses 请求统一转成 Conversation 格式,并把模型输出解析回对应格式。
- 02渲染 DeepSeek V4 与 V4.1 对话为 prompt,或在附加 tokenizer 后编码为 token ID。
- 03支持流式响应、thinking 模式、客户端工具调用和 Chat Completions 的 `prefix` 续写。
- 04结构化输出支持 Chat Completions 的 `response_format`(`json_schema` 或 `regex`)与 Responses 的 `text.format`(`json_schema`)。
- 05图片支持 base64 与外部 URL,V4.1 会用 OpenCV 预处理。
- 06对照上下文上限解析 `max_tokens`,默认值在非 thinking 模式为 8192、thinking 模式为 65536、`max` 推理强度为 131072。
- 07把 `logprobs` 与 `top_logprobs` 转换为 `InferenceOptions`,概率本身由后端提供。
- 08提供 Python 绑定(`deepseek_recipe`)、Axum 与 FastAPI 两个 mock 推理示例服务,以及网页 demo。
适用场景
- 为自建的 DeepSeek 推理后端套一层统一接口,同时服务 Messages、Chat Completions 和 Responses 客户端。
- 在不重写各套协议的前提下,为已有模型端点补上流式输出、工具调用或 JSON 结构化输出。
- 把对话渲染成模型实际使用的 prompt,用于训练或评测数据准备。
- 统计 prompt 与 reasoning 输出的 token 数,或校验 `max_tokens` 是否超出上下文上限。
- 借助自带的网页 demo 调试 prompt 格式与输出解析。
快速上手
- 1
安装 Python 包
python3 -m pip install deepseek-recipe - 2
使用 README 中的示例代码转换 Chat Completions 请求并渲染提示词
使用前须知
- 该库不提供模型推理、工具执行或 HTTP 传输,需要调用方自行实现。
- DeepSeek V4 不支持图片,请求中的图片会被替换为文本占位符。
- Rust 示例中的图片相关依赖需要源码构建,详见单独的开发指南。
标签
常见问题
- deepseek-recipe 是什么?
- 将多种 LLM API 请求统一转换为 DeepSeek 对话格式并渲染 prompt 的 Rust 库与 Python 绑定。 deepseek-recipe 是一组 Rust crate 及其 Python 绑定,作用是在推理后端与使用不同协议格式的 API 客户端之间加一层统一转换。它负责协议层面的“管道”:把 Messages、Chat Completions、Responses 格式的请求转成统一的 Conversation,再渲染成 DeepSeek 模型可用的 prompt(或 token ID),最后把模型输出解析回客户端要求的响应格式。
- deepseek-recipe 可以免费使用吗?用的什么许可证?
- deepseek-recipe 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- deepseek-recipe 还在维护吗?
- 活跃维护中。deepseek-recipe 最近一次提交是在 2026年10月19日。
- deepseek-recipe 适合用来做什么?
- 为自建的 DeepSeek 推理后端套一层统一接口,同时服务 Messages、Chat Completions 和 Responses 客户端。 在不重写各套协议的前提下,为已有模型端点补上流式输出、工具调用或 JSON 结构化输出。 把对话渲染成模型实际使用的 prompt,用于训练或评测数据准备。 统计 prompt 与 reasoning 输出的 token 数,或校验 `max_tokens` 是否超出上下文上限。 借助自带的网页 demo 调试 prompt 格式与输出解析。
- deepseek-recipe 怎么安装和运行?
- 安装 Python 包: python3 -m pip install deepseek-recipe 使用 README 中的示例代码转换 Chat Completions 请求并渲染提示词
- 在哪里获取 deepseek-recipe?
- 源代码和安装说明在 GitHub 上:https://github.com/deepseek-ai/deepseek-recipe
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于大语言模型和计算机视觉的开源浏览器自动化工具,可在任意网站上执行工作流,并在 Playwright 上扩展 AI 能力。
OpenAI 模型使用的快速 BPE 分词器,可将文本与 token 互相无损转换。
一款命令行工具,可直接打开 OpenCode、Claude Code 等编程智能体,并自动接入指定的托管或本地开源模型。
用 Rust 编写的安全 Python 沙箱,用于运行 AI 生成的代码,无需容器。