老式锅包肉:从用料配比到三次复炸的完整工艺指南(all-in-rag 食谱知识库实战)
2026/9/24 4:52:20 网站建设 项目流程
  • 教程
  • 人工智能
  • 大模型
  • RAG

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

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

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

锅包肉是哈尔滨道台府厨师郑兴文在光绪年间创制的东北名菜,老式锅包肉以白醋调出标志性醋香,口味酸甜、外壳酥脆。本文以仓库中的 老式锅包肉食谱 为核心,逐项拆解原料配比、挂浆工艺与复炸油温控制等全部操作细节,并在此基础上结合 all-in-rag 项目第八章的"尝尝咸淡"食谱 RAG 系统源码,说明这份结构化食谱如何被加载、分块、检索与生成回答,帮助读者既学会做菜,也理解一份优质食谱数据在 RAG 全链路中的实际流转方式。

一、菜品溯源与风味特征

锅包肉原名"锅爆肉",由光绪年间哈尔滨道台府主厨郑兴文所创,后流传至东北各地,成为最具代表性的东北菜之一。"老式"与"新式"的核心区别在于调味:老式锅包肉的酸味完全来源于白醋汁,色泽偏白或浅黄,口味酸甜酥脆;新式版本则多以番茄酱调色调味,色泽红亮、酸甜味更柔和。

原食谱对这道菜给出了明确的难度预估:

预估烹饪难度:★★★★

对应仓库数据准备模块中的难度映射(data_preparation.py),四颗星会被解析为"困难"等级,作为检索与推荐时的元数据过滤条件。

二、必备原料与工具

根据原食谱,制作老式锅包肉需要以下原料与工具:

  • 猪通脊肉
  • 大葱
  • 胡萝卜(可无)
  • 香菜
  • 白醋(建议使用 9 度的醋,才会有较为突出的老式锅包肉特有的醋香)
  • 白糖
  • 料酒
  • 味精
  • 土豆淀粉
  • 中筋面粉
  • 小苏打
  • 白熟芝麻(可无)
  • 食用油

其中两点值得特别说明:

  1. 白醋度数:原食谱明确建议使用 9 度的白醋。醋的度数即醋酸含量,度数越高酸味越冲、挥发越快,9 度白醋能在高温烹炒时迅速激发出醋香,同时不至于让菜品过酸,这是老式锅包肉"醋香突出"的关键。
  2. 小苏打:用于肉片嫩化。小苏打(碳酸氢钠)呈弱碱性,能破坏肉中蛋白质的部分结构,使纤维松弛,从而让炸出的肉片口感更嫩。
  3. 土豆淀粉与中筋面粉:挂浆的骨架。土豆淀粉黏性大、炸后酥脆不易回软;中筋面粉用于调节浆糊的挂附性与炸制后的口感层次,两者按 3:1 左右的比例混合。

三、用料配比计算(每份约 2 人份)

原食谱给出了完整的量化配比,按每份(约 2 人份)计算如下:

类别原料用量
主料猪通脊肉300g
配菜大葱50g
配菜30g
配菜3-4 瓣
配菜胡萝卜10g(可无)
配菜香菜10g
点缀白熟芝麻5g(可无)
调味白醋40g
调味白糖40g
调味料酒20ml
调味8g
调味味精5g
调味米醋5ml(可无)
挂浆土豆淀粉210g
挂浆中筋面粉70g
挂浆小苏打5g
炸制食用油1000ml(用于炸制)

配比要点:

  • 糖醋汁 1:1:白糖 40g 与白醋 40g 等量,这是老式锅包肉"酸甜平衡"的基础。米醋 5ml 可选,用于增加酸味的层次感。
  • 盐分三段使用:8g 盐中,4g 用于腌制肉片,4g 调入糖醋汁,保证肉片有底味、汁水咸甜平衡。
  • 小苏打两处用途:5g 小苏打中约 4g 用于肉片嫩化(见下文操作),1g 加入浆糊,利用其发泡特性让外壳更蓬松酥脆。

四、制作工序详解

原食谱将完整工序拆分为 9 个步骤,核心可以归纳为"嫩化—腌制—挂浆—调汁—三次复炸—快速翻炒"六道关口。

4.1 处理猪肉

  1. 将猪通脊肉切成厚度8mm的均匀肉片,去除白色筋膜。8mm 是兼顾"外酥里嫩"的关键厚度:过薄则炸后干柴、过厚则不易熟透且外壳与内芯口感割裂。
  2. 用清水冲洗肉片,去除血水。
  3. 加入小苏打 5g(实际约 4g),抓匀,静置 5 分钟。
  4. 用清水冲洗 1-2 次,去除多余小苏打。这一步不能省略:残留的小苏打会带来碱味,破坏成品的酸甜口感。

4.2 腌制肉片

在肉片中加入盐 4g、料酒 5ml,拌匀,腌制 15 分钟。料酒去腥,盐给肉片建立基础底味;腌制时间不宜过短,否则入味不足。

4.3 准备挂浆(两种方法)

原食谱提供了两种挂浆方案:

方法一(传统淀粉沉淀法)

  1. 将土豆淀粉 100g 加入 200ml 清水,搅匀,静置 20 分钟。
  2. 倒出上层 2/3 的清水,保留底部淀粉浆,搅匀至酸奶状。

这是传统做法中"水淀粉沉淀"的经典操作,利用静置分层获得浓度合适的湿淀粉浆。

方法二(推荐,混合粉法)

  1. 将土豆淀粉 210g 和中筋面粉 70g 混合(比例约 3:1)。
  2. 少量多次加入清水,搅拌至酸奶状:提起可拉丝,浆糊能在盆中堆积,不稀不稠。
  3. 加入食用油 10ml、小苏打 1g,搅拌均匀。加食用油能让外壳更酥脆,加小苏打能增加外壳的蓬松感。

方法二的优势在于无需静置等待,且通过面粉调节浆糊稠度,更稳定、可复现。

4.4 挂浆

将腌制好的肉片放入浆糊中,拌匀,使每片肉均匀裹上浆。挂浆要点是"薄而匀":浆太厚炸出来外壳过硬、口感发艮;太薄则外壳不酥、肉汁流失。

4.5 调制糖醋汁

混合白糖 40g、白醋 40g、盐 4g、味精 5g、米醋 5ml(可无),搅拌均匀,备用。糖醋汁必须提前调好,因为后续炒制环节时间极短,现调会手忙脚乱、导致糖未化开。

4.6 准备配菜

大葱、姜、胡萝卜切丝,香菜切段,蒜切片。配料全部切丝,既便于快速翻炒时均匀裹汁,也符合老式锅包肉"丝配片"的摆盘传统。

4.7 三次复炸(油温控制是灵魂)

炸制是决定锅包肉成败的核心工序,原食谱给出了明确的油温与时间参数:

次数油温时长目的
第一次150℃(五成热)约 30 秒定型,表面浅黄
第二次170℃(六成热)约 1 分钟炸熟,外壳金黄酥脆
第三次(可选)200℃(七成热)10-20 秒逼出余油,增强酥脆度

操作细节:

  1. 第一次炸制:油温 150℃,将肉片逐片下锅(一次性全部下锅会导致油温骤降、肉片粘连),炸至表面定型、颜色浅黄,捞出备用。
  2. 第二次炸制:油温升至 170℃,将所有肉片复炸,至外壳金黄酥脆,约 1 分钟。
  3. 第三次炸制(可选):油温升至 200℃,快速复炸 10-20 秒后捞出沥油。高温短炸能逼出外壳中多余的油,让酥脆度再上一个台阶,是"酥脆不回软"的进阶技巧。

没有温度计的情况下,可凭经验判断油温:插入筷子后周围迅速冒密集小泡约为五成热(150℃ 上下)。

4.8 炒制

  1. 锅中留 20ml 底油,加热后放入姜丝、蒜片,煸香 10 秒。
  2. 倒入调好的糖醋汁,大火加热至沸腾,熬至汤汁粘稠,约 30-60 秒。
  3. 放入炸好的肉片、葱丝、胡萝卜丝、香菜段,快速翻炒 3 次,使汤汁均匀裹在肉片上。

注意:老式锅包肉讲究"汁包肉",翻勺次数要少而快(约 3 次),目的是让汤汁均匀挂壁而不把外壳泡软——这正是"锅包"二字的工艺精髓。

4.9 出锅装盘

将锅包肉盛入盘中,撒上白熟芝麻(可无),即可上桌。

五、关键注意事项与常见误区

原食谱在"附加内容"中总结了三条注意事项,结合工序细节可进一步展开:

  1. 肉片厚度应为 8mm:过厚过薄都会影响口感。过厚不易熟透且外壳与内芯脱节,过薄则炸后干柴。
  2. 炸制时控制油温:油温过低会导致外壳吸油、口感油腻且不酥脆;油温过高则外壳焦黑、肉芯未熟。建议严格按"150℃ 定型 → 170℃ 炸熟 → 200℃ 复炸"三段走。
  3. 熬糖醋汁时注意火候:熬至粘稠但不结块,避免变成糖浆。糖醋汁含糖量高,大火久熬会焦化结块甚至发苦,出现"返砂"(糖重新结晶)现象,30-60 秒内见汁浓即下料翻勺。

另外还需留意:挂浆前肉片要充分沥干水分,否则浆糊挂不上;炒制全程保持大火,动作干脆,尽量减少肉片在锅中停留的时间。

六、从食谱到 RAG 知识库:结构化数据实战

这份老式锅包肉食谱并不是孤立的菜谱文本,它是 all-in-rag 项目第八章"尝尝咸淡"食谱问答 RAG 系统的知识库数据之一。理解它如何在系统中流转,能同时验证两件事:这份食谱的结构设计是否"为 RAG 而生",以及系统各模块如何消费它。

6.1 食谱文件在知识库中的位置与元数据

该食谱存放在data/C8/cook/dishes/meat_dish/老式锅包肉/老式锅包肉.md,位于知识库根目录data/C8/cook(配置见 config.py 的data_path)之下。目录路径本身就携带了分类信息。

当系统加载文档时,数据准备模块 的_enhance_metadata会从路径与内容中自动提取三层元数据:

  • 菜品分类:通过路径中的meat_dish目录名匹配到CATEGORY_MAPPING中的"荤菜"(data_preparation.py);
  • 菜品名称:直接取文件名老式锅包肉作为dish_name
  • 难度等级:用正则r'★+'匹配内容中的星级,本例的四颗星被映射为"困难"(data_preparation.py)。

同时,系统基于文件相对路径的 MD5 哈希为该父文档分配确定性的parent_id,保证同一份食谱在多次运行中 ID 稳定,便于索引缓存复用。

6.2 Markdown 结构感知分块

这份食谱天然具备清晰的标题层级:#主标题(菜品名称)、##二级标题(必备原料和工具、计算、操作、附加内容)。系统使用MarkdownHeaderTextSplitter按三级标题切分(data_preparation.py),并设置strip_headers=False保留标题,保证每个子块自含上下文。

分块后的效果示意:

老式锅包肉.md(父文档) ├── 子块1:# 老式锅包肉的做法 + 简介 + 难度评级 ├── 子块2:## 必备原料和工具 + 原料清单 ├── 子块3:## 计算 + 用量配比 ├── 子块4:## 操作 + 详细制作步骤 └── 子块5:## 附加内容 + 注意事项

每个子块继承父文档的全部元数据,并额外获得chunk_idchunk_indexdoc_type: child等字段,同时通过parent_child_map建立"子块 → 父文档"的映射,为后续"小块检索、大块生成"的父子文本块策略铺路。

6.3 查询链路:问"老式锅包肉怎么做"时发生了什么

以 main.py 中的ask_question为例,一条完整查询会经历以下流程:

  1. 查询路由query_router将"老式锅包肉怎么做"分类为detail(详细查询);
  2. 查询重写:由于属于明确的具体菜品查询,query_rewrite会保持原查询不变(generation_integration.py);
  3. 混合检索:向量检索(BAAI/bge-small-zh-v1.5语义匹配)与 BM25(关键词精确匹配,如"锅包肉""白醋")双路并行,再经 RRF(Reciprocal Rank Fusion)重排融合(retrieval_optimization.py);
  4. 取父文档:根据命中子块的parent_id找回完整食谱文档,按命中次数排序并去重(data_preparation.py);
  5. 分步指导生成detail类型走generate_step_by_step_answer,按"菜品介绍 → 所需食材 → 制作步骤 → 制作技巧"的结构输出完整回答(generation_integration.py),回答中的食材清单、步骤说明直接源于本文第三、四节的内容。

若用户问的是"推荐几道荤菜"或"有什么困难的菜",系统还会通过_extract_filters_from_query从问题中提取分类/难度关键词,走metadata_filtered_search做元数据过滤检索(main.py),此时"荤菜""困难"这两个标签就派上了用场。

6.4 运行与体验

在配置好MOONSHAT_API_KEY环境变量后,可于 code/C8 目录下安装依赖并启动系统:

cd code/C8 pip install -r requirements.txt python main.py

进入交互式问答后即可提问,例如"老式锅包肉怎么做""推荐一道荤菜""锅包肉需要什么食材"。系统架构与各模块的详细设计可继续阅读 docs/chapter8/01_env_architecture.md、docs/chapter8/02_data_preparation.md 与 docs/chapter8/03_index_retrieval.md。

七、参考资料

原食谱"附加内容"中引用了老饭骨、老东北美食两个版本的锅包肉做法作为参考来源。本文的全部用料数据、工序参数与注意事项均严格继承自 老式锅包肉食谱,RAG 相关实现细节以 code/C8 下的实际源码为准。

  • 教程
  • 人工智能
  • 大模型
  • RAG

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

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

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

相关推荐

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

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

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

立即咨询