
教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载本文以 Datawhale all-in-rag 仓库中 勾芡香菇汤.md 这份结构化的汤品菜谱为主体完整讲解其原料配比、操作步骤与烹饪关键点同时结合仓库第 8 章尝尝咸淡 RAG 系统code/C8的源码剖析这份 Markdown 菜谱是如何被加载、打上元数据标签、按标题分块、索引并最终被检索与生成的。读完本文你既能按图索骥做出一碗浓稠鲜香的勾芡香菇汤也能理解一份普通菜谱在 RAG 全链路中的数据形态与处理逻辑。一、菜品简介与难度评估鲜香菇除了拿来和肉炒外其实拿来做浓浓的勾芡汤也是非常可口的。香菇本身自带鲜味物质切片后经短暂煎制再入汤配合水淀粉勾芡汤汁浓稠挂口是一道成本低、操作快、极具家常感的快手汤品。原文档给出了明确的难度评级预估烹饪难度★★★这个星级标记并非随意书写在 RAG 系统的数据准备阶段会被自动解析成结构化的难度标签。见下文元数据增强一节。二、必备原料和工具制作勾芡香菇汤所需的原料非常精简全部为常见食材与基础调味料类别原料说明主料香菇推荐使用鲜香菇风味与口感均优于干香菇辅料香葱出锅前点缀提香调味食用油煎香菇用建议用无明显气味的植物油调味食用盐浸泡去味与出锅调味两用调味鸡精增鲜用量按克计量增稠生粉玉米淀粉、土豆淀粉等均可用于勾芡需要的工具包括大碗浸泡香菇用、小碗调制水淀粉用、砧板与菜刀切片、炒锅/汤锅、锅铲。三、用量计算每份原文档给出了按每份计量的精确配比这也是该菜谱可稳定复现的关键原料用量每份鲜香菇2 朵香葱0.5 根鸡精3 g食用油10 ml食用盐3 g开水350 ml其中 50 ml 用于调制水淀粉300 ml 用于煮汤生粉10 g注意操作环节中还会额外用到约 2 g 食用盐用于浸泡香菇与出锅调味的 3 g 盐分开计量避免混淆。若一次制作多份可按上述配比等比例放大。四、详细操作步骤原文档的操作步骤紧凑每一步都包含具体参数。这里按原文档骨架逐条展开并补充关键点的说明香菇切片与盐水浸泡将香菇切成厚 0.5–1 cm 的片放入大碗中倒入 2 g 食用盐浸泡 15 分钟。切片厚度可以自行把握厚一点相对薄一点更有嚼劲适合喜欢口感扎实的食客。调制水淀粉将 10 g 生粉倒入小碗中加入 50 ml 水搅拌生粉直至完全融化、没有颗粒即成水淀粉。这一步是勾芡成功的前提——若生粉未化开就下锅汤汁中会出现粉疙瘩。沥干香菇水分可选倒掉碗中的盐水适当去掉香菇本身的水分方便下一步煎制。此步骤为可选操作但挤干水分能明显提升煎制效果。小火煎香菇可选锅中小火倒入食用油待油开始冒小泡小火约 30 秒具体视锅的功率而定下入香菇片每面煎 10 秒。煎制能激发香菇的焦香风味是浓浓的勾芡汤风味层次的关键来源。煮汤倒入开水 300 ml调中火再煮 3–5 分钟让香菇的鲜味充分融入汤中。勾芡与调味倒入调制好的水淀粉适当搅拌锅中汤汁使其均匀浓稠随后加入 3 g 盐、3 g 鸡精调味最后撒上葱花即可出锅。整个流程从备料到出锅约 25 分钟其中浸泡 15 分钟是主要的时间开销实际烹饪时间很短。五、从菜谱到 RAG 知识库数据形态与仓库定位在 all-in-rag 仓库中这份菜谱并不是孤立的烹饪笔记它位于 data/C8/cook/dishes/soup/勾芡香菇汤/ 目录下是第 8 章尝尝咸淡 RAG 系统code/C8的菜谱数据集成员。整个数据集采用与 HowToCook 社区项目一致的统一结构每道菜一个目录目录名即菜品名内含同名.md菜谱文件以及可选的过程/成品图片。这份数据集对应仓库第 8 章 01_env_architecture.md 中描述的食谱 RAG 问答系统——一个让用户用自然语言提问今天吃什么勾芡香菇汤怎么做并得到结构化回答的系统。菜谱的目录层级与标题结构正是后续数据准备模块元数据提取与分块的基础。六、数据准备加载、元数据增强与结构分块data_preparation.py 是数据准备模块的实现它对菜谱文档的处理可以分成三步6.1 递归加载 Markdown 文件模块通过Path(data_path).rglob(*.md)递归扫描 data/C8/cook 目录下的全部菜谱文件直接以 UTF-8 读取原文内容并保持 Markdown 格式为每个文件分配一个基于相对路径的确定性parent_id哈希值同时标记doc_type parent。勾芡香菇汤的菜谱文件正是在这一阶段被读入系统。6.2 元数据增强分类、菜品名与难度_enhance_metadata方法从文件路径和内容中自动抽取三条核心元数据菜品分类通过路径片段与CATEGORY_MAPPING映射匹配。勾芡香菇汤位于soup/目录下因此被标记为汤品。完整映射见源码中的CATEGORY_MAPPINGsoup → 汤品、meat_dish → 荤菜、vegetable_dish → 素菜等。菜品名称直接取文件名Path.stem即勾芡香菇汤。难度等级使用正则★匹配内容中的连续星号数量再映射到语义标签。预估烹饪难度★★★会被解析为中等映射表为{5: 非常困难, 4: 困难, 3: 中等, 2: 简单, 1: 非常简单}。这意味着当用户问推荐一道简单的汤品时系统可以基于category与difficulty元数据直接过滤而不必依赖语义猜测。6.3 Markdown 结构感知分块_markdown_header_split使用 LangChain 的MarkdownHeaderTextSplitter按#、##、###三级标题对菜谱进行结构分块strip_headersFalse保留标题以便理解上下文。以勾芡香菇汤为例分块结果大致如下父文档勾芡香菇汤.md完整菜谱 ├── 子块1# 勾芡香菇汤的做法 简介 难度评级 ├── 子块2## 必备原料和工具 食材清单 ├── 子块3## 计算 每份用量配比 ├── 子块4## 操作 详细制作步骤 └── 子块5## 附加内容每个子块都会继承父文档的元数据并新增chunk_id、parent_id、doc_type child、chunk_index等字段同时建立parent_child_map父子映射。这正是第 8 章所强调的小块检索大块生成架构检索阶段用小的子块做精确匹配例如勾芡香菇汤需要什么原料能精确命中必备原料和工具子块生成阶段则通过get_parent_documents反查完整父文档保证 LLM 拿到上下文完整的菜谱。七、索引构建与检索优化这道汤如何被找到7.1 向量化与索引持久化index_construction.py 使用HuggingFaceEmbeddings加载BAAI/bge-small-zh-v1.5中文嵌入模型model_kwargs{device: cpu}normalize_embeddingsTrue将分块后的子块向量化并构建 FAISS 索引通过save_local持久化到 config.py 中index_save_path指定的./vector_index目录。首次构建后后续启动直接load_local加载缓存索引可显著缩短启动时间。7.2 混合检索与 RRF 重排retrieval_optimization.py 同时设置了两路检索器向量检索器语义相似度擅长理解查询意图例如想做一道浓稠鲜香的香菇汤这类描述性问法BM25 检索器关键词匹配擅长精确匹配勾芡香菇汤这类完整菜名能稳定命中。两路结果通过 RRFReciprocal Rank Fusion_rrf_rerank融合对每个文档按1 / (k rank 1)默认k 60累计得分后排序最终按top_kconfig.py 中默认为 3返回。由于勾芡香菇汤的菜名与香菇汤等关键词在标题和正文中高频出现它在这两路检索中都能获得较高排名。7.3 元数据过滤metadata_filtered_search支持在混合检索结果之上按category、difficulty过滤。用户在 main.py 的_extract_filters_from_query中提问来道汤品推荐一道中等难度的菜时系统会从查询中抽取汤品中等等关键词作为过滤条件让勾芡香菇汤这类符合条件的目标文档脱颖而出。八、生成阶段当用户问勾芡香菇汤怎么做generation_integration.py 负责最终的问答生成其流程为查询路由query_router将用户问题分为list推荐/列表、detail制作方法、general一般问题三类。勾芡香菇汤怎么做会被路由为detail。查询重写detail类查询通过query_rewrite判断是否需要改写明确的菜名查询保持原样。检索混合检索 元数据过滤命中该菜谱的相关子块。父子文档还原get_parent_documents将命中的子块映射回完整的父文档去重并按相关性排序。分步指导生成generate_step_by_step_answer使用菜品介绍 / 所需食材 / 制作步骤 / 制作技巧的分步模板结合检索到的完整菜谱生成结构化回答generate_step_by_step_answer_stream则提供流式输出。也可以运行python main.py进入交互式问答体验完整链路。九、小结与延伸勾芡香菇汤这份菜谱完整地体现了第 8 章 RAG 系统的数据设计思路目录即分类、文件名即菜名、星级即难度、标题即分块边界。从 勾芡香菇汤.md 到可检索的向量索引再到怎么做的分步回答每一步都有 data_preparation.py、index_construction.py、retrieval_optimization.py、generation_integration.py 四个模块的源码支撑。对开发者而言可以以此为模板参考 docs/chapter8 的文档与 code/C8 的代码把任意同构的 Markdown 知识库菜谱、文档、FAQ接入这套小块检索、大块生成的 RAG 流水线对读者而言按照本文步骤备齐香菇、生粉、香葱等原料约 25 分钟即可收获一碗浓稠鲜美的勾芡香菇汤。赞分享教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载相关推荐菌菇炖乳鸽做法详解all-in-rag 食谱知识库中的汤品数据实战解析菌菇炖乳鸽做法详解all in rag 食谱知识库中的汤品数据实战解析 本文以仓库中的完整菜谱 菌菇炖乳鸽.md https://link.gitcode.c教程人工智能大模型RAG朱雀汤开水冲蛋花汤食谱全解从冲制工艺到 RAG 菜谱知识库的汤品数据实践朱雀汤开水冲蛋花汤食谱全解从冲制工艺到 RAG 菜谱知识库的汤品数据实践 导读 本篇以 Datawhale「all in rag」仓库 C8 实战项目中教程人工智能大模型RAGNocoDB 自部署教程一条命令部署 4 个环境变量搞定生产环境NocoDB 自部署教程一条命令部署 4 个环境变量搞定生产环境 NocoDB 是一款免费、可自托管的 Airtable 替代方案它不替换你的数据库而教程人工智能大模型RAG上一篇Grafana Tempo 内置 Prometheus 引擎中的 PromQL 表达式美化器prettier_rules 规范与源码解析下一篇百度网盘直链解析技术解密告别龟速下载的智能方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考