微信扫码
与创始人交个朋友
我要投稿
如果我直接讲理论部分,我相信小白强迫自己看了前200字就会关掉窗口。因此,我们先将这个过程具象化。
以下是一个问答机器人的界面。这是一个示例,你可以把右侧的对话当做是微信的对话框,这些对话交互是可以在任何一个受支持的窗口下实现的。
上方页面左侧画红框的地方,是这个“问答机器人”的配置,右侧是与“机器人”的一轮对话。
模型、提示词、知识库 三者可以想象成:
大语言模型:是一个学习过无数本书、拥有无穷智慧的人。他读过无数的书、看过无数的段子,因此对公共知识、学识技能、日常聊天十分擅长。然而,在工作场景下,只会聊天侃大山可不行,你想让他帮你干活。这个时候,就需要“提示词”出场了,
提示词:是你告诉这个全知全能的人,他是一个什么样的角色、他要专注于哪些技能,让他能够按照你的想法,变成一个你需要的“员工”。
知识库:相当于你给这个“聪明”员工的发放了一本工作手册。即使是看过再多的书、浏览过再多的文字,也不会准确的知道见到老板娘过来吃饭要打三折,张梦飞过去吃饭要打骨折。而知识库,就是把这些内容写在了工作手册上。让这个聪明的员工,见到有人来的时候,就翻一翻手册,然后再做出反应。
我的设定:
图中右侧是一个十分简单的问答,
我问:“你是谁?你和子乔在台球厅吵架那次是为了什么吵架?”
她的回复是:“我是陈美嘉,那次在台球厅和吕子乔吵架是因为他约会被人撞见,我讽刺他脸大影响信号,他还反击我。后来谈到过去的事情,我指责他忘恩负义,他就说我平。最后,我伤心地说要分手,因为他之前甩过我。”
其中,她是陈美嘉,这里是人设中的设定。吵架的经过是知识库中的内容。
在我提问了之后,大模型去知识库里找到了相关内容,然后回复了我。这就是一个简单的正确回复的demo示例。
然而,我们会发现,有时候她的回答会十分不准确。
图二明显回答的牛头不对马嘴。
图三是知识库截图,其中是有“一菲为美嘉找了一份助教工作”的内容的。
但是回答这个问题时,AI并没有根据正确的知识库内容回答。
这,就是基于知识库问答中的一个非常常见的错误场景。在其他情况下,甚至有可能出现报价错误、胡编乱造等等。这在严肃场景中,是不能接受的出错。
现在应该能够直观的理解,为什么需要让大模型根据知识库回答的更加准确、更符合我们的要求。
在AI领域中,优化AI更准确回答问题的过程,有一个更加专业的术语,叫做RAG。接下来,咱们进入正题,一步一步探索,如何优化回答。
如果我们要优化幻觉问题和提高准确性,就务必要了解清楚从“问题输入”--“得到回复”,这个过程中,究竟发生了什么。然后针对每一个环节,逐个调优,以达到效果最佳化。
因此,我们先深入其中了解问答全貌。
RAG(Retrieval-Augmented Generation),即检索增强生成,是一种结合信息检索和文本生成能力的技术,它由两部分组成:一个“检索器”和一个“生成器”。检索器从外部知识中快速找到与问题相关的信息,生成器则利用这些信息来制作精确和连贯的答案。这种结合使得RAG非常适合处理需要广泛知识的任务,如问答系统,能够提供详细而准确的回答。
简单来说,就是通过检索的模式,为大语言模型的生成提供更多信息,从而使大模型生成的答案更符合要求。
可以把向量想象成空间中的点位,我们对话交流中的,每个词或短语都在这个空间中对应一个向量点位。
当系统需要找到与一个特定词或短语相关的内容时,它会查看这个词在虚拟空间中点的位置,寻找直线距离最近的点。在这个空间中,距离越近的点,代表词义或内容上的关联度越高。
简单来说,通过比较这些点的距离,检索器可以快速找到语义上接近的词语或信息,从而高效地检索相关内容。这就像在一个城市地图上找最近的餐馆,距离越近,越可能是你想去的地方。
理解了向量,我们来看看收到一个对话时,RAG的完整的工作流程。
RAB的处理过程简单可分为四个阶段:
①、问题解析阶段
②、知识库检索阶段
③、信息整合阶段
④、大模型生成回答
①、问题解析阶段:
1、输入向量化
问题会被模型预处理,然后输入进嵌入模型(Embedding Modle)转化为向量。以便后续检索时,能够把问题语句与向量数据库中的其他上下文信息进行比对。
文本预处理: 这包括去除无关字符、标准化文本(例如将所有字符转换为小写)、分词等,以清洁和准备文本数据。 嵌入表示: 将预处理后的文本(词或短语)转换为向量。这通常通过使用预训练的嵌入模型来完成,如Word2Vec、GloVe、BERT等。这些模型将每个词或短语映射到一个高维空间中的一个点(即向量)。 特征提取: 对于整个问题句子,可能会应用进一步的特征提取技术,比如句子级别的嵌入,或使用深度学习模型(如BERT)直接提取整个句子的表示。这个表示能够捕捉句子的上下文信息,不仅仅是单个词。 向量优化: 在某些情况下,问题的向量表示可能会根据具体任务进行优化,例如通过调整模型参数来更好地与检索系统的其他部分协同工作。
②、知识库检索阶段:
此阶段,首先需要有一个知识库,那么知识库是如何完成制作,并被检索的呢?
我们需要先了解一个概念,在大模型的检索中,并不是依靠传统的关键字去搜索。而是依靠问题在空间中的向量位置,去寻找距离这个向量最近的其他词句,然后完成检索。
所以,要在向量中进行检索,我们的知识库其实也是被转化成了了一个巨大的向量库。
1、文档向量化:
知识库中的文档也需要被转换成向量形式。这使得文档内容能够在数值级别上与问题向量进行比较。在我们使用知识库工具时,上传文档就会帮助我们完成文档的向量化。这一步就是依靠Embedding Modle完成的。
2、知识库检索:
根据前一步输出的问题向量,检索器开始在一个庞大的向量空间中搜索与问题相关的内容(既向量距离最接近)。检索器根据问题的关键词和上下文,选出最相关的信息片段。
在这一步,检索器从知识库里,检索到了一些和用户问题最相关的内容。
相似性计算: 使用一种相似性度量方法(如余弦相似性)来计算问题向量和各个文档向量之间的相似度。这一步是为了找出与问题内容最为接近的文档。
排序与选择: 根据相似性得分,所有文档会被排序。系统通常会选择得分最高的几个文档,认为这些文档与问题最相关。
信息抽取: 从选定的高相关性文档中抽取具体的信息片段或答案。这可能涉及到进一步的文本处理技术,如命名实体识别、关键短语提取等。
③、信息整合阶段:
1、信息融合:
这里将接收到上一步中检索到的全部信息。然后把这些信息连带用户问题和系统预设,被整合成一个全新的上下文环境,为生成回答提供基础。
信息筛选与确认: 首先,系统会对检索器提供的信息进行评估,筛选出最相关和最可信的内容。这通常涉及到对信息的来源、时效性和相关性进行验证。
消除冗余: 在多个文档或数据源中,可能会有重复的信息。系统需要识别和去除这些冗余内容,以防在生成回答时出现重复或相互矛盾的信息。
关系映射: 系统将分析不同信息片段之间的逻辑和事实关系,如因果、对比、顺序等。这有助于构建一个结构化的知识框架,使得信息在语义上更加连贯。
上下文构建: 将筛选和结构化的信息组织成一个连贯的上下文环境。这通常包括对信息进行排序、归类和整合,使其形成一个统一的叙述或解答框架。
语义融合: 在必要时,系统可能会进行语义融合,即合并意义相近但表达不同的信息片段,以减少语义上的重复并增强信息的表达力。
预备生成阶段: 最后,整合好的上下文信息被编码成适合生成器处理的格式,如将文本转化为适合输入到生成模型的向量形式。
④、大模型生成回答
1、生成器:
最终全新的上下文被一起传递给大语言模型。随后,大语言模型(LLM)根据提供的信息来回答问题。
因为这个上下文包括了检索到的信息,因此大语言模型相当于同时拿到了问题和参考答案,通过LLM的全文理解,最后生成一个准确和连贯的答案。
上下文向量化: 将整合后的上下文信息转化为向量。这通常通过一个预训练的语言模型进行,例如BERT或GPT。这些向量能够捕捉上下文中的语义信息,为生成回答提供必要的输入。
生成模型激活: 使用一个基于Transformer的生成模型(如GPT)接收向量化的上下文。这个模型利用自注意力机制来理解上下文中的各种关系和信息。
逐词生成回答: 生成模型开始逐词构建回答。模型在每一步生成一个词,同时考虑到之前已生成的词和整个上下文的语义。这个过程是迭代的,直到整个回答构建完成。
语言流畅性和准确性优化: 在回答生成的过程中,模型会优化语言的流畅性和逻辑性。确保生成的文本不仅在语法上正确,而且在逻辑上连贯,与用户问题紧密相关。
回答评估与调整: 完成初步生成后,系统可能会对回答进行评估,检查其准确性、相关性和用户满意度。如果需要,可以对回答进行微调或完全重新生成。
⑤、输出回答:
最终,生成的答案呈现给用户。
简要总结RAG的全流程:
问题解析阶段:
知识库检索阶段:
知识库中的文档同样向量化后,比较问题向量与文档向量,选择最相关的信息片段。抽取相关信息传递给下一步骤
信息整合阶段:
接收检索到的信息,与上下文构建形成融合、全面的信息文本。整合信息准备进入生成阶段。
大模型生成回答:
看理论有点懵是吗?为了更理解,我们来一起看看实例。
这是调试预览中的对话示例。
在回复中,可以看到这里有写11条引用,3条上下文,我们具体来看下,有什么处理。
一、知识库检索部分
1、把输入的问题,通过Embedding做了向量化
2、使用qwen语言模型把问题做了优化、添加了接近的检索词
3、知识库向量检索,抽取条件包含相似度0.85
4、通过检索一共抽取出了11个内容块(chunk)
二、大模型对话部分
5、此处将①②一起传递给了LLM(大语言模型),最终得到了③AI的回答。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
RAG技术全解析:从基础到前沿,掌握智能问答新动向
2024-11-15
RAG在未来会消失吗?附RAG的5种切分策略
2024-11-15
HtmlRAG:利用 HTML 结构化信息增强 RAG 系统的知识检索能力和准确性
2024-11-15
打造自己的RAG解析大模型:表格数据标注的三条黄金规则
2024-11-13
RAGCache:让RAG系统更高效的多级动态缓存新方案
2024-11-13
Glean:企业AI搜索,估值46亿美元,ARR一年翻4倍
2024-11-12
从安装到配置,带你跑通GraphRAG
2024-11-12
蚂蚁 KAG 框架核心功能研读
2024-07-18
2024-07-09
2024-05-05
2024-07-09
2024-05-19
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21