第 18 章 RAG 简介
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
还记得你第一次与 ChatGPT 这样的 LLM 聊天--以及它是如何对你意想不到的事情知道得极为透彻的吗?在 ChatGPT 发布之前,我曾与 LLMs 合作过,并参与了一些凸显 LLM 能力的项目,但我仍然对它们的能力感到惊讶。还记得谷歌公司首席执行官在台上与冥王星对话的著名演示吗?这是人工智能可能性方面的一次根本性思维转变,随着人工智能的不断发展,我们仍在探索人工智能的可能性。
但是,尽管如此辉煌,仍然存在局限性,我和其他人与 LLMs 合作得越多,我们遇到的局限性就越多。我们在第 15 章中讨论过的基于转换器的架构在攫取文本数据、创建 QKV 映射以及学习如何人工理解文本语义方面表现出色。不过,尽管用于建立这些映射的文本数量庞大,但仍存在一个盲点,而且始终是一个盲点: 私人数据。特别是,如果您想要使用的数据是模型没有经过训练的,那么您就会面临产生幻觉的重大风险!
作为软件开发人员,掌握有助于减少这一盲点的技能可能是最有价值的事情。
在本章中,我希望你以不同的方式思考人工智能模型,尤其是像 LLMs 这样的大型生成模型。不要再把它们看成是智能和知识渊博的模型,而要把它们看成是帮助你更好地解析数据的工具。不要把它们所学到的一切本身看成是一个知识库,而要把它们看成是它们通过广泛阅读而对语言有普遍理解的一种方式。
我把这种人工理解称为人工智能的补充技术, 。
然后,一旦你把自己喜欢的 LLM 当作人工理解的引擎,你就可以开始让它理解你的私人文本--不在其训练集中的内容--并通过这种理解,以新颖有趣的方式处理你的文本。
让我们通过一个场景来探讨这个问题。想象一下,你正在和一个人工智能模型讨论你最喜欢的科幻小说。你想问一些关于人物、情节、主题之类的问题,但模型却很难回答具体的问题,只能提供一般性的回答,更有甚者,还会产生幻觉。例如,请看图 18-1,图中显示了我与 ChatGPT 就一部名为《太空学员》(Space Cadets)的小说中的人物进行聊天时得到的结果。
图 18-1. 与 GPT 讨论角色
这一切都非常有趣--除了它是错误的。首先,这个人物来自朝鲜 ,而不是韩国 。
GPT自信地说错了。为什么呢?因为这本小说不在训练集中!我是在 2014 年写的,当时是由一家小出版社出版的,几个月后这家出版社就倒闭了。因此,它相对晦涩难懂,是我们用来探索 RAG 的最佳素材。在本章结束时,你将利用 PyTorch 技能创建一个应用程序,它在理解这本小说以及相关人物方面要聪明得多。当然,你还可以使用整本小说!
一个小插曲:当我第一次使用 LLM 来完成这样的任务时,我的大脑被震撼了。 它能够人为地理解我自己写作的内容和背景,就像有一个伙伴在我身边批评我的作品,帮助我深入挖掘人物和主题。这本书的结尾是一个悬念,我再也没有回来写续集。与一位 LLM 就人物弧线等进行对话,让我对它的 Go 方向有了全新的智慧。
当然,你并不局限于小说作品。几乎每个企业都有一个内部情报库,这些情报被锁在文档中,人类需要花费大量时间来阅读、索引、交叉关联和理解这些文档,才能回答查询--因此,LLM 人工理解这些文档以帮助您挖掘文本知识的能力是无与伦比的。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access