Repolode
deepseek-ai

deepseek-ai/deepseek-recipe

将多种 LLM API 请求统一转换为 DeepSeek 对话格式并渲染 prompt 的 Rust 库与 Python 绑定。

可替代:DeepSeek-V4-ProDeepSeek-V4.1-Flash

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. 1

    安装 Python 包

    python3 -m pip install deepseek-recipe
  2. 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 数据每日更新。

相关项目