Lucent's Blog

当时明月在 曾照彩云归

人生不相见,动如参与商。

6LCi5Y2O5qKFLOaIkeaDs+S9oOS6hg==


基于RAG的聊天引擎

构建一个可以在单个查询中多次运行RAG系统的一个重要特性是聊天逻辑,考虑到对话上下文,就像在 LLM 时代之前的经典聊天机器人一样。这是支持后续问题,重复指代,或任意用户命令相关的以前对话上下文所必需的。查询压缩技术可以同时考虑聊天上下文和用户查询。

有几种方法可以实现上下文压缩:

一种流行且相对简单的 ContextChatEngine,首先检索与用户查询相关的上下文,然后将其连同聊天历史从存缓发送给 LLM,让 LLM 在生成下一个答案时能够意识到前一个上下文。

另一种更复杂的实现是 CondensePlusContextMode,在每次交互中,聊天历史记录和最后一条消息被压缩成一个新的查询(这个查询是由模型自行生成的),然后这个查询进入索引,检索到的上下文被传递给 LLM连同原始用户消息来生成一个答案。

ContextChatEngine和CondensePlusContextMode流程图

上一篇

智能体是什么 智能体的英文是 Agent,AI 业界对智能体提出了各种定义。个人理解,智能体是一种通用问题解决器。从软件工程的角度看来,智能体是一种基于大语言模型的,具备规划思考能力、记忆能力、使用工具函数的能力,能自主完成给定任务的计算机程序。 大语言模型很强大,就像人类的大脑一样拥有思考的能力。…

阅读
下一篇

RAG 全称 Retrieval-Augmented Generation,翻译成中文是检索增强生成。检索指的是检索外部知识库,增强生成指的是将检索到的知识送给大语言模型以此来优化大模型的生成结果,使得大模型在生成更精确、更贴合上下文答案的同时,也能有效减少产生误导性信息的可能。 为什么需要RAG?…

阅读