Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

rag的召回策略

Answer

RAG(检索增强生成)的召回策略主要包括以下方面:

  1. 检索是 RAG 框架的核心组件之一,其质量和效率对系统性能至关重要。
    • 检索策略:需确定何时进行检索及如何选择要检索的信息,可根据任务和上下文调整。
    • 检索粒度:能以不同粒度进行,选择取决于任务要求和数据结构。
    • 检索方法:包括基于关键字、实体检索、自然语言查询和知识图检索等,各有适用情境和优势。
    • 检索效率:在实时应用中,优化检索过程以降低延迟和资源消耗是重要任务。
    • 外部数据源:可从多种外部数据源检索,选择合适的数据源对获取准确丰富信息很关键。
  2. 随着 RAG 的发展,出现了自适应的检索(也称作主动检索),其与 LLM Agent 核心思想相似。
    • RAG 系统可主动判断检索时机和结束流程,输出最终结果。
    • 根据判断依据,可分为 Prompt-base 和 Tuning-base 两种方式。
    • Prompt-base 方式通过 Prompt Engineering 让 LLM 控制流程,如 FLARE 案例。
    • Tuning-base 方式对 LLM 微调使其生成特殊 token 来触发检索或生成,如 Self-RAG 案例。
  3. 在 RAG 系统开发中,为解决文档整合限制等问题,可采取以下措施:
    • 调整检索策略:LlamaIndex 提供多种从基础到高级的检索策略,如基础检索、高级检索与搜索、自动检索、知识图谱检索、组合/层级检索等,以适应不同需求和场景,提高检索精确度和有效性。
    • 微调嵌入技术:对开源嵌入模型进行微调是提高检索准确度的有效手段,LlamaIndex 提供了详细的微调指南和示例代码片段。
Content generated by AI large model, please carefully verify (powered by aily)

References

开发:产品视角的大模型 RAG 应用

开发:产品视角的大模型RAG应用[heading1]一文看懂RAG:大语言模型落地应用的未来[heading2]RAG中的核心组件RAG的核心组件分为三个部分检索(Retrieval)、增强(Augmentation)、生成(Generation),其分类结构如下图:[heading3]RAG中的检索(Retrieval)[content]检索是检索增强生成(RAG)框架的核心组件之一,它负责从外部数据源或知识库中获取与用户查询相关的信息。检索的质量和效率对于RAG系统的性能至关重要,因为它直接影响生成的文本或回答的准确性和相关性。以下是与检索相关的一些关键概念和技术:检索策略:RAG系统需要确定何时进行检索以及如何选择要检索的信息。检索策略可以根据任务和上下文进行调整,以提高系统的效率和性能。检索粒度:检索可以以不同的粒度进行,从单个标记或实体到更大的文本块或知识图。选择适当的检索粒度取决于任务的要求和数据的结构。检索方法:有多种检索方法可供选择,包括基于关键字的检索、实体检索、自然语言查询和知识图检索等。每种方法都有其适用的情境和优势。检索效率:高效的检索是关键因素之一,尤其是在实时应用中。优化检索过程以降低延迟和资源消耗是重要任务之一。外部数据源:RAG系统可以从各种外部数据源中进行检索,包括互联网上的文档、知识库、数据库和API。选择合适的数据源对于获取准确和丰富的信息至关重要。在RAG框架中,检索与生成和增强技术密切合作,以生成最终的文本或回答。因此,检索的质量和效率对于整个RAG系统的性能和效果至关重要。

大模型RAG问答行业最佳案例及微调、推理双阶段实现模式:基于模块化(Modular)RAG自定义RAG Flow

随着RAG的发展,逐步超越被动的检索的方式,出现了自适应的检索(也被称作主动检索),这一方面也是受益于LLM的强大能力。在核心思想上与LLM Agent相似。RAG系统可以主动判断的检索时机,以及判断时候结束整个流程,输出最终的结果。根据判断的依据,又可以分成和Prompt-base和Tuning-basePrompt-base.通过Prompt Engineering的方式让LLM对流程进行控制。一个典型的实现案例是FLARE。它的核心思想是LM应该仅在缺乏所需知识时进行检索,以避免被动检索增强的LM中出现不必要或不适当的检索。FLARE迭代地生成下一个临时句子,并检查是否包含低概率标记。如果是这样,系统将检索相关文档并重新生成句子。Tuning-base.对LLM进行微调使其生成特殊的token,以此来触发检索或生成。这种思想可以追溯到Toolformer中,通过生成特俗的内容,来辅助调用工具。在RAG系统中则是用于控制检索和生成两个步骤。一个典型的案例是Self-RAG。具体而言,1.给定一个输入提示,和前面的生成结果,首先预测特殊token“Retrieve"判断是否通过检索段落对继续的生成进行增强是有帮助。2.如果有帮助,调用检索模型。模型会生成一个critique token来评估检索段的相关性,下一个响应片段,和一个批判令牌来评估响应片段中的信息是否得到了检索段的支持.3.最后,一个新的批判令牌评估响应的整体效用。模型会并行处理这些内容,并选择最佳结果作为最终的输出。

RAG 系统开发中的 12 大痛点及解决方案

论文指出:“答案所在的文档虽从数据库中检索出来,但并未包含在生成答案的上下文中。”这种情况通常发生在数据库返回众多文档,并需通过一个整合过程来选取答案的场景。为了解决上述问题,除了增加排序器和对其进行微调外,我们还可以尝试以下建议的解决方案:[heading3]调整检索策略[content]LlamaIndex提供了多种从基础到高级的检索策略,以确保我们在RAG流程中能够准确地检索信息。详细的检索策略列表请参见[检索器指南](https://docs.llamaindex.ai/en/stable/module_guides/querying/retriever/retrievers.html),其中包括:基础检索:针对每个索引执行高级检索与搜索自动检索知识图谱检索组合/层级检索等等!这一系列的策略为我们提供了灵活性和多样性,以适应不同的检索需求和场景,从而提高检索的精确度和有效性。[heading3]微调嵌入技术[content]如果您在使用开源嵌入模型,对其进行微调是提高检索准确度的有效手段。LlamaIndex提供了一份详细的微调指南([查看微调指南](https://docs.llamaindex.ai/en/stable/examples/finetuning/embeddings/finetune_embedding.html)),展示了如何微调开源嵌入模型,并证明了这一过程能够在多个评估指标上持续提升性能。下方是一个示例代码片段,介绍了如何创建微调引擎、执行微调过程以及获取微调后的模型:

Others are asking
推理行大模型对于RAG的准确性提升,带来哪些改变
推理行大模型对 RAG 准确性提升带来了以下改变: 1. 当辅以能有效提取文档中结构化信息并整合为提示词的 PDF 解析器时,大语言模型能作出更准确的响应,提高了提供给模型的数据质量和相关性,从而提升模型输出质量。 2. 大模型应用领域常用的 RAG 方法,能让模型用自定义数据生成结果,处理无尽私有数据,将模型当成高效推理机器。但 RAG 存在一些常见误区: 随意输入任何文档不一定能得到准确回答,RAG 流程中的多个环节都会影响最终质量。 RAG 虽能减少幻觉,但不能完全消除,只要有大模型参与就可能产生幻觉。 RAG 仍消耗大模型的 Token,最终需大模型处理检索结果生成通顺回答。 未来,将研究分享更多基于深度学习的文档解析方法,以更全面理解 RAG 质量和文档解析质量的关系。同时,前沿模型研发团队力争做到吞吐量、速度和准确度的最佳平衡。
2025-03-03
什么是RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. LLM 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. LLM 的知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. LLM 的输出难以解释和验证,存在黑盒不可控和幻觉干扰等问题。 4. LLM 容易泄露隐私训练数据。 5. LLM 的规模大,训练和运行成本高。 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且不影响原有知识。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档。 2. 文本分割:把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-03-02
基础搭建的知识库效果很差,模型答案的幻觉很严重,我应该怎么改进?(Deepseek调用api接入本地faiss的rag库)
以下是一些改进基础搭建的知识库效果、减轻模型答案幻觉问题的建议: 1. 更换大模型:例如从 ChatGLM26B 替换成 baichuan213b,针对您的场景,后者的性能可能提升一倍左右。 2. 更换 embedding 模型:将 embedding 模型从 LangChain Chatchat 默认的 m3ebase 替换为 bgelargezh,后者可能更优。 3. 测试不同 Top k 的值:比较 Top 5、Top 10、Top 15 的结果,发现 Top 10 时效果可能最优。 4. 对文档名称进行处理:人工对文件进行重命名,上传相同文件构建知识库,同时在构建知识库时勾选【开启中文标题加强】选项,虽然重命名文件对结果的提升效果不明显,但勾选该选项后,回答的无关信息可能减少,效果有所提升。 RAG(RetrievalAugmented Generation)即检索增强生成,由检索器和生成器两部分组成。检索器从外部知识中快速找到与问题相关的信息,生成器利用这些信息制作精确连贯的答案,适合处理需要广泛知识的任务。 在大模型中,向量可想象成空间中的点位,每个词或短语对应一个点。系统通过查看词在虚拟空间中点的位置,寻找直线距离最近的点来检索语义上接近的词语或信息。理解向量后,当收到一个对话时,RAG 的完整工作流程为:检索器从外部知识中检索相关信息,生成器利用这些信息生成答案。 要优化幻觉问题和提高准确性,需要了解从“问题输入”到“得到回复”的过程,针对每个环节逐个调优,以达到最佳效果。
2025-02-27
anythingLLM和RAG Flow哪个部署更容易
RAG Flow 和 LLM 的部署难易程度如下: RAG Flow: 公网 MaaS:通常只需要一个 API key 即可对接,默认提供了通义千问。比较特殊的是 OpenAI 的接口上提供了修改 endpoint,也就是支持中间商。 本地部署:目前仅支持 Xinference 和 Ollama 方式部署。但是实际上只要是 API 接口一致,对接方式一致都可以用该方式对接。此处基础 Url 只需要写到 v1 为止,不需要写 embeddings 的二级接口。添加模型后需要在“系统模型配置”中设置,方能让模型生效。 LLM:关于 LLM 的部署难易程度,上述内容中未给出直接对比信息。但 Dify.AI 作为一个开源的大规模语言模型应用开发平台,具有快速部署等特点,用户可以在 5 分钟内部署定制化的聊天机器人或 AI 助手。 综合来看,仅根据所提供的信息,难以确切判断 RAG Flow 和 LLM 哪个部署更容易,还需结合更多具体的技术细节和实际需求进行评估。
2025-02-27
企业建立私有大模型时候,采用什么工具进行RAG,高效实习企业知识文档、表格和pdf图纸的向量化
企业建立私有大模型进行 RAG 并实现企业知识文档、表格和 PDF 图纸向量化时,可参考以下工具和方法: 1. 本地部署资讯问答机器人: 导入依赖库,如 feedparse 用于解析 RSS 订阅源,ollama 用于在 Python 程序中跑大模型(使用前需确保 ollama 服务已开启并下载好模型)。 从订阅源获取内容,通过专门的文本拆分器将长文本拆分成较小的块,并附带相关元数据,最终合并成列表返回。 为文档内容生成向量,可使用文本向量模型 bgem3,从 hf 下载好模型后,假设放置在某个路径 /path/to/bgem3,通过函数利用 FAISS 创建高效的向量存储。 2. 开发:LangChain 应用开发指南 大模型的知识外挂 RAG 加载数据,根据数据源类型选择合适的数据加载器,如网页可使用 WebBaseLoader。 将文档对象分割成较小的对象,根据文本特点选择合适的文本分割器,如博客文章可用 RecursiveCharacterTextSplitter。 将文档对象转换为嵌入并存储到向量存储器中,根据嵌入质量和速度选择合适的文本嵌入器和向量存储器,如 OpenAI 的嵌入模型和 Chroma 的向量存储器。 创建检索器,使用向量存储器检索器,传递向量存储器对象和文本嵌入器对象作为参数创建检索器对象。 创建聊天模型,根据性能和成本选择合适的聊天模型,如 OpenAI 的 GPT3 模型。 以下是使用 LangChain 构建 RAG 应用的示例代码。
2025-02-27
智能RAG客服系统搭建
搭建智能 RAG 客服系统主要包括以下方面: 1. RAG 全貌概览: RAG 的流程分为离线数据处理和在线检索两个过程。 离线数据处理的目的是构建知识库,知识会按照某种格式及排列方式存储在其中等待使用。 在线检索是利用知识库和大模型进行查询的过程。 2. 应用场景: 以构建智能问答客服为例,了解 RAG 所有流程中的“What”与“Why”。 3. 客服系统的要求: 具备结构清晰、全面的 FAQ 库,覆盖常见问题并根据实际场景动态更新。 例如订票平台,可基于用户信息提前呈现可能遇到的问题及解答。 4. 企业客户实践案例: 内部业务助手:通过企业内部规章制度、部门结构、产品介绍等文档构建知识库,并借助 RAG 智能体实现内部知识问答功能。 5. RAG 提示工程: 在利用 RAG 架构构建智能问答系统时,“指代消解”是关键挑战之一,特别是在多轮对话场景中。 目前采用 Prompt 方法解决指代消解问题,会增加计算资源消耗和系统响应延迟,需权衡推理负荷、Token 消耗和问答准确性等因素,根据具体应用环境和需求做出合理选择。
2025-02-26
精准率和召回率有什么区别
精准率和召回率是常见的评估指标,主要区别如下: 精准率(Precision):指返回的检索内容中有用信息的占比。也就是说,在所有被检索出来的内容中,真正有用的信息所占的比例。其计算公式为:精准率 = 真正例 / (真正例 + 假正例)。 召回率(Recall):指相关信息被正确预测出来的比例,即真正例在所有实际相关信息中的占比。其计算公式为:召回率 = 真正例 / (真正例 + 假反例)。 例如,在一个文档检索的场景中,精准率体现的是检索出的文档中有多少是真正有用的;召回率则体现的是相关的文档有多少被包含在返回的检索结果里。 总的来说,精准率关注的是检索结果的准确性,而召回率关注的是检索结果的完整性。
2025-01-23
我是一个普通本科的大二学生,学的是软件工程专业,但是我本身编程能力不是很好,我对ai拥有浓厚的兴趣,喜欢去学习并运用ai,我想未来all in ai并成为一个产品经理,我想给你分享一下我的计划,我想今年下半年考过英语四级,并且参加苹果26年的swift 学生挑战赛,我是零基础但是我愿意学习,希望你帮我制定一个包含实施策略、里程碑和最佳实践的详细框架,以帮助我有效地实现这些目标!
以下是为您制定的包含实施策略、里程碑和最佳实践的详细框架,以帮助您有效地实现目标: 一、英语四级考试 实施策略: 1. 制定学习计划,每天安排一定时间学习英语,包括词汇、语法、听力、阅读和写作。 2. 多做历年真题,熟悉考试题型和难度。 3. 参加英语学习社群或找学习伙伴,互相监督和鼓励。 里程碑: 1. 每月进行一次模拟考试,评估学习进度。 2. 两个月内完成词汇和语法的系统学习。 最佳实践: 1. 利用碎片时间背单词,如在公交车上、课间等。 2. 听力练习时,反复听同一篇材料,直到完全听懂。 3. 写作练习后请老师或同学帮忙批改,总结错误和不足。 二、参加苹果 26 年的 Swift 学生挑战赛 实施策略: 1. 从零基础开始学习 Swift 编程语言,通过在线课程、书籍等资源进行系统学习。 2. 参与相关的编程实践项目,提升实际操作能力。 3. 关注苹果官方网站和社区,了解挑战赛的最新动态和要求。 里程碑: 1. 三个月内掌握 Swift 编程语言的基础知识。 2. 半年内完成一个小型的 Swift 项目开发。 最佳实践: 1. 遇到问题及时在技术论坛或社区寻求帮助。 2. 定期回顾和总结所学知识,加深理解和记忆。 3. 参考优秀的 Swift 项目案例,学习他人的编程思路和技巧。 三、成为 AI 产品经理 实施策略: 1. 学习 AI 相关的基础知识,包括机器学习、深度学习等。 2. 了解产品经理的职责和工作流程,通过实践项目积累经验。 3. 关注行业动态,参加相关的研讨会和培训课程。 里程碑: 1. 一年内掌握 AI 基础知识和产品经理的基本技能。 2. 参与实际的 AI 项目开发,担任产品经理助理角色。 最佳实践: 1. 多与行业内的专业人士交流,获取经验和建议。 2. 不断提升自己的沟通和协调能力,以更好地推动项目进展。 3. 学会从用户需求出发,设计具有创新性和实用性的 AI 产品。 希望以上框架对您有所帮助,祝您顺利实现目标!
2025-03-01
如果你是一个AI学习者,你会提出哪些问题?让自己的学习更有策略?
以下是作为 AI 学习者可能会提出的一些问题,以使学习更有策略: 1. 如何评估不同 AI 模型的性能和适用场景? 2. 怎样选择适合自己需求的 AI 工具和技术? 3. 在 AI 领域,哪些基础知识是必须牢固掌握的? 4. 如何将 AI 应用于实际项目中,以获得更好的效果? 5. 对于 AI 产生的结果,如何进行有效的评估和验证? 6. 怎样跟上 AI 领域快速发展的步伐,及时更新知识? 7. 在学习 AI 时,如何避免常见的错误和陷阱? 8. 如何培养自己在 AI 方面的创新思维和解决问题的能力? 9. 对于不同学习水平(如高中生、大学生、专业人士),学习 AI 的重点和方法有何不同? 10. 在 AI 学习中,如何平衡理论学习和实践操作?
2025-02-17
人工智能伦理策略
以下是关于人工智能伦理策略的相关内容: 英国国防部:2022 年 6 月发布了自身的 AI 伦理原则和政策,确定了英国政府在人工智能赋能军事能力方面的方法。将通过特定情境的方法确保该政策应用的适当一致性和协调性,从而促进英国在国防领域使用人工智能方面的领导地位。在引入任何法定责任之前,会考虑是否需要豁免以允许现有监管机构(如在国家安全等领域工作的机构)继续其领域级别的方法。 欧盟:欧洲议会和欧盟理事会规定了人工智能的统一规则,并修正了一系列条例。人工智能是一个快速发展的技术族,能带来广泛的经济、环境和社会效益,如改进预测、优化运营等,但也可能根据具体应用、使用情况和技术发展水平产生风险,对受欧盟法律保护的公共利益和基本权利造成损害。鉴于其可能的重大影响和建立信任的必要性,人工智能及其监管框架的发展必须符合欧盟价值观、基本权利和自由,应以人为本,最终目的是提高人类福祉。为确保在健康、安全和基本权利方面对公众利益提供一致和高水平的保护,应为所有高风险人工智能系统制定统一规则,这些规则应与《宪章》一致,非歧视性,并符合欧盟国际贸易承诺,还应考虑相关宣言、原则和准则。 AI 应用专家的实战经验: 企业管理者:在小规模决策中使用 AI 分析工具作为决策参考,制定 AI 工具使用的培训计划,识别可能受益于 AI 自动化的重复性任务并测试解决方案效果,制定公司的 AI 使用政策确保符合伦理标准和法律要求。 教育工作者:尝试使用 AI 辅助教案设计、为学生制定个性化学习计划、将 AI 工具整合到课堂活动中、开发教导学生了解 AI 的课程模块。 无论属于哪个群体,与 AI 协作是学习过程,应从小处着手,保持好奇心和开放态度,保持批判性思维,将 AI 视为工具而非完全依赖的解决方案。
2025-01-11
想利用AI穿搭,针对微胖女生设计各种穿搭,提供购买链接,实现兼职盈利。有没有针对上述问题的细致策略和操作步骤。可操作性强,易学。
目前没有关于利用 AI 穿搭针对微胖女生设计并提供购买链接以实现兼职盈利的详细策略和操作步骤的相关内容。但一般来说,您可以按照以下思路进行尝试: 首先,您需要确定目标受众,即微胖女生的具体身材特点和穿搭需求。可以通过市场调研、社交媒体互动等方式收集相关信息。 其次,选择适合的 AI 穿搭工具或软件。了解其功能和特点,学习如何有效地输入相关参数,如身高、体重、体型、个人风格偏好等,以获取准确的穿搭建议。 然后,根据生成的穿搭建议,寻找可靠的购买渠道和商品。这可能需要您与一些电商平台建立合作关系,获取商品的推广链接。 在推广方面,可以利用社交媒体平台、时尚论坛等渠道展示您的穿搭设计和购买链接。通过优质的内容吸引潜在客户,并建立良好的口碑。 同时,不断优化您的服务,根据用户的反馈和市场的变化调整穿搭方案和推广策略。 需要注意的是,实现兼职盈利需要一定的时间和努力,并且要确保所推荐的商品质量可靠,穿搭建议具有实用性和时尚感。
2024-09-13
如何成为一个AIGC算法策略产品
成为一名优秀的AIGC算法策略产品经理,需要具备以下关键能力和经验: 1. 扎实的技术基础: 深入理解人工智能 的原理和技术,熟悉各种AIGC算法和模型,能够评估和选择合适的AIGC技术方案。 2. 产品思维和战略能力: 能够将AIGC技术与产品需求相结合,制定有效的AIGC产品策略和发展规划,并带领团队实现产品目标。 3. 市场洞察力和用户分析能力: 能够深入了解市场趋势和用户需求,识别AIGC技术的市场机会和应用场景,为产品开发提供方向指引。 4. 数据分析和商业分析能力: 能够收集和分析AIGC产品相关数据,评估产品性能和市场表现,并基于数据洞察做出产品优化决策。 5. 沟通能力和团队合作能力: 能够有效地与工程师、设计师、市场人员等团队成员沟通协作,推动产品开发和落地。 6. 领导力和影响力: 能够带领团队克服挑战,实现产品目标,并在公司内部和外部树立良好的影响力。 为了成为一名优秀的AIGC算法策略产品经理,您可以采取以下步骤: 1. 夯实技术基础: 通过学习计算机科学、人工智能、机器学习等相关课程,掌握AIGC技术所需的理论知识和实践技能。 2. 积累产品经验: 参与AIGC相关产品的开发或运营工作,积累产品设计、开发、运营等方面的实战经验。 3. 提升市场洞察力: 关注AIGC技术发展趋势和市场动态,分析用户需求和市场机会,不断提升市场洞察力和用户分析能力。 4. 强化数据分析能力: 学习数据分析工具和方法,掌握数据收集、分析和可视化等技能,能够从数据中提取洞察并指导产品决策。 5. 提升沟通能力和团队合作能力: 积极参与团队合作项目,练习沟通技巧,提升团队合作能力和领导力。 6. 拓展人脉和行业影响力: 积极参加行业会议和交流活动,结识业内人士,拓展人脉,提升行业影响力。 成为一名优秀的AIGC算法策略产品经理需要不断学习和积累,这是一个充满挑战和机遇的职业道路。相信您通过努力和坚持,一定能够实现目标。
2024-05-08