AI 能理解我的文档并回答吗?RAG(检索增强生成)技术的秘密

一幅描绘开发者将复杂的 AI 技术结构如拼图般拼凑在一起的图像
AI Summary

深入解析 RAG(检索增强生成)——这项突破 AI 模型知识局限、赋能获取最新信息的关键技术。

想象一下,你整理了数年的工作手册或海量的个人笔记。如果你以此为基础向时下流行的 AI 聊天机器人提问,而 AI 回答说“抱歉,我不了解相关内容”,那该有多令人沮丧。

我们常用的通用大语言模型(LLM,即通过学习海量文本数据来生成自然语言的 AI)天生只了解其已学习过的公开互联网数据范围内的信息。 出处 4 也就是说,你独有的数据对 AI 而言是“未知领域”。为了解决这个问题,一项名为 RAG(检索增强生成,Retrieval Augmented Generation) 的技术应运而生。

这为何如此重要?

RAG 是目前提高 AI 模型响应质量和准确性应用最广泛的技术。 出处 4 在处理企业内部文档或实时新闻等 AI 模型无法预先学习的信息时,这项技术不可或缺。 出处 5

简单来说,这不仅是给参加考试的学生(AI)一本教科书(学习数据),而是允许他们随意查阅参考图书馆(外部数据库)。打个比方,这就好比将一场必须全靠脑力回忆答案的闭卷考试,转换为一场可以查阅资料的开卷测试。通过这种方式,AI 能够给出更加准确且值得信赖的回答。 出处 5

轻松理解:为 AI 打造参考资料室

许多 RAG 教程往往只是调用现成的框架,说:“调用这三个函数就完成了”。但这样学习很容易忽略技术核心原理。 出处 2 若想真正理解技术,从底层(from scratch)亲手搭建结构的过程至关重要。 出处 11

构建 RAG 的流程大致如下:

  1. 准备文档:将 PDF 或文档文件提取为 AI 可读的文本。
  2. 文本分块(Chunking):将长文档拆分为 AI 易于处理的小片段。
  3. 生成嵌入(Embedding):将文本片段转换为 AI 能理解的数值向量坐标。
  4. 相似度搜索(Similarity Search):当用户提问时,AI 会在数据片段中找出与问题最相似的内容。
  5. LLM 生成答案:将检索到的信息连同问题一起传给 AI 模型,让模型以此为基础最终完成回答。 出处 7

例如,当我们想在厚厚的百科全书中查找特定内容时,我们自己先翻阅索引(搜索),找到相关页面后总结其内容告诉朋友,这与 RAG 的工作原理完全一致。

现状:进展如何?

如今,RAG 技术已达到非常实用的阶段。即便不懂编程,也可以使用简单的无代码(No-code)工具构建自动化工作流; 出处 1 当然,利用 Python 等编程语言从头到尾进行深度定制开发也是完全可行的。 出处 16

不过,初学者有时会因为复杂的环境配置或教程过时而感到困惑。 出处 16 此外,随着数据量增加,简单的搜索可能会导致准确率下降,为此,诸如优化搜索范围、管理上下文长度等各种高级技术也在不断进化中。 出处 10

未来趋势如何?

未来,RAG 技术将朝着人人都能轻松接触并实现的方向发展。那些曾经从零开始亲手实现并掌握基本原理的人,在未来设计更大规模的企业级系统时,将拥有更坚实的基础。 出处 20 大家现在就可以尝试开启一个小项目。亲手实践的经验,将是理解 AI 时代的最佳钥匙。 出处 15

MindTickleBytes AI 记者观点

RAG 正是那个将 AI 从单纯的“知识仓库”蜕变为我们身边“智能秘书”的关键技术。这段让 AI 能阅读并回答我们文档的旅程,或许正是改变我们搜索及处理信息方式的一场微小却意义深远的变革。

参考资料

  1. Build a RAG Chatbot in n8n — Easiest Way to Embed AI… - YouTube, https://www.youtube.com/watch?v=D_Epp2UmQAk
  2. Retrieval Augmented Generation from Scratch Tutorial, https://joescharf.com/retrieval-augmented-generation-from-scratch-tutorial/
  3. Retrieval Augmented Generation (RAG) - DeepLearning.AI, https://learn.deeplearning.ai/courses/retrieval-augmented-generation/lesson/rrngb/a-conversation-with-andrew-ng
  4. What is Retrieval-Augmented Generation (RAG)?, https://www.analyticsvidhya.com/blog/2023/09/retrieval-augmented-generation-rag-in-ai/
  5. Understanding RAG by Building a ChatPDF App… - DEV Community, https://dev.to/sharathkurup/understanding-rag-by-building-a-chatpdf-app-from-numpy-to-faiss-part-2-33oe
  6. Understanding RAG Part V: Managing Context Length, https://machinelearningmastery.com/understanding-rag-part-v-managing-context-length/
  7. GitHub - linga009/causal-graph-rag Linga Murthy Narlagiri, https://www.linkedin.com/posts/lingam2620121989_github-linga009causal-graph-rag-activity-7475187703802679296-tdjm
  8. RAG Crash Course for Beginners - YouTube, https://www.youtube.com/watch?v=swvzKSOEluc
  9. Build RAG From Scratch in Python Modern RAG Project for Beginners …, https://www.youtube.com/watch?v=mMb_0cqw-E8
  10. Building RAG Systems: From Zero to Hero - DEV Community, https://dev.to/gautamvhavle/building-production-rag-systems-from-zero-to-hero-2f1i
AD
测试你的理解
Q1. RAG 技术的关键作用是什么?
  • 缩短 AI 的训练时间
  • 帮助 AI 基于未学习过的数据生成回答
  • 减小 AI 模型的大小
RAG 是一种通过检索 AI 未曾学习过的外部数据,来提高回答准确性和质量的技术。
Q2. 在构建 RAG 应用时,下列哪项通常不是必要环节?
  • 提取文档文本并进行分块(chunking)
  • 生成嵌入(Embedding)
  • 重新训练 AI 模型
RAG 的核心方式不是重新训练模型,而是通过检索外部数据并将其传递给模型。
Q3. 为什么 RAG 能提升 AI 模型的回答质量?
  • 因为模型能自行寻找正确答案
  • 因为可以检索并利用学习数据之外的最新信息或个人数据
  • 因为 AI 模型运算速度更快
AI 模型初期仅依赖于已学习的信息,而 RAG 允许 AI 检索最新的外部信息,从而改善回答的质量和准确性。