all-in-rag 食谱数据实战:从「无骨鸡爪」Markdown 到父子块检索的全流程解析
教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载本篇指南以 Datawhale all-in-rag 仓库中的真实菜谱文档 无骨鸡爪.md 为核心对象先完整还原这道酸辣开胃、Q 弹爽口的凉菜做法再以此为样本拆解它如何被仓库 code/C8 中的尝尝咸淡 RAG 系统加载、增强元数据、按 Markdown 标题结构分块并最终用于混合检索与问答生成。读完你将同时掌握一道五星难度菜谱的完整烹饪流程以及一份结构化菜谱文档在 RAG 流水线中从原始 Markdown 到可检索文本块的完整生命周期。一、食谱档案一道做法简单但消耗体力的五星凉菜无骨鸡爪是一道典型的工序决定成败的菜——调味料本身并不复杂真正的挑战在于去骨环节需要耐心与体力。原文档中标注其预估烹饪难度为★★★★★五星第一次制作的总耗时约为8 小时 15 分钟其中去骨约 2 小时、冷藏腌制约 6 小时。从数据结构的角度看这份文档遵循了仓库菜谱数据的统一规范以# 一级标题记录菜品名称以## 二级标题划分必备原料和工具 / 计算 / 操作 / 附加内容等章节。这种高度规整的结构正是 docs/chapter8/01_env_architecture.md 中所强调的、最适合按标题层级分块的文档形态。二、必备原料和工具制作无骨鸡爪所需原料如下后续计算一节会给出精确用量鸡爪姜料酒大葱大蒜小米辣洋葱生抽蚝油黑醋推荐陈醋白糖盐花椒油香菜柠檬需要说明的是原文档附注指出成品图片颜色较浅是因为家里人口味偏好酱油少的版本——生抽用量可以根据口味在参考值基础上自由调整。三、计算2-3 人份的标准用量原文档明确说明一份正好够2-3 个人食用用量配比是一份完整的可执行清单原料用量备注鸡爪1kg主料姜4 片焯水去腥用料酒65g焯水去腥用大葱3 段每段约 5cm大蒜10 瓣腌料小米辣4 个少辣/ 6 个中辣/ 12 个大辣文档推荐大辣洋葱半个腌料生抽75g15g × 5可按口味增减蚝油30g15g × 2黑醋推荐陈醋50g酸味核心来源白糖10g平衡酸辣盐3g花椒油10ml提供麻香香菜3 颗增香柠檬2 颗以 1 颗为单位调整酸度小米辣的辣度档位设计是这道菜的灵活变量不吃辣可以减到 4 个追求刺激则直接上 12 个。柠檬同理酸度以颗为单位调节2 颗是推荐值但完全可以按口味增减。四、操作流程4.1 鸡爪处理焯水去腥用剪刀或刀把鸡爪上的指甲部分全部剪掉包括指甲下面的肉和骨头让它一点指甲都不剩用水把鸡爪洗干净放一边备用将鸡爪放入大锅中准备去腥放入全部大葱、料酒、姜加水没过鸡爪大火煮开中途可以把浮末捞起来水开100 度沸腾后等 10 分钟关火捞出来把水沥干洗干净放入盆里。⚠️ 附加提示操作时需要注意观察沸腾的水位线如发现水位低于食材的 3/4应加热水至没过食材避免煮制不均匀。4.2 去骨可省略约 2 小时这是全流程最耗体力的一步原文档明确说明此步骤可以省略省略后即为带骨版本风味相近但少了无骨的口感体验。完整去骨步骤如下将焯好洗净的鸡爪放入冰箱冷冻层 20 分钟——冷冻能让皮肉适度收紧、骨头更好分离从冷冻层取出后放入非冷冻层冷藏然后分批 10 个一批拿出来去骨避免长时间暴露在室温下从鸡爪的手指最前端开始每只手指都要用刀划开划到它的手背部分再从手背部用刀分划开至整个手臂把每只手指的关节处都掰一掰像按压手指发出声响那样松动关节按着手指最前端往里推每只手指都一样先推到中间手掌、手背部分每只手指的皮脱离后从手掌开始往手臂部分推直到整个鸡爪皮肉完整脱下来放入碗中备用。4.3 调配腌料核心风味成型小米辣切成均匀小颗大蒜、洋葱、香菜切碎柠檬对半切开把柠檬汁挤入装鸡爪的容器里把全部调料倒入装鸡爪的容器小米辣、大蒜、洋葱和香菜也一并放进去抓拌均匀调配好后全部放入准备好的鸡爪放入冰箱冷藏一个晚上约 6 个小时入味。至此一份酸辣开胃、Q 弹爽口的无骨鸡爪就完成了。总耗时中绝大部分来自冷藏腌制6 小时实际手工作业时间约 2 小时出头的去骨加上约 15 分钟的焯水与调料处理。五、数据视角无骨鸡爪文档如何进入 RAG 流水线上面还原的是原文档的完整烹饪内容。接下来我们切换视角看看仓库中的尝尝咸淡 RAG 系统code/C8是如何消费这份文档的——这既是 docs/chapter8/02_data_preparation.md 所述小块检索大块生成父子文本块策略的真实样本也是验证整条 RAG 链路的最佳载体。5.1 文档加载与元数据增强系统启动后数据准备模块 data_preparation.py 通过rglob(*.md)递归扫描 data/C8/cook 目录下的所有菜谱文件对每个文件执行_enhance_metadata元数据增强。以无骨鸡爪这份文档为例实际提取结果如下菜品分类category从文件路径中的目录名推断。meat_dish在CATEGORY_MAPPING中映射为荤菜因此data/C8/cook/dishes/meat_dish/无骨鸡爪/路径下的文档被标记为荤菜菜品名称dish_name直接取文件名主干stem即无骨鸡爪难度等级difficulty用正则re.search(r★, content)匹配文档中的连续星号5 颗星映射为非常困难。这也解释了原文档中预估烹饪难度★★★★★这行看似普通的描述在 RAG 系统中其实承担着结构化难度元数据的职责可被用于来一道困难的荤菜这类带过滤条件的检索。5.2 按 Markdown 标题结构分块元数据增强后chunk_documents调用_markdown_header_split使用MarkdownHeaderTextSplitter按三级标题结构对文档进行切分strip_headersFalse保留标题便于模型理解上下文。无骨鸡爪这份文档会被切分成如下几个子块父文档无骨鸡爪的做法.md ├── 子块1# 无骨鸡爪的做法 简介 难度评级★★★★★ ├── 子块2## 必备原料和工具 食材清单 ├── 子块3## 计算 2-3人份用量配比表 ├── 子块4## 操作 鸡爪处理/去骨/调配腌料步骤 └── 子块5## 附加内容 注意事项每个子块都会继承父文档的元数据分类、菜名、难度并额外获得chunk_id、parent_id、doc_typechild、chunk_index等字段同时建立parent_child_map父子映射。这正是 docs/chapter8/02_data_preparation.md 中检索用小子块、生成用父文档设计的落地当用户问无骨鸡爪需要什么食材时向量检索能精确命中子块 2而回答生成时则通过get_parent_documents取回包含完整步骤的父文档。5.3 混合检索与 RRF 重排索引构建index_construction.py使用BAAI/bge-small-zh-v1.5嵌入模型对子块向量化并存入 FAISS 后检索优化模块 retrieval_optimization.py 会同时运行 FAISS 向量检索和 BM25 关键词检索再用 RRFReciprocal Rank Fusion1 / (k rank)默认 k60对两路结果融合重排。例如无骨鸡爪怎么去骨这样的查询向量路负责语义匹配去骨步骤BM25 路负责关键词精确命中去骨二字双路融合能显著提升召回质量。5.4 生成回答最终由生成集成模块 generation_integration.py 根据查询路由结果选择回答模式detail类型查询如无骨鸡爪怎么做走分步指导模式提示词会引导模型组织菜品介绍 / 所需食材 / 制作步骤 / 制作技巧四段式回答并明确要求优先使用原文中的实用技巧从而把原文档附加内容里的水位线提醒等经验完整传递给用户。六、实操验证让 RAG 系统回答这道菜如果你想在本地亲自验证这条链路可以按 docs/chapter8/01_env_architecture.md 的说明操作# 创建虚拟环境并安装依赖 conda create -n cook-rag-1 python3.12.7 conda activate cook-rag-1 cd code/C8 pip install -r requirements.txt配置好MOONSHOT_API_KEY环境变量后运行python main.py启动交互式问答后可以尝试输入无骨鸡爪怎么做触发detail路由与分步指导模式、无骨鸡爪需要什么食材触发子块 2 的精确检索或推荐几个五星难度的荤菜触发难度 分类的元数据过滤检索。整个流程中无骨鸡爪这份文档会先后经历加载 → 元数据增强 → 标题分块 → 向量化建索引 → 混合检索 → 父子文档回溯 → LLM 生成每一环都可以在 main.py 的日志输出中看到对应打印信息便于对照理解。七、附加内容与要点小结去骨可省略嫌麻烦可以直接做带骨版本酸辣调味部分完全一致看护水位线焯水沸腾期间如水位低于食材 3/4需加热水至没过食材冷藏是关键6 小时冷藏腌制是入味核心不建议大幅缩短辣度酸度可调小米辣 4/6/12 个对应少/中/大辣柠檬以 1 颗为单位增减文档结构即数据资产这份菜谱之所以能无缝接入 code/C8 的 RAG 系统正是因为其严格的 Markdown 标题层级与统一的难度标注规范——在 all-in-rag 的菜谱数据集中每一份.md文件都是经过良好预处理的 RAG 语料。从一口酸辣爽脆的无骨鸡爪到一条完整的文档 → 元数据 → 子块 → 向量索引 → 检索重排 → 生成回答的 RAG 数据流水线这就是 Datawhale all-in-rag 仓库中以结构化食谱为载体的 RAG 实战最直观的缩影。相关实现细节可继续阅读 docs/chapter8/02_data_preparation.md 与 docs/chapter8/03_index_retrieval.md 获取更完整的模块级讲解。赞分享教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载相关推荐all-in-rag 实战以意式烤鸡菜谱为例解析 RAG 食谱知识库的结构化数据与父子文本块机制all in rag 实战以意式烤鸡菜谱为例解析 RAG 食谱知识库的结构化数据与父子文本块机制 本篇技术指南以 Datawhale all in ra教程人工智能大模型RAGDatawhale all-in-rag 实战以《可乐鸡翅》菜谱为例解析 RAG 数据准备与小块检索、大块生成全流程Datawhale all in rag 实战以《可乐鸡翅》菜谱为例解析 RAG 数据准备与小块检索、大块生成全流程 导读 本文以 all in rag教程人工智能大模型RAGDatawhale All-in-RAG 食谱数据实战B52 轰炸机鸡尾酒分层调制全解析Datawhale All in RAG 食谱数据实战B52 轰炸机鸡尾酒分层调制全解析 B52 轰炸机B 52是鸡尾酒中最具观赏性与仪式感的一款以甘露教程人工智能大模型RAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

BP神经网络Simulink仿真从S函数到调参避坑,一份可运行资源

BP神经网络Simulink仿真从S函数到调参避坑,一份可运行资源

简介:面向MATLAB R2016a环境使用S函数开展BP神经网络仿真的开发者,包内提供了已测试通过的完整实现,适合正在学习神经网络、需要在Simulink中搭建自定义模块的自动化或电气专业学生与工程师。共4个文件,包含slx仿真模型、m脚本与两…

2026/9/23 16:49:46 阅读更多 →
Ansoft Maxwell电机设计仿真实战技巧与工程应用

Ansoft Maxwell电机设计仿真实战技巧与工程应用

1. 项目背景与核心价值作为一名在电机设计领域摸爬滚打十年的工程师,我深知Maxwell软件在电磁场仿真中的江湖地位。这次的项目不是简单的软件操作指南,而是对Ansoft Maxwell在各类电机设计中实战应用的深度剖析。从最基础的永磁同步电机到复杂的开关磁阻…

2026/9/23 16:49:46 阅读更多 →
微信小程序模块化开发学习笔记:3.8 模块化

微信小程序模块化开发学习笔记:3.8 模块化

一、学习目标 通过本案例的学习,掌握微信小程序中模块化的基本概念和实现方法,理解如何在不同模块之间引用变量和函数。具体包括: 理解模块化的作用和意义。掌握 module.exports 导出模块变量和函数的方法。掌握 require() 引入模块的方法。…

2026/9/23 16:49:46 阅读更多 →

最新新闻

LSTM股票预测工程实践:从数据预处理到回测评估的完整指南

LSTM股票预测工程实践:从数据预处理到回测评估的完整指南

简介:这套基于Python与LSTM的股市预测项目,面向金融量化初学者和深度学习入门者,聚焦如何利用历史行情数据训练循环神经网络模型,并对未来价格走势进行预测与可视化。LSTM通过输入门、遗忘门和输出门控制信息流动,能较…

2026/9/23 17:34:55 阅读更多 →
搞定 when a child is born 报错,源码解析助你调试

搞定 when a child is born 报错,源码解析助你调试

搞定 when a child is born 报错,源码解析助你调试 复制来的代码跑不通,报错信息却像天书,这是很多开发者在接手遗留代码或学习新框架时最常见的崩溃瞬间。别慌,这种时候盲目改参数纯属碰运气,真正的破局点在于 源码解析 。以…

2026/9/23 17:34:55 阅读更多 →
GB/T 36911-2018运输包装标准核心要点解析

GB/T 36911-2018运输包装标准核心要点解析

1. 运输包装标准GB/T 36911-2018核心解读作为从事物流包装行业十二年的老手,我发现很多同行对GB/T 36911-2018的理解还停留在"贴标签"的层面。这个2018年发布的国家标准实际上构建了完整的运输包装技术体系,今天我就用最接地气的方式&#xff…

2026/9/23 17:34:55 阅读更多 →
Redwood 是什么:全栈 React 框架的架构、核心机制与开箱即用的开发体验

Redwood 是什么:全栈 React 框架的架构、核心机制与开箱即用的开发体验

后端前端Web框架开发工具 【免费下载链接】redwood RedwoodGraphQL 项目地址: https://gitcode.com/gh_mirrors/re/redwood 点击查看 免费下载 Redwood 是一个基于 React 的全栈 Web 应用框架,它把 GraphQL、Prisma、Jest、Storybook、Vite、Babel、Typ…

2026/9/23 17:34:55 阅读更多 →
基于JavaWeb的作业提交与批改系统:源码结构、数据库脚本与核心实现

基于JavaWeb的作业提交与批改系统:源码结构、数据库脚本与核心实现

简介:这是一套基于JavaWeb的作业提交与批改系统项目源码,面向计算机相关专业正在做毕设的学生,以及需要项目实战练习的Java学习者,可直接作为毕业设计使用。系统采用B/S结构,后台基于JSP、Servlet与JDBC实现&#xff0…

2026/9/23 17:34:54 阅读更多 →
网易媒体源码解析:3步搞定从教程到实战

网易媒体源码解析:3步搞定从教程到实战

网易媒体源码解析:3步搞定从教程到实战 看了一堆教程还是不会写项目?别急,问题不在你不够努力,而在于你只看了“怎么用”,没看“为什么”。今天我们就以【网易媒体】后端高并发场景为例,通过 源码解析…

2026/9/23 17:33:54 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →