水煮肉片全流程详解:五星难度川菜的原料、配比与操作指南
2026/9/24 12:54:42 网站建设 项目流程
  • 教程
  • 人工智能
  • 大模型
  • RAG

【免费下载链接】all-in-rag

🔍大模型应用开发实战一:RAG 技术全栈指南,在线阅读地址:https://datawhalechina.github.io/all-in-rag/

项目地址:https://gitcode.com/datawhalechina/all-in-rag
点击查看免费下载

水煮肉片是一道以麻辣鲜香著称的经典川菜,讲究"肉片滑嫩、刀口椒香、红油亮泽",适合下饭,但制作流程较长、细节较多,初学者通常需要 1~2 小时才能完成。本文以 Datawhale all-in-rag 项目仓库中收录的水煮肉片菜谱为蓝本,完整还原其原料清单、精确用量配比与全流程操作步骤,并在此基础上结合项目 C8 章"尝尝咸淡"RAG 食谱问答系统的实现,说明这样一份结构化 Markdown 菜谱是如何被解析、分块并转化为可检索知识库数据的。读完本文,你既能按图索骥做出一道合格的水煮肉片,也能理解它在 RAG 数据管道中的角色。

一、菜品概览:麻辣鲜香背后的难度来源

水煮肉片的核心味型是"麻辣鲜香",灵魂在于两个关键点:

  • 肉片滑嫩:通过腌制(盐、胡椒粉、生抽、料酒打底味)加上鸡蛋清与土豆淀粉形成的"润滑膜",再以植物油封油防止粘连,最终实现久煮不柴的口感;
  • 刀口辣椒:干辣椒与青花椒小火干煸后剁细,最后以高温菜籽油一次性泼香,激发出浓郁的糊辣香气。

这份菜谱在仓库中被标注为预估烹饪难度:★★★★★(五颗星),属于最高难度档位。从烹饪时间看,初学者一般需要 1~2 小时,主要耗时集中在切肉片、腌制、炒底料与泼油等环节。

值得一提的是,在 all-in-rag 项目的 C8 章 RAG 系统中,星级标记并非只是给人看的装饰。数据准备模块data_preparation.py 会通过正则表达式re.search(r'★+')匹配正文中连续出现的星号数量,并将星级映射为结构化难度元数据:5 星 →非常困难,4 星 →困难,3 星 →中等,2 星 →简单,1 星 →非常简单。也就是说,用户向问答系统提问"有什么非常困难的菜"时,这份菜谱就会凭借difficulty=非常困难的元数据被精确过滤命中。

二、必备原料与工具清单

按用途可将原料分为五组,便于备菜时对照检查:

类别原料
主料猪里脊肉
腌制料食用盐、胡椒粉、生抽酱油、料酒、鸡蛋清、土豆淀粉
配菜豆芽、凤尾、芹菜、蒜苗
小料大蒜、生姜、红泡椒
香料与调味青花椒、干辣椒(小米辣)、红油豆瓣、鸡精、白砂糖、小葱
油脂植物油、菜籽油

其中凤尾是莴笋的嫩尖部分(带叶的莴笋头),与豆芽、芹菜、蒜苗一起构成垫底蔬菜;红油豆瓣(即郫县豆瓣)是炒出红油的底味来源;菜籽油用于最后一步高温泼油,其特有的油脂香气是川菜糊辣风味的关键。此外还需要一把趁手的菜刀和一口深口炒锅(或汤锅),以及用于盛装成品的碗。

三、用量配比:一份 300g 里脊肉的精确计算

菜谱原文档的"计算"章节给出了基于300g 里脊肉的精确配比,其中多个调料标注了可调节范围,方便按口味灵活增减:

原料用量说明
猪里脊肉300g主料基准量
小葱2 根最后撒面用
生姜10g剁碎炒料
大蒜20g剁碎炒料
红泡椒20g根据受辣程度可选 0~40g
蒜苗2 根拍散切段垫底
芹菜3 根切段垫底
红油豆瓣5ml(步骤中实际用到 10g)炒出红油
鸡精1.5g调味提鲜
生抽酱油5g腌制打底味
食用盐5g分多次使用(腌制 1.5g、垫底菜 1g、汤汁 2.5g)
胡椒粉2g腌制 1g,汤汁调味 1g
料酒3g腌制去腥
鸡蛋清1 个上浆锁嫩
土豆淀粉7g与蛋清混合成浆
植物油280g想吃重油可多加 100g;其中 30g 封油、50g 炒香料、100g 炒配菜、150g 炒底料
菜籽油200g想吃重油可多加 100g;用于最后泼油
绿豆芽100g垫底
凤尾1 根改刀成小条垫底
白砂糖1g提鲜
小米辣干辣椒20g根据受辣程度可选 0~40g
青花椒5g想吃麻可多加 5g

提示:原文档中"红油瓣酱 5ml"与操作步骤中"豆瓣 10g"存在单位口径差异,实操中以炒制时实际下锅的豆瓣量为准,5ml 与 10g 都属于常规用量范围,可按口味调整。

这份用量表的特点是"小料精确到克、大料给足余量",尤其是植物油与菜籽油总计约 480g,体现了水煮肉片"重油重辣"的川菜底子。在 RAG 数据准备模块中,这一节会被MarkdownHeaderTextSplitter切分为独立的子块(chunk),元数据带有doc_type=childchunk_indexparent_id,从而保证用户问"水煮肉片需要什么食材"时能精确命中"必备原料和工具 / 计算"子块,而不是整篇文档。

四、操作步骤详解

4.1 肉片处理:切薄片与去血水

将里脊肉改刀成小块,再切成约 2 毫米的薄片(可根据自己口感调整厚度)。切好的肉片放入碗中,加入清水清洗两遍以去除血水和杂质,捞出后挤干水分备用。这一步是后续腌制入味的基础——血水处理不干净,肉片容易发腥且上浆不牢。

4.2 腌制:打底味 + 上浆 + 封油

腌制是"肉滑嫩"的核心,分三步完成:

  1. 打底味:碗中加入食用盐 1.5g、胡椒粉 1g、生抽酱油 5g、料酒 3g,朝一个方向搅拌 2 分钟使其充分入味;
  2. 上浆:另取一个碗,加入 1 个鸡蛋清与 7g 土豆淀粉,朝一个方向搅拌均匀后倒入肉中,再次朝一个方向搅拌均匀——此时肉表面会形成一层润滑膜,这是肉片鲜嫩的关键;
  3. 封油:最后加入 30g 植物油轻轻搅拌,防止肉片互相粘连。

原文档特别强调:搅拌要始终朝一个方向,且血水务必处理干净,二者共同保证肉片的滑嫩质地。

4.3 配菜与小料预处理

  • 绿豆芽 100g、凤尾 1 根(改刀成小条)、芹菜 3 根(切小段)、蒜苗 2 根(拍散后切段);
  • 大蒜 20g 剁碎、生姜小块剁碎、红泡椒 20g 剁碎。

4.4 制作刀口辣椒

取小米辣干辣椒 15g、青花椒 3g。锅内加入油滑锅,油稍许热后将多余的油倒出,留 50g 底油,下入干辣椒、花椒,开小火炒香——切记不要炒糊,颜色变黑即可(注意:此处"变黑"指辣椒炒至酥脆略焦的临界状态,需全程小火盯守),倒出后在菜板上剁细。这就是川菜中经典的"刀口辣椒",是水煮肉片糊辣风味的来源。

4.5 炒垫底配菜

锅烧热,放入 100g 植物油烧至6 成热,加入 2g 青花椒与干辣椒爆香,随后将配菜(豆芽、凤尾、芹菜、蒜苗)下锅,加入 1g 食用盐,炒至断生后盛入碗中垫底备用。

4.6 炒底料与熬汤

将锅洗干净,加入 150g 植物油烧至 6 成热,加入制作好的姜蒜红泡椒爆香,随后加入豆瓣约 10g,开小火将豆瓣爆香并炒出红油即可——小火慢炒是为了让豆瓣的红油充分释放而不焦糊。

接着加入800 毫升清水(根据实际情况选择水量),大火烧开后转小火调味:

  • 食用盐 2.5g
  • 鸡精 1.5g
  • 白砂糖 1g(提鲜)
  • 胡椒粉 1g
  • 水淀粉 5g(根据实际情况选择,用于将汤汁收浓稠一点)

4.7 汆煮肉片

汤汁烧开后,开小火将腌制好的肉片分开依次下锅(逐片下锅防止成坨),随后开中火将肉片烫熟,期间用锅铲轻轻推动避免粘连。待汤汁再次烧开、肉片熟后,用漏勺捞出放入碗中配菜上,再将原汤倒入碗中(汤量不超过菜品)。

4.8 泼油激香

在碗中均匀撒上刀口辣椒、蒜蓉和葱花。将锅洗干净,加入 200g 菜籽油,烧至7 成热,然后一次性均匀泼在碗中肉片上(注意安全,防止热油飞溅)。高温菜籽油瞬间激发出刀口辣椒与葱蒜的香气,水煮肉片即告完成。

五、附加技巧与口味变化

原文档"附加内容"给出了三条实战经验,同样值得完整保留:

  1. 垫底蔬菜可自由替换:根据自己口味选择蘑菇、白菜、油麦菜等,不一定拘泥于豆芽、凤尾、芹菜、蒜苗的固定组合;
  2. 刀口辣椒可简化:如果嫌制作刀口辣椒麻烦,可以直接用干辣椒段和青花椒代替,风味略有差异但步骤更省;
  3. 腌制是成败关键:搅拌始终朝一个方向、血水处理干净,配合鸡蛋清与淀粉的上浆,是保证肉片滑嫩的核心要点。

此外,原文档还提示了一条重要变化:水煮牛肉也可以按照同样的做法,只需将主料由猪里脊肉替换为牛肉(建议选用牛里脊或牛通脊并逆纹切薄片),其余流程与配比基本一致。本做法参考了美食作家王刚的公开视频教程,其"刀口辣椒 + 高油温泼香"的操作细节正是川菜水煮系列的通用范式。

六、延伸:这份菜谱在 all-in-rag 项目中的 RAG 化处理

这份水煮肉片菜谱并非孤立文件,它是 all-in-rag 项目 C8 章实战项目"尝尝咸淡 RAG 系统"的语料样本之一。整个菜谱库以data/C8/cook/为数据根目录,按菜系类别组织子目录,水煮肉片.md位于dishes/meat_dish/目录下。在数据准备模块中,data_preparation.py 通过Path.rglob("*.md")递归加载全部菜谱,并执行三类元数据增强:

  • 分类推断:从文件路径中匹配meat_dish目录名,映射为中文分类荤菜(映射表见代码中的CATEGORY_MAPPING);
  • 菜品名称:直接取文件名水煮肉片作为dish_name
  • 难度提取:通过正则匹配正文中的★★★★★,解析为非常困难

在分块环节,02_data_preparation.md 详细说明了"父子文本块"架构:使用MarkdownHeaderTextSplitter######三级标题分割,并设置strip_headers=False保留标题以利于理解上下文。以水煮肉片为例,父文档会被切分为五个子块:

父文档:水煮肉片.md(完整菜谱) ├── 子块1:# 水煮肉片的做法 + 简介 + 难度评级 ├── 子块2:## 必备原料和工具 + 食材清单 ├── 子块3:## 计算 + 用量配比 ├── 子块4:## 操作 + 详细制作步骤 └── 子块5:## 附加内容

每个子块都会携带parent_id(指向父文档)与独立的chunk_id,建立parent_child_map映射。检索阶段使用小块精确匹配(例如"水煮肉片需要什么食材"可精准命中子块 2/3),生成阶段则通过get_parent_documents()按命中次数聚合排序、智能去重后返回完整父文档给 LLM,实现"小块检索、大块生成"的设计目标。这一整套流程在 config.py(data_path = "../../data/C8/cook"top_k = 3embedding_model = "BAAI/bge-small-zh-v1.5")与 main.py(RecipeRAGSystem主类)中落地为可运行的问答系统。

参考资料

  • 本做法参考美食作家王刚的公开视频教程(《水煮肉片的做法》)。
  • all-in-rag 项目 C8 章完整讲解:环境配置与项目架构、数据准备模块实现、索引构建与检索优化、生成集成与系统整合。
  • 教程
  • 人工智能
  • 大模型
  • RAG

【免费下载链接】all-in-rag

🔍大模型应用开发实战一:RAG 技术全栈指南,在线阅读地址:https://datawhalechina.github.io/all-in-rag/

项目地址:https://gitcode.com/datawhalechina/all-in-rag
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询