基于大语言模型的知识库具有以下特点:
我们有一些模型,可以尝试从高层次上思考网络可能会做什么。因此,我们有点理解它们是如何建立和维护某种知识数据库的。但即使是这个知识数据库也是非常奇怪、不完美和怪异的。最近一个病毒式传播的例子是我们所说的逆转路线。例如,如果你去ChatGPT,与GPT-4(目前可用的最好的语言模型)交谈,你问汤姆·克鲁斯的母亲是谁,它会告诉你是玛丽·李·菲佛,这是正确的。但如果你问玛丽·李·菲佛的儿子是谁,它会告诉你它不知道。所以这种知识是非常奇怪和一维的。你必须从某个方向问它,这真的很奇怪。从根本上说,我们真的不知道,因为你所能衡量的只是它是否有效以及概率有多大。
上方页面左侧画红框的地方,是这个“问答机器人”的配置,右侧是与“机器人”的一轮对话。左侧有三处配置:AI模型提示词知识库。模型、提示词、知识库三者可以想象成:大语言模型:是一个学习过无数本书、拥有无穷智慧的人。他读过无数的书、看过无数的段子,因此对公共知识、学识技能、日常聊天十分擅长。然而,在工作场景下,只会聊天侃大山可不行,你想让他帮你干活。这个时候,就需要“提示词”出场了,提示词:是你告诉这个全知全能的人,他是一个什么样的角色、他要专注于哪些技能,让他能够按照你的想法,变成一个你需要的“员工”。知识库:相当于你给这个“聪明”员工的发放了一本工作手册。即使是看过再多的书、浏览过再多的文字,也不会准确的知道见到老板娘过来吃饭要打三折,张梦飞过去吃饭要打骨折。而知识库,就是把这些内容写在了工作手册上。让这个聪明的员工,见到有人来的时候,就翻一翻手册,然后再做出反应。我的设定:AI模型:这里使用的是阿里千问模型。
大语言模型的训练数据主要来源于公开互联网资源,包括网页、书籍、新闻和对话文本。这意味着大语言模型主要依赖互联网资源作为它们的训练数据,这些资源量级大、种类繁多且易于访问,支持大语言模型扩展其性能。然而,在垂直领域应用中,专业任务需要大语言模型利用领域知识(Domain knowledge)。遗憾的是,这些知识是私有数据,并不属于它们预训练数据中的一部分。为大语言模型配备领域知识的一种流行方法是检索增强生成(Retrieval-Augmented Generation,以下简称RAG)。RAG框架回答一个问题需要四个步骤:用户提出问询;系统从私有知识库中检索相关内容;将相关内容与用户查询合并为上下文;最后请求大语言模型生成答案。图1通过一个简单示例说明了这个过程。该过程反映了遇到问题时的典型认知过程,包括查阅相关参考资料,然后推导出答案。在这个框架中,关键部分是要准确地检索相关信息,这对RAG模型的效力至关重要。图1检索增强生成(RAG)的工作流然而,检索PDF文档的过程充满挑战,经常会出现文本提取的不准确和PDF文档内表格的行列关系混乱等问题。