03Bread RAG · 第 1 章
总进度 16 / 33

先试着把整篇文档交给模型

假设手里有一份产品说明,希望模型按这份说明回答。最直接的办法,是把原文和问题一起发给它。我们先试一次,再看看文档变多后会遇到什么问题。

2026-09-28约 20 分钟50 行代码难度 ★

如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。

1. 文档问答,先从简单办法开始

假设手里有一份产品说明,希望模型按这份说明回答。最直接的办法,是把原文和问题一起发给它。我们先试一次,再看看文档变多后会遇到什么问题。

本章把整篇文档放入 system prompt,让模型参考其中的内容作答,暂时不做检索。

+------------------------------------+
|  system: 这里是整本知识库的全部内容 |  ← 几千字 / 几万字 / 几十万字...
|  user:   你问的问题                |
+------------------------------------+
                ↓
            LLM 回答

文档较短时,这种办法很方便;换成一整套产品手册后,则需要考虑:

  • 模型的上下文能否容纳这些内容。
  • 每次重发全文带来的输入用量和等待时间。
  • 大量无关段落是否影响模型找到关键条件。

从 ch01 开始,再加入检索:先找与问题相关的片段,只把选中的内容交给模型。

<!-- bread-visual:start -->

带整本书,还是只带相关页?

图解: 先理解基线做法的成本,再理解为什么需要检索。 没有资料支撑时,应明确表示不知道;“放进 prompt”不保证回答一定正确。

<!-- bread-visual:end -->

2. 跑起来

cd ch00_baseline
python main.py

需要 .env。复用 bread-agent 的就行,main.py 已经写好了兜底。

预期输出:

[信息] 文档长度: 1200+ 字符 (~600 tokens)
[信息] 这些字符**每次提问都会被发给模型** —— 这就是无 RAG 的代价

=== 问题 1: 你们公司哪一年成立的? ===
AI: Bread 面包工坊成立于 2018 年。

=== 问题 2: 加盟费是多少?培训要多久? ===
AI: 加盟费 38 万元,需要在上海杨浦区中央厨房接受 14 天的总部培训。

=== 问题 3: Bread 面包工坊 2026 年 7 月会推什么新品? ===
AI: 根据知识库,2026 年 7 月会推出植物基(vegan)羊角面包,目前处于研发阶段。

=== 问题 4: 你们的吐司用什么面粉?黄油是哪个牌子? ===
AI: ... 日本鸟越制粉 ... 法国铁塔(Président)和爱乐薇(Elle & Vire)...

=== 问题 5: 你们能去新疆送货吗? ===
AI: 知识库里没有相关信息 (✓ 模型没瞎编)

试读到这里 · 后续内容已封存

关注公众号,继续把这章学完

在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。