- 教程
- 人工智能
- 大模型
- RAG
【免费下载链接】all-in-rag
🔍大模型应用开发实战一:RAG 技术全栈指南,在线阅读地址:https://datawhalechina.github.io/all-in-rag/
本篇以 尖椒炒牛肉.md 为蓝本,系统讲解这道预估难度 ★★★ 的家常小炒的完整做法:从按人头计算的食材配比、姜盐酱糖腌制的关键细节,到"冷油下锅—蒜泥金黄—尖椒微皱"的翻炒火候控制。同时,本文将这份结构化菜谱放入 Datawhale all-in-rag 开源仓库的"尝尝咸淡 RAG 系统"(code/C8)中加以印证,展示它如何作为知识库数据被元数据增强、按标题分块并用于精确检索与完整生成。
一、菜品概览与必备原料
尖椒炒牛肉是一道以"香辣开胃、牛肉滑嫩"为特点的快炒家常菜。按照本仓库菜谱的通用模板(可参考 示例菜.md 的注释约定),菜谱文档以一级标题"尖椒炒牛肉的做法"开头,正文首先给出烹饪难度评级,随后依次是"必备原料和工具""计算""操作""附加内容"四个二级章节——这种高度规整的结构,正是下游 RAG 系统能够按标题直接分块的关键前提。
制作这道菜,需要准备以下原料与工具:
| 类别 | 原料/工具 | 说明 |
|---|---|---|
| 主料 | 牛肉 | 用量按人头计算,见下文"计算"章节 |
| 配料 | 葱、姜、蒜 | 分别用于增香、去腥、提味 |
| 配菜 | 尖椒 | 提供辣味与清香气,表皮微皱为下锅时机 |
| 调味 | 酱油、盐、糖 | 三者构成基础腌料与炒制调味 |
| 工具 | 炒锅、碗、菜刀、炒勺 | 基础厨房器具,仓库模板约定中已默认可得 |
二、用量配比:按人头精确计算
菜谱的"计算"章节给出了每人份的精确用量,制作前先确定用餐人数,再按比例放大即可:
| 原料 | 用量/人 | 备注 |
|---|---|---|
| 牛肉 | 250 g | 主料基准量 |
| 葱 | 0.5 根 | 切段,出锅前加入 |
| 姜 | 1 个 | 切片,用于腌制去腥,腌后取出 |
| 盐 | 3 g | 参与腌制 |
| 糖 | 1.5 g | 提鲜、平衡咸辣 |
| 酱油 | 9 ml | 参与腌制,奠定咸鲜底味 |
这种"给出每人份精确用量、按份数线性放大"的写法,与本仓库 示例菜.md 中"每次制作前需要确定计划做几份"的约定一致,也是 all-in-rag 仓库对菜谱文档质量的要求——避免使用"适量""少许"等不可量化的表述,从而保证 RAG 系统检索到的用量信息可以直接被 LLM 引用为可执行数据。
三、操作步骤全流程
3.1 配菜处理
动手前先完成所有配菜的预处理,做到"备菜在前、下锅不乱":
- 蒜:剁成蒜泥。蒜泥比蒜片更易炒出金黄焦香,是这道菜风味的核心来源之一;
- 葱:切段。葱段在下锅炒制的中后段加入,避免过早下锅炒蔫失去清甜;
- 姜:切成姜片。姜片用于腌制牛肉去腥,腌制完成后可挑出弃用;
- 尖椒:切成段。尖椒段在蒜泥之后入锅,炒至表皮微皱再下牛肉。
3.2 牛肉的预处理(腌制 30–40 分钟)
牛肉的嫩度与入味程度取决于腌制环节,具体操作:
- 牛肉放入碗中;
- 加入姜片、盐、酱油、糖,充分抓拌,使调料均匀包裹牛肉;
- 腌制 30–40 分钟,让盐分与酱油渗透入肉,同时糖起到提鲜嫩化的辅助作用;
- 腌制完成后,将姜片挑出即可下锅。
腌制时间是这个环节的关键参数:过短则不入味,过长则可能使肉汁流失。仓库菜谱模板(示例菜.md)也强调,所有"等待类"步骤都必须给出时间或判断标准,这一条在 RAG 问答场景下会被原样检索并传达给用户。
3.3 炒熟:火候与下锅顺序
炒制是决定成品口感的核心环节,下锅顺序与油温节点缺一不可:
- 冷油下锅,待油温升高至锅底偶有气泡冒出(此时油温约六成热,不宜冒烟,避免蒜泥下锅即焦);
- 加入蒜泥,小火煸炒;
- 待蒜泥变金黄(焦香但未糊),加入尖椒段翻炒;
- 待尖椒表皮微皱(说明辣椒已断生、辣香被激发),加入腌制好的牛肉,转大火翻炒;
- 牛肉翻炒至接近变熟时加入葱段,继续翻炒;
- 翻炒至牛肉完全变熟(表面无生色、质地紧实),立即关火出锅。
提示:尖椒"表皮微皱"是判断尖椒火候的可视化标准,对应仓库菜谱模板中"给出结束步骤的判断标准"的要求;牛肉全程大火快炒,避免久炒变老。
四、附加技巧:嫩化与去腥的两个可选方案
菜谱"附加内容"部分补充了两条实用技巧,能显著提升成品质感:
- 小苏打嫩肉法:腌制时可加入食用小苏打使牛肉更嫩,牛肉与小苏打的比例为 500 g : 3 g。小苏打通过破坏肌肉纤维中的蛋白质结构起到嫩化作用,但务必按比例控制用量,过量会产生碱味;
- 料酒替代姜片:腌制时可用料酒代替姜片去腥,料酒用量为 3 g/人。若家中姜片临时短缺,这是最直接的替代方案,二者取其一即可,不必同时叠加。
五、拓展:这份菜谱在"尝尝咸淡 RAG 系统"中如何被解析与检索
尖椒炒牛肉的菜谱文档并非孤立存在——它是 all-in-rag 仓库第八章"尝尝咸淡 RAG 系统"(docs/chapter8/01_env_architecture.md)知识库中的一份典型数据,位于荤菜分类目录 meat_dish 下。理解系统如何消费这份文档,能帮助你把握整条 RAG 流水线。
5.1 数据加载与元数据增强
在 data_preparation.py 中,load_documents()使用Path.rglob("*.md")递归扫描数据目录,将每个 Markdown 文件作为父文档载入(code/C8/rag_modules/data_preparation.py)。随后_enhance_metadata()会为"尖椒炒牛肉"这份文档自动补齐三类元数据:
- 菜品分类:从文件路径中的目录名
meat_dish推断为"荤菜"(CATEGORY_MAPPING中'meat_dish': '荤菜',见 code/C8/rag_modules/data_preparation.py); - 菜品名称:直接取文件名
尖椒炒牛肉作为dish_name; - 难度等级:用正则
★+匹配正文中的星级标记,本文档的 ★★★ 会被映射为"中等"(难度映射表见 code/C8/rag_modules/data_preparation.py)。
5.2 按标题分块与"小块检索、大块生成"
文档经元数据增强后,_markdown_header_split()使用 LangChain 的MarkdownHeaderTextSplitter,按照#、##、###三级标题将菜谱切分为结构化子块(code/C8/rag_modules/data_preparation.py)。"尖椒炒牛肉的做法"文档因此被切分为:
父文档:尖椒炒牛肉的做法(完整菜谱) ├── 子块1:# 尖椒炒牛肉的做法 + 难度评级(★★★) ├── 子块2:## 必备原料和工具(牛肉、葱姜蒜、尖椒、酱油、盐、糖) ├── 子块3:## 计算(250g/人、9ml/人 等用量配比) ├── 子块4:## 操作(配菜处理 → 腌制 → 炒熟) └── 子块5:## 附加内容(小苏打嫩肉、料酒替代)每个子块都保留parent_id与父文档建立映射(父子关系设计详见 docs/chapter8/02_data_preparation.md)。这套"小块检索、大块生成"策略带来的直接效果是:当用户问"尖椒炒牛肉需要什么食材"时,系统通过混合检索精确命中"必备原料和工具"子块;而当用户问"尖椒炒牛肉怎么做"时,get_parent_documents()会按parent_id找回完整的父文档交给 LLM,保证生成阶段上下文完整(智能去重逻辑见 code/C8/rag_modules/data_preparation.py)。
5.3 在完整 RAG 流水线中的位置
这份菜谱文档从入库到被回答的完整链路为:数据加载与元数据增强 → 标题分块 → BGE 嵌入向量化与 FAISS 索引构建(code/C8/rag_modules/index_construction.py,嵌入模型与索引路径在 config.py 中配置)→ 向量 + BM25 混合检索与 RRF 重排(code/C8/rag_modules/retrieval_optimization.py)→ 查询路由与多模式生成(code/C8/rag_modules/generation_integration.py),最终由 main.py 组装为可交互的命令行问答系统。换句话说,你读到的每一个"用量配比"和"火候节点",正是系统在回答"尖椒炒牛肉怎么做"时从子块中检索、再由完整父文档生成出来的内容。
六、小结
本文完整复现了尖椒炒牛肉从备料、计算、腌制到炒制的全部细节:按人头精确计算的原料配比、30–40 分钟的腌制窗口、冷油下锅与"蒜泥金黄—尖椒微皱—大火快炒"的火候节奏,以及小苏打(500g:3g)与料酒(3g/人)两条实用替代技巧。同时结合 all-in-rag 仓库源码,展示了这份结构化菜谱作为 RAG 知识库数据被解析、分块、检索与生成的全过程——既是一份可以照着下厨的食谱,也是一份理解"结构化数据 + RAG"如何落地的鲜活样例。
- 教程
- 人工智能
- 大模型
- RAG
【免费下载链接】all-in-rag
🔍大模型应用开发实战一:RAG 技术全栈指南,在线阅读地址:https://datawhalechina.github.io/all-in-rag/
相关推荐
Datawhale all-in-rag 食谱知识库实战:简易版炒糖色的水油炒技法与火候控制全解析
Datawhale all in rag 食谱知识库实战:简易版炒糖色的水油炒技法与火候控制全解析 本文以 Datawhale all in rag 开源仓库中
教程人工智能大模型RAGCookLikeHOC 小炒黄牛肉复刻全解:中央厨房配方、油温火候与关键食材溯源
CookLikeHOC 小炒黄牛肉复刻全解:中央厨房配方、油温火候与关键食材溯源 导读 本文以 CookLikeHOC 仓库中 炒菜/小炒黄牛肉.md http
文档知识库教程all-in-rag 食谱知识库实战:酸梅汤(半成品加工)结构化食谱在 RAG 问答系统中的应用
all in rag 食谱知识库实战:酸梅汤(半成品加工)结构化食谱在 RAG 问答系统中的应用 酸梅汤(半成品加工)是一道基于"酸梅晶固体饮料"速成的家常饮品
教程人工智能大模型RAG
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考