知识库是指在不同的应用场景中具有不同的含义和作用:
符号人工智能的早期成就之一是专家系统——为充当某个有限问题领域的专家而设计的计算机系统。它们基于从一个或多个人类专家那里提取的知识库,并包含一个推理引擎,在此基础上进行推理。专家系统就像人类的推理系统一样,包含短期记忆和长期记忆。同样,在以知识为基础的系统中,我们会区分以下几个部分:问题记忆(Problem memory):包含与当前要解决的问题有关的知识,如病人的体温或血压、是否有炎症等。这种知识也被称为静态知识(static knowledge),因为它包含了快照信息,记录着我们在当前状态下对问题的了解——即所谓的问题状态(problem state)。知识库(Knowledge base):代表某个问题领域的长期知识。它是从人类专家那里人工提取的,不会因外部的咨询而改变。由于它允许我们从一个问题状态前往另一个问题状态,因此也被称为动态知识(dynamic knowledge)。推理引擎(Inference engine):协调在问题状态空间中搜索的整个过程,必要时向用户提问。它还负责找到适用于每个状态的正确规则。举例来说,下面这个专家系统是根据动物的物理特征来判断动物的:这种图称为AND-OR树,是一组产生式规则的图形表示。在从人类专家那里提取知识的早期阶段,绘制树形图非常有用。要在计算机中表示知识,使用规则更为方便:你可以注意到,规则左侧的每个条件和操作本质上都是对象-属性-值(OAV)三元组。工作记忆包含与当前要解决的问题相对应的OAV三元组。规则引擎会查找满足条件的规则,并应用这些规则,从而向工作记忆中添加另一个三元组。✅为你喜欢的主题写一个AND-OR树!
扣子提供了以下几种方式来存储和记忆外部数据,这样Bot便可以使用这些外部数据来精准回复用户。知识库:是大量知识分片,通过语义匹配,给模型补充知识。以车型数据为例,每个知识库的分段中,保存了一种车型的基础数据。当用户问宝马X3的售价是多少?,能匹配到对应车型的分段,然后模型从中获取到售价信息。数据库:类似传统软件开发的数据库功能,以表格结构存储信息,通过NoSQL方式使用。目前提供的是关系型数据库,下面列举一些应用场景:AI便签:记录用户提交的便签,支持提交、查询操作,这些操作都是通过NL2SQL完成。单词本:记录用户背过哪些单词,其中哪些单词还没有记住等。
活字典是针对知识库一个非常贴切的比喻还记得我们说过AI的知识会"过期"吗?解决这个问题的一个好方法就是给AI配备一个随时更新的"活字典",我们称之为知识库。知识库就像是AI可以随时查阅的百科全书。当AI遇到不确定的问题时,它可以从知识库中检索相关信息,从而给出更新、更准确的回答。比如,我们可以建立一个包含最新新闻、科技发展、法律法规等内容的知识库。这样,即使AI的基础模型没有得到更新,它也能通过查阅知识库来回答有关最新事件的问题。比如很火的AI搜索,其实就是将整个互联网的实时数据作为知识库,每次被询问时都可以通过搜索引擎获取最新的信息。旁白:你很激动,当你听到关于对RAG的解释的时候,你觉得你找到了一条正确的路。RAG也许可以帮你解决每天回答那些重复问题的困扰,你怀着激动的心情开始了RAG学习之旅