all-in-rag 食谱知识库实战:煎牛排教程文档的结构化写作与 RAG 检索深度解析
教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载本文以仓库中「尝尝咸淡」RAG 实战项目code/C8的菜谱语料之一——牛排的做法 为标本完整还原其原料计算、煎制流程、火候控制与调味逻辑并同步对照项目源码data_preparation.py 的 Markdown 结构分块、config.py 的元数据配置、retrieval_optimization.py 的混合检索剖析这类结构化菜谱文档是如何被切块、打标签、检索并生成回答的。读完本文你既能照单做出 5 分熟牛小排也能理解一份优质菜谱文档在 RAG 系统中一块多用的设计价值。一、文档定位一份可直接入 RAG 的结构化菜谱牛排的做法 全文遵循统一的 Markdown 标题层级组织#主标题菜品名称、##二级标题必备原料和工具、计算、操作、附加内容、###三级标题如火候的控制、关于调味。这一结构与项目文档 01_env_architecture.md 中描述的菜谱格式规范完全一致——以菜品做法作为一级标题开头有简介和难度评级然后分为必备原料和工具、计算、操作、附加内容几个主要部分。之所以强调结构是因为在 data_preparation.py 中MarkdownHeaderTextSplitter正是按照#、##、###三级标题将整篇文档切成若干子块headers_to_split_on [ (#, 主标题), # 菜品名称 (##, 二级标题), # 必备原料、计算、操作等 (###, 三级标题) # 简易版本、复杂版本等 ] markdown_splitter MarkdownHeaderTextSplitter( headers_to_split_onheaders_to_split_on, strip_headersFalse # 保留标题便于理解上下文 )也就是说本篇牛排文档的计算操作附加内容等小节在知识库中会被切分成独立的检索单元同时又通过parent_id与整篇父文档保持关联父子关系建立。这正是项目小块检索、大块生成策略的落地前提也是该菜谱文档在 RAG 系统中最核心的工程价值。二、必备用料与量化计算原文档对一份够 2 人吃的食材用量做了精确量化下表完整保留并补充了单位说明原料用量每份说明牛排450-500g两片牛排黑胡椒粉2g推荐粗颗粒现磨盐5g推荐大颗粒海盐大蒜1 个25-30g实际用量约 5-10g取 5-8 瓣压扁橄榄油10-15ml推荐特级初榨橄榄油黄油20-25g用于浇淋增香口蘑5-10 个配菜对半切小土豆5-10 个每个约 20g配菜小番茄5-10 个每个约 15g配菜百里香2g或新鲜枝条 3-6 根每根约 10cm可选香料也可用迷迭香必备工具包括平底锅有条件的推荐铸铁平底锅、汤匙、锡箔纸可选、厨房纸可选预制牛排酱汁与配菜按喜好准备配菜推荐从芦笋、口蘑、小番茄、小土豆中选 1-2 种即可。整道菜预估烹饪难度为 ★★★★全程耗时 15-30 分钟。说明原文档的难度星标★★★★在 RAG 系统里会被正则解析为元数据。见 data_preparation.pyre.search(r★, content)统计连续星号数量后映射为{5: 非常困难, 4: 困难, 3: 中等, 2: 简单, 1: 非常简单}因此本菜在知识库中被标记为困难级别。三、操作流程从解冻、腌制到浇淋与醒肉3.1 备料解冻与预处理解冻冰冻牛排提前一晚转移至冷藏室烹饪前半小时取出放常温切勿置于水中或加热解冻。配菜清洗小番茄、小土豆、口蘑洗净对半切开。大蒜处理剥皮后留 5-8 个较大蒜瓣用刀背压扁。牛排预处理肉眼牛排用厨房剪刀竖直插入中心结缔组织肉眼剪 1-2 刀防止高温下结缔组织收缩导致牛排变形、受热不均西冷牛排如不喜欢边缘油脂可用刀慢慢剔除最后用厨房纸包裹吸干表面水分直至案板上拿起不留下明显水渍。3.2 烹饪以 2-3cm 厚、5-7 成熟为准炉灶开高火锅中加橄榄油热锅 15-30 秒。腌制将海盐和黑胡椒均匀洒在牛排全部表面并用手涂抹揉搓使颗粒嵌入肉中。腌制完成后需立即下锅不推荐提前腌制——盐会析出牛肉水分影响烹饪并丧失风味。油温 6-8 成时将牛排由近及远缓慢放入锅中。若使用土豆配菜放入碗中微波炉加热 10 分钟或开水煮 3-5 分钟。单面煎 1.5 分钟牛排更薄减至 1 分钟更厚增至 2-2.5 分钟。翻面再煎 1.5 分钟西冷与菲力需用筷子或锅铲将牛排竖起煎侧面约 30 秒。切换中火按顺序快速加入黄油、大蒜、百里香用锅铲推油至完全融化将大蒜压在牛排下增香。将平底锅倾斜放在灶上使油集中到锅的一侧。香料与大蒜放回牛排上用汤匙舀油不断浇淋持续 30 秒后翻面再淋 30 秒。火候判断油淋下冒泡且未变深褐色为合适若出现大量油泡且油色深褐说明油温过高需将锅移开稍等再淋。牛排盛出锡箔纸包裹醒肉5-10 分钟利用余温继续加热、锁住水分。配菜土豆、番茄、蘑菇入锅中火煎 5 分钟。取出牛排切成 1.5cm 宽肉条此时可观察熟度。装盘淋上锅中剩余油脂或牛排酱汁可选。关键提醒如果牛排未擦干、用不推荐方式解冻或提前腌制锅中会出现大量水导致牛排被煮熟而丧失风味。四、火候控制与调味扩展4.1 火力的定量参考煎制是控制火候的艺术原文档给出了量化火力评估更多细节可参考 油温判断技巧 相关章节所倡导的定量思维此处直接列出原文数值电磁炉高火 1.8Kw-2.2kw中火 800w-1.4kw小火 200w-600w。燃气灶高火为最大出气速度的 70%-90%中火 40%-60%小火 10%-30%。4.2 调味自由度大蒜、黑胡椒、黄油通常是必须的若不喜迷迭香、百里香等唇形科植物风味可自由替换为市售烤肉调味盐。原文档还提到一种中西结合做法将切开的小米辣与蒜片加入橄榄油中煎制最后淋在牛排上别具风味。五、从文档到知识库本菜谱在 RAG 系统中的完整旅程本菜谱并不是孤立存在的一份 md 文件它是 code/C8「尝尝咸淡 RAG 系统」的语料来源数据目录 data/C8/cook中的荤菜meat_dish样本。其被系统消费的完整链路如下加载与元数据增强DataPreparationModule.load_documents()递归读取data/C8/cook下所有.md文件并依据目录路径自动打上category荤菜、dish_name牛排、difficulty困难等元数据data_preparation.py。按标题分块如前所述按#/##/###切分成计算操作等子块并建立parent_id父子映射。向量化与索引子块经 BGE 嵌入模型BAAI/bge-small-zh-v1.5见 config.py编码后存入 FAISS 向量库index_construction.py。混合检索与 RRF 重排查询时同时走 FAISS 向量检索与 BM25 关键词检索再用1/(krank1)的 RRF 分数融合排序retrieval_optimization.py。父子文档回捞命中子块后按parent_id回捞完整菜谱父文档去重并按命中块数排序data_preparation.py保证小块检索、大块生成。生成回答GenerationIntegrationModule结合 Moonshot 大模型按查询路由选择分步指导或基础回答模式输出generation_integration.py。这意味着当你向系统提问牛排怎么做时检索命中的正是本篇文章的操作子块而 LLM 拿到的则是包含必备原料和工具计算在内的完整父文档——原料、用量、步骤信息一应俱全。六、运行与查看查看菜谱原文牛排的做法配菜参考示例图牛排成品图。查看数据准备与分块实现data_preparation.py检索优化实现retrieval_optimization.py系统配置config.py主程序main.py。若本地搭建进入 code/C8 按 requirements.txt 安装依赖、配置MOONSHOT_API_KEY后运行python main.py即可进入交互式问答配置方式详见 01_env_architecture.md。小结一份好菜谱不仅要好吃还要好检索。本文以牛排教程为样例既完整继承了原文档的用料量化、15 步煎制流程、火力量化与调味思路又从源码层面揭示了其在 all-in-rag 食谱知识库中如何被结构化分块、打标、向量化、混合检索并回捞父文档。掌握了这套文档结构即检索资产的思路你也可以用同样的方式把任意 Markdown 教程变成可问答的知识库。赞分享教程人工智能大模型RAG【免费下载链接】all-in-rag大模型应用开发实战一RAG 技术全栈指南在线阅读地址https://datawhalechina.github.io/all-in-rag/项目地址https://gitcode.com/datawhalechina/all-in-rag点击查看免费下载相关推荐从「咖喱肥牛」菜谱看 all-in-rag 食谱知识库数据设计、结构分块与 RAG 检索实战从「咖喱肥牛」菜谱看 all in rag 食谱知识库数据设计、结构分块与 RAG 检索实战 在 Datawhale 的 all in rag 开源仓库中第教程人工智能大模型RAGDatawhale all-in-rag 食谱知识库实战从「美式炒蛋」看结构化食谱的 RAG 检索与生成Datawhale all in rag 食谱知识库实战从「美式炒蛋」看结构化食谱的 RAG 检索与生成 导读 本文以 all in rag 项目 C8 章食教程人工智能大模型RAGall-in-rag 食谱知识库实战莴笋叶煎饼的精准做法与结构化菜谱解析all in rag 食谱知识库实战莴笋叶煎饼的精准做法与结构化菜谱解析 本篇文章以 莴笋叶煎饼.md https://link.gitcode.com/i/教程人工智能大模型RAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026极客日报解析:技术趋势与高效学习方法

2026极客日报解析:技术趋势与高效学习方法

1. 极客日报的价值与定位在信息爆炸的时代,专业领域的信息筛选与整合变得尤为重要。极客日报作为一种垂直领域的信息聚合形式,为技术从业者提供了高效获取行业动态的渠道。不同于普通新闻资讯,极客日报更注重技术深度与实用价值,通…

2026/9/23 23:40:59 阅读更多 →
时区转换避坑指南:从UTC到中国标准时间的正确姿势

时区转换避坑指南:从UTC到中国标准时间的正确姿势

之前接了一个报表需求,上游给的数据里时间字段是UTC存储的日期字符串,要求落库时转成中国标准时间并输出“XXXX-XX-XX”这种格式。第一版写得很顺:解析字符串、转时区、格式化、返回,一气呵成。结果上线第一天就被人反馈“日期对不…

2026/9/23 23:40:59 阅读更多 →
微信小程序校园报修系统开发实践与优化

微信小程序校园报修系统开发实践与优化

1. 项目背景与核心价值校园资产管理一直是高校后勤工作的痛点。传统报修流程需要师生到后勤处填写纸质表单,或者拨打固定电话进行登记,这种模式存在响应慢、流程不透明、维修状态难追踪等问题。我们团队开发的这套基于微信小程序的报修管理系统&#xff…

2026/9/23 23:40:59 阅读更多 →

最新新闻

Apache DataFusion 中的 Arrow 入门:RecordBatch、ArrayRef 与列式执行原理详解

Apache DataFusion 中的 Arrow 入门:RecordBatch、ArrayRef 与列式执行原理详解

大数据数据分析后端 【免费下载链接】datafusion Apache DataFusion SQL Query Engine 项目地址: https://gitcode.com/gh_mirrors/datafu/datafusion 点击查看 免费下载 导读 Apache DataFusion 将 Apache Arrow 作为其原生内存数据格式,因此任何使用…

2026/9/25 2:50:25 阅读更多 →
Artillery 自定义插件开发实战:以 artillery-plugin-hello-world 为例剖析插件接口与扩展机制

Artillery 自定义插件开发实战:以 artillery-plugin-hello-world 为例剖析插件接口与扩展机制

性能测试接口测试CLI 【免费下载链接】artillery The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.…

2026/9/25 2:50:25 阅读更多 →
react-map-gl 入门指南:为 Mapbox GL JS 与 MapLibre GL JS 打造的 React 组件套件

react-map-gl 入门指南:为 Mapbox GL JS 与 MapLibre GL JS 打造的 React 组件套件

前端UI组件 【免费下载链接】react-map-gl React friendly API wrapper around MapboxGL JS 项目地址: https://gitcode.com/gh_mirrors/re/react-map-gl 点击查看 免费下载 react-map-gl 是一套专为 React 设计的开源组件库,它把 mapbox-gl 与 maplibr…

2026/9/25 2:50:25 阅读更多 →
Spyder 内置教程全解:从运行首个 Python 程序到调试、绘图与代码规范实战

Spyder 内置教程全解:从运行首个 Python 程序到调试、绘图与代码规范实战

开发工具IDE代码编辑器 【免费下载链接】spyder Official repository for Spyder - The Scientific Python Development Environment 项目地址: https://gitcode.com/gh_mirrors/sp/spyder 点击查看 免费下载 Spyder(Scientific Python Development Env…

2026/9/25 2:50:25 阅读更多 →
RocketRide llm_perplexity 节点深度解析:把 Perplexity Sonar 搜索增强大模型接入 AI 流水线

RocketRide llm_perplexity 节点深度解析:把 Perplexity Sonar 搜索增强大模型接入 AI 流水线

【免费下载链接】rocketride-server High-performance AI pipeline engine with a C core and 50 Python-extensible nodes. Build, debug, and scale LLM workflows with 13 model providers, 8 vector databases, and agent orchestration, all from your IDE. Includes VS C…

2026/9/25 2:50:25 阅读更多 →
ctf-wiki 橢圓曲線加密(ECC)從入門到實戰:離散對數基礎、ElGamal 方案與 SECCON CTF 破解

ctf-wiki 橢圓曲線加密(ECC)從入門到實戰:離散對數基礎、ElGamal 方案與 SECCON CTF 破解

文档网络安全教程 【免费下载链接】ctf-wiki Come and join us, we need you! 项目地址: https://gitcode.com/gh_mirrors/ct/ctf-wiki 点击查看 免费下载 本篇技術指南以 ctf-wiki 的 ecc.md 為主體,系統梳理橢圓曲線加密(Elliptic Curve C…

2026/9/25 2:49:25 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →