小炒鸡肝做法详解:从焯水到爆炒的结构化菜谱实战(Datawhale All-in-RAG 数据源篇)
教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载小炒鸡肝是一道做法稍显讲究、但成品香辣下饭的家常荤菜适合喜欢吃动物肝脏的人。本篇文章以仓库中的 小炒鸡肝菜谱 为主体完整讲解其原料配比、焯水与炒制的关键步骤并在此基础上结合 All-in-RAG 项目第 8 章「尝尝咸淡 RAG 系统」的源码说明这样一份结构规整的 Markdown 菜谱是如何被加载、增强元数据、按标题分块并最终服务于智能问答检索的。读完本文你既能按方做出这道菜也能理解一份「可被 RAG 系统理解」的菜谱数据长什么样。一、菜品简介与难度定位小炒鸡肝属于「稍微麻烦」的菜它并不考验刀工或火候的花哨真正的门槛在于焯水这一步——既要彻底去腥又不能把鸡肝煮老初学者需要具备一定的焯水技巧。原文档对此给出了明确的定位适合喜欢吃肝的人也可以用其他动物的肝但鸡肝口感更好预估烹饪难度★★★对应「中等」难度档。在 All-in-RAG 的 RAG 系统中这句「预估烹饪难度★★★」并不是装饰而是会被正则解析为结构化元数据详见下文「难度星级如何被解析」一节。二、必备原料和工具按原文档整理制作小炒鸡肝需要以下原料与工具生鸡肝蒜苗蒜苗指大蒜幼苗发育到一定时期的青苗有些地方叫青蒜文中特别说明大葱、姜、料酒食用盐、鸡精味精、五香粉十三香、胡椒粉烧烤料或孜然粉可选芝麻可选食用油这份「必备原料和工具」清单在菜谱文件中以##二级标题组织是 RAG 分块后「食材类查询」最容易精确命中的子块。三、用量计算按份数配比每次制作前需要先确定做几份一份正好够 2 个人吃。每份的具体用量如下原料用量备注生鸡肝5 个约 800g主料蒜苗约 200g喜欢吃的可以多放大葱150g100g 切段焯水用50g 切片炒制用姜120g70g 切片焯水用50g 切丁炒制用料酒30ml焯水去腥食用盐5g炒制调味鸡精5g也可以是味精五香粉5g十三香胡椒粉5g炒制调味烧烤料或孜然粉10g可选芝麻5g可选出锅装饰食用油30ml炒制用原文档的计算逻辑非常清晰大葱与姜都按用途拆分——焯水段用大葱段 100g、姜片 70g炒制段用葱片 50g、姜丁 50g。这种精确到用途的配比方式正是「计算」章节独立成块后能被 LLM 直接引用的原因。四、操作步骤详解第一步焯水去腥关键鸡肝清洗备用蒜苗清洗切段备用大葱清洗后取 100g 切段、50g 切片姜清洗后取 70g 切片、50g 切丁分别备用清洗后的鸡肝放入锅内加入凉水淹没鸡肝放入 100g 切段的大葱、70g 切片的姜和 30ml 料酒开大火待水沸腾后调至中火撇去浮沫再等待 5-10 分钟关火捞出过凉水并清洗干净清洗干净后切片备用。焯水的三个要点冷水下锅让腥味随水温缓慢析出、加葱姜料酒辅助去腥、撇浮沫去除血沫杂质。焯好后务必过凉水冲洗。第二步炒制爆香增味开中火锅内加入 30ml 食用油等待约 10 秒使油升温加入 50g 切片的大葱和 50g 切丁的姜翻炒爆香爆香后加入切片的鸡肝翻炒至微微发黄加入蒜苗翻炒 30 秒断生后调至小火加入调味料食用盐 5g、鸡精味精5g、五香粉十三香5g、胡椒粉 5g以及可选的烧烤料或孜然粉 10g调至大火快速翻炒 30 秒防止糊锅关火盛出装盘可撒入 5g 芝麻作为装饰不喜欢或没有可不加。炒制的核心节奏是「中火爆香 → 中火炒肝 → 小火调味 → 大火收尾」最后一步大火快炒 30 秒是为了避免糊锅同时让调料均匀裹上食材。五、附加内容经验技巧原文档的「附加内容」补充了两条实操提醒焯水时注意观察沸腾的水位线不要让水溢出避免发生危险焯完水的鸡肝建议用凉水冲洗更推荐冰水可以让口感更好。这两条虽然简短但属于典型的「原文实用技巧」——在 RAG 系统生成「分步指导」回答时它们会被优先纳入「制作技巧」部分。六、这份菜谱如何成为 RAG 系统的结构化数据源在 All-in-RAG 项目的第 8 章实战项目中data/C8/cook 目录下的全部菜谱包括本文的小炒鸡肝共同构成了「尝尝咸淡 RAG 系统」的知识库。项目背景详见 docs/chapter8/01_env_architecture.md其中明确说明这类菜谱「结构高度规整、内容篇幅较短」天然契合第 2 章介绍的按标题层级分块思路。下面结合源码看小炒鸡肝这份文档的具体处理链路。6.1 文件路径与分类元数据code/C8/rag_modules/data_preparation.py 中的load_documents()使用rglob(*.md)递归加载数据目录下所有 Markdown 文件而_enhance_metadata()则从文件路径推断菜品分类CATEGORY_MAPPING { meat_dish: 荤菜, vegetable_dish: 素菜, soup: 汤品, ... }小炒鸡肝位于dishes/meat_dish/目录下因此会被自动打上category 荤菜的元数据标签同时dish_name取文件主名即「小炒鸡肝」。这意味着用户问「推荐几个简单的荤菜」时系统可以在检索阶段直接按分类元数据过滤命中这道菜。6.2 难度星级如何被解析菜谱中的「预估烹饪难度★★★」会被正则解析为结构化难度标签star_match re.search(r★, content) if star_match: star_count len(star_match.group()) difficulty_map {5: 非常困难, 4: 困难, 3: 中等, 2: 简单, 1: 非常简单} doc.metadata[difficulty] difficulty_map.get(star_count, 未知)因此本文菜谱的难度会被准确标记为「中等」。这份难度元数据随后可用于filter_documents_by_difficulty()与查询过滤例如回答「有没有中等难度的荤菜」这类问题。6.3 Markdown 结构分块一份菜谱被切成几个子块chunk_documents()与_markdown_header_split()使用MarkdownHeaderTextSplitter按标题层级切分headers_to_split_on [ (#, 主标题), # 菜品名称 (##, 二级标题), # 必备原料、计算、操作等 (###, 三级标题) # 简易版本、复杂版本等 ]以小炒鸡肝为例整份文档会被切成如下父子结构父文档小炒鸡肝.md完整菜谱 ├── 子块1主标题 # 小炒鸡肝的做法 简介 难度评级 ├── 子块2## 必备原料和工具 食材清单 ├── 子块3## 计算 用量配比表 ├── 子块4## 操作 焯水、炒制步骤 └── 子块5## 附加内容 经验技巧每个子块都会继承父文档的元数据分类、菜名、难度并记录parent_id、chunk_id、chunk_index从而建立父子映射。这正是第 8 章反复强调的「小块检索大块生成」策略用户问「小炒鸡肝需要什么食材」时向量与 BM25 检索会精确命中「必备原料和工具」子块而生成阶段则通过get_parent_documents()智能去重把完整父文档交给 LLM保证回答包含从原料到步骤的完整信息。6.4 检索与生成中的完整流转在 code/C8/main.py 的ask_question()中用户的「小炒鸡肝怎么做」会依次经历查询路由query_router识别为detail类型走分步指导模式查询重写query_rewrite包含具体菜名的查询保持原样混合检索RetrievalOptimizationModule.hybrid_search向量检索BGE 嵌入语义匹配与 BM25 检索关键词精确匹配双路召回再经 RRF 重排融合取top_k3见 code/C8/rag_modules/retrieval_optimization.py父子文档还原get_parent_documents()将命中的子块去重还原为完整菜谱生成回答generate_step_by_step_answer()使用分步指导提示词菜品介绍 → 所需食材 → 制作步骤 → 制作技巧把完整菜谱作为上下文交给 LLM见 code/C8/rag_modules/generation_integration.py。从这一链路可以看到本文这份小炒鸡肝菜谱之所以「开箱即用」是因为它严格遵守了项目约定的文档结构#一级标题 简介与难度 ##必备原料和工具 / 计算 / 操作 / 附加内容。你可以在 code/C8/config.py 中看到数据路径默认指向../../data/C8/cook整个菜谱库正是以此为根目录被递归加载的。七、小结小炒鸡肝是一道「门槛在焯水」的家常荤菜冷水下锅、葱姜料酒去腥、撇沫后煮 5-10 分钟再以「中火爆香 → 炒至微黄 → 小火调味 → 大火收尾」完成炒制。而在 All-in-RAG 的视角下这份菜谱同时是一个结构完美的 RAG 数据样本——它的难度星级、目录分类、标题层级都被 data_preparation.py 自动转化为可检索、可过滤的结构化元数据最终支撑起「今天吃什么」这类智能问答场景。如果你想亲自体验可按照 docs/chapter8/01_env_architecture.md 配置环境并运行python main.py向系统提问「小炒鸡肝怎么做」即可看到完整的检索与生成效果。赞分享教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载相关推荐Datawhale all-in-rag 食谱数据实战以「小炒肉」为例的 Markdown 结构化菜谱与 RAG 全链路解析Datawhale all in rag 食谱数据实战以「小炒肉」为例的 Markdown 结构化菜谱与 RAG 全链路解析 导读 本文以开源仓库 Dataw教程人工智能大模型RAG将 cua-driver 嵌入 macOS 应用零新增权限的计算机使用 Agent 集成指南将 cua driver 嵌入 macOS 应用零新增权限的计算机使用 Agent 集成指南 本篇技术指南面向正在交付 macOS Agent 应用age教程人工智能大模型RAG黄瓜炒肉标准化做法与 all-in-rag 菜谱知识库数据构建实战黄瓜炒肉标准化做法与 all in rag 菜谱知识库数据构建实战 导读 本文以开源仓库 all in rag 中「尝尝咸淡RAG系统」的真实菜谱数据 黄瓜炒肉教程人工智能大模型RAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026年AI视频总结工具推荐:支持B站、课程和播客的4款实用工具

2026年AI视频总结工具推荐:支持B站、课程和播客的4款实用工具

课程录播、B站知识视频、播客和访谈越来越长,但真正有价值的内容往往藏在几十分钟甚至几小时的音视频里。AI视频总结工具可以帮助用户提取重点、生成结构化内容,并在需要时快速回看原视频。选工具时,建议重点看三件事:是否支持你的…

2026/9/24 2:12:43 阅读更多 →
EKS IRSA 调 SQS 仍 403:先补 GetQueueUrl

EKS IRSA 调 SQS 仍 403:先补 GetQueueUrl

一句话摘要:Pod 已挂 IRSA,策略里也有收发删,SDK 仍 AccessDenied——缺的往往是 GetQueueUrl,且不要去改节点角色。 目录 前言 一、先分清三条链 二、IRSA 只读盘点 三、收发删不够:补三个只读动作 四、队列不存在不是没权限

2026/9/24 2:12:43 阅读更多 →
AI文献综述的研究现状梳理与未来发展趋势研判

AI文献综述的研究现状梳理与未来发展趋势研判

每次找到心仪的外国文献,却被付费墙冷冷地挡在外面,是不是感觉科研的热情瞬间被浇灭?作为学生党,我太懂这种无力感了。但好消息是,通过几个合法且免费的“通道”和技巧,我们完全能实现“文献自由”。今天分…

2026/9/24 2:11:43 阅读更多 →

最新新闻

ESP32驱动2.13寸墨水屏IL3895:从白屏到稳定刷新的全踩坑指南

ESP32驱动2.13寸墨水屏IL3895:从白屏到稳定刷新的全踩坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 2:53:12 阅读更多 →
Jetson Orin Nano无屏远程桌面实战指南

Jetson Orin Nano无屏远程桌面实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 2:53:12 阅读更多 →
Altium Designer 22导出带丝印PCB 3D模型到Solidworks的完整指南

Altium Designer 22导出带丝印PCB 3D模型到Solidworks的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 2:53:12 阅读更多 →
双栅MoS₂可重构电路:无掩膜直写光刻实现逻辑功能切换

双栅MoS₂可重构电路:无掩膜直写光刻实现逻辑功能切换

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 2:53:12 阅读更多 →
ESP32 + TEF6686 便携式 DSP 收音机完全制作指南

ESP32 + TEF6686 便携式 DSP 收音机完全制作指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 2:53:12 阅读更多 →
幽冥大陆(157)YK03酒店门锁SDK —东方仙盟筑基期

幽冥大陆(157)YK03酒店门锁SDK —东方仙盟筑基期

sdk函数调用函数库:提供Windows下的32位动态连接库YK03.DLL函数使用详细说明//-----------------------------------------------------------------------------------//功能:读DLL版本,不涉及USB口操作C原型:int __stdcall GetD…

2026/9/24 2:52:11 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

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 阅读更多 →