rag技术原理-j9九游会登录
要理解为什么源文档质量会影响rag效果,必须先理解大模型的工作方式,以及agentarts知识库在整个rag链路中扮演的角色。
大语言模型的能力与局限
大语言模型(llm)通过在海量文本数据上进行预训练,学习到了语言的语法结构、语义关联和丰富的世界知识。其核心技术基础是transformer架构中的自注意力机制(self-attention),该机制允许模型在处理文本时同时关注序列中任意两个位置的关联关系,突破了传统序列模型在长距离依赖理解上的瓶颈,使模型能够处理复杂的上下文推理任务。
agentarts支持无缝接入deepseek、glm、kimi等热门大模型,在同一个工作流中,可以让擅长逻辑的千亿参数模型负责规划,让擅长速度的小参数模型负责润色,实现成本与效果的最优解。
然而,无论接入哪款大模型,它们都共同面临同一个根本局限:模型的知识是静态的,固化在训练参数之中。当用户询问企业内部规章、最新产品手册、特定行业专有知识,或训练截止日期之后发生的事件时,模型只能依赖自身训练数据作答。这是企业级ai应用中产生“幻觉”(即模型生成听起来合理但实际错误内容)的主要根源。
rag如何解决这一问题
在agent中添加知识库,使其与用户提供的专业知识库进行交互,可以显著提升agent的准确度和专业度。 rag的核心思路是:在大模型生成回答之前,先从知识库中检索与问题最相关的文档内容,将这些内容连同原始问题一起构建为完整的提示词,再交由大模型推理。这样,大模型的回答便有了真实的文档依据。
在agentarts中应用rag
下图描述了在agentarts中,一个配备了知识库的智能体如何响应用户的查询请求:

- 用户提问:用户在智能体或工作流中输入问题。
- 向量化查询:系统将用户的问题通过embedding模型转化为查询向量。
- 知识库检索:依据配置的检索策略(语义检索、关键词检索或混合检索),在向量数据库中召回与查询最相关的若干文档切片。
- re-rank精排:对初步召回的候选切片进行二次评分排序,将与问题最相关的切片置于最前。
- 提示词构建:将用户原始问题与top-k切片内容拼合为完整的提示词(prompt)。
- 大模型推理:大模型依据提示词中的上下文信息生成最终回答。
- 回答返回:智能体将生成结果返回给用户。
整个链路的质量核心在于第3步:知识库中存储的文档切片质量。 切片的语义完整性、内容准确性与信息密度,直接决定了大模型可以依据什么信息进行推理。
agentarts知识库的类型
agentarts支持两种类型的知识库管理:平台知识库和第三方知识库。两种类型在数据存储位置、适用场景和接入方式上各有不同,开发者可根据自身实际情况灵活选择。
平台知识库
平台知识库是在agentarts内直接创建和管理的知识库。它对文本文档、faq等数据进行向量化存储与知识检索,支持为智能体提供检索增强能力。无论是文本文档、演示文稿,还是电子表格文件,用户都可以轻松地将数据导入知识库,无需额外的转换或格式处理。
平台知识库适用于以下场景:
企业尚未建立现成的知识库系统,希望从零开始构建并快速投入使用。
第三方知识库
第三方知识库是将企业已有的外部知识库系统接入到agentarts中,实现知识复用。接入完成后,agentarts智能体在运行时会通过标准接口直接调用第三方知识库中的数据,数据不存储在agentarts平台中,检索请求由agentarts发送至第三方系统,获取结果后返回给智能体使用。
第三方知识库适用于以下场景:
企业已有现成的知识库系统(如ragflow),希望直接复用现有数据而无需重复上传。
相关概念
| 术语概念 | 解释 |
|---|---|
| rag(retrieval-augmented generation,检索增强生成) | rag一种将信息检索与大语言模型生成能力相结合的ai技术架构。在生成回答之前,先从知识库中检索与问题最相关的文档内容,将检索结果与原始问题共同构建为提示词,输入大模型进行推理,从而使回答有据可查、减少幻觉、整合私有知识。 |
| 知识库(knowledge base) | agentarts知识库是组织、存储及管理知识的系统,涵盖文档等信息的分类整理,可帮助用户高效管理大量信息。在agent中添加知识库,使其与用户提供的专业知识库进行交互,可以显著提升agent的准确度和专业度。知识库是agentarts平台上rag能力的核心载体,支持文本文档、faq等格式的文件导入,经解析、分段、向量化后存入向量数据库,供智能体在推理时检索调用。 |
| 幻觉(hallucination) | 大模型在生成回答时产生的内容流畅但与事实不符的现象。在rag场景中,幻觉的主要来源包括:知识库中缺乏相关定义(模型无据可查)、切片内容语义混杂或指代不明(模型无法从中提取准确事实)、以及知识库中存在相互矛盾的内容(模型面对矛盾时自行"调和"产生偏差)。 |
| 向量(vector) | 向量是表示数学空间中一个点的有序数字序列,每个维度都编码了文本的某一语义特征。在自然语言处理中,文本被映射为高维向量空间中的点,语义相近的文本在这个空间里彼此靠近。 |
| 嵌入(embedding) | 嵌入是知识库的核心“翻译”过程:将文本块转化为一串数字向量,使其能被计算机进行数学计算。意思相近的句子,其向量表示在数学空间中的距离也更近。在agentarts知识库的配置中,用户可以使用向量化模型(embedding模型)将上传的文档转化为向量。 |
| 切片/分块(chunking) | 切片/分块是将长文档(如pdf、word)切分成小的文本块的过程。切片策略直接决定了检索的精准度,切得太碎会丢失上下文,切得太大则包含噪音。 agentarts知识库支持多种分段方式,包括按自动分段、按长度分段,以及按照文档目录层级分段,分段策略的介绍详见知识库分段。 |
| 检索策略 | agentarts的知识库支持以下检索策略,可在创建智能体/工作流时选择对应的知识库检索策略:
|
| 精排模型(re-rank) | 精排模型初步检索通常会召回多个候选切片,但这些切片与用户问题的相关程度参差不齐。re-rank精排模型对初步召回的所有候选切片进行二次细粒度评分,综合考量切片与问题之间的语义关联、上下文完整性等多维度因素,重新排列候选顺序,确保最终传入大模型的top-k切片是真正最相关的内容。精排模型的引入显著提升了检索精度,是高质量rag系统的重要组成部分。 |
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨