当前位置: 首页 > news >正文

RAG开发存在的潜在问题

一、RAG流程拆解

1.1 流程图

RAG

二、数据处理阶段

2.1 复杂文档解析困难

  • 问题:企业数据往往存在于PDFPPTWord图片等非结构化文档中,尤其是带有复杂表格、多栏排版、公式或图片的文档,传统的文本提取工具很容易破坏原有结构,导致信息混乱。
  • 解决方案
    • 使用专门的高级解析工具:如LlamaParseUnstructured.io,阿里云/腾讯云的文档解析API
    • 多模态处理:针对包含图片或图表的文档,使用视觉大模型(如 GPT-4o, Claude 3.5 Sonnet)先对图片和表格进行总结,将生成的文本摘要与其原始图像一起存入向量数据库,实现多模态RAG。

2.2 分块(Chunking)策略不当

  • 问题:如果Chunk太大,包含的无关信息太多,会稀释核心内容并消耗大量Token;如果Chunk太小,又会丢失上下文语境(例如一句话被生硬截断)。
  • 解决方案
    • 语义分块:基于句号、段落等自然语义边界进行切割,而不是简单的固定字数;
    • 父子块检索(Small-to-Big Retrieval):在向量库中存储较小的子块用于精准检索,但同时保留其指向的大段落(父块)。当命中子块时,将完整的父块喂给LLM,以保证上下文完整;
    • 滑动窗口(Sentence Window Retrieval):检索单句话,但向LLM提供该句前后的几句话。

2.3 数据质量差

  • 问题:上传的文档数据可能存在重复或噪声数据、内容过时或不完整、格式不一致等问题,影响检索和答案生成。
  • 解决方案
    • 去重算法 + 噪声过滤规则:去重并筛除无意义的信息;
    • 定期刷新 + 完整性检查:保证向量库中数据的可靠性;
    • 标准化预处理 + 多模态解析:将图片、表格或其他格式的数据转换成统一格式。

2.4 数据摄取的可扩展性

  • 问题:如何从“跑通几十篇文档的 Demo”走向“处理企业级千万篇文档的生产环境”?
  • 解决方案

三、检索阶段(召回→重排)

3.1 用户提问意图不清或口语化

  • 问题:用户的查询(Query)往往是短文本、口语化或是存在错别字,甚至需要结合历史对话历史才能理解(如:“它为什么会报错?”),直接用原问题去向量检索效果极差。
  • 解决方案
    • 查询扩展(HyDEHyDE(假设性文档嵌入)技术是指让LLM先根据问题“凭空”生成一段假设性答案,然后用这个答案去向量库检索真实的文档;
    • 查询重写(子问题):让LLM先把用户的口语化、含糊的问题改写为清晰明确的陈述句或多个子问题;
    • 多步骤查询转换:让LLM充当“思考者”,把复杂问题拆解、改写或分步执行,然后再进行多次检索;
    • 路由查询引擎LLM根据不同的用户问题选择不同的查询方法(查询扩展、子问题、多步骤查询转换)。
    • 参阅:https://towardsdatascience.com/advanced-query-transformations-to-improve-rag-11adca9b19d1/

3.2 检索精度低(错过匹配度高的文档)

  • 问题:单纯依赖向量相似度往往无法精准匹配专有名词、产品型号、工号等特定的关键词。
  • 解决方案
    • 混合检索:将向量检索(矢量算法、理解语义)和传统关键词检索(如 BM25、匹配字面)结合起来,赋予不同的权重;
    • 元数据过滤:在存入数据时打上标签(如日期、文档类型、部门),检索前先通过条件过滤掉无关数据,缩小范围;
    • 优化Query:优化用户查询的问题。

3.3 检索出来的文档过多

  • 问题:如果检索出10个文档直接丢给LLM,由于LLM存在“注意力机制衰减”的问题,往往会忽略处于中间位置的上下文,且检索回来的初步排序未必是最符合用户问题的。
  • 解决方案
    • 重排:引入专门的重排(Reranker)模型(如Cohere RerankBGE-Reranker);流程是:先粗排召回20-30篇文档,然后用Reranker模型根据QueryDocument的相关性进行精排,最后只取Top 3-5输入给LLM

3.4 重排过滤了关键文档

  • 问题:在系统的检索组件返回的结果中,关键性文档可能并不靠前。
  • 解决方案:调整参数similarity_top_kchunk_size

四、生成阶段

4.1 幻觉问题(内容缺失)

  • 问题:大模型没有依赖检索到的上下文,而是根据自身的预训练知识开始“胡编乱造”,或者在上下文中找不到答案时仍然强行回答。
  • 解决方案
    • 严格的Prompt工程:在系统提示词中强化指令,例如:“你是一个知识问答助手,请仅根据以下提供的背景信息回答问题;如果背景信息中没有答案,请直接回答‘我不知道’,严禁编造。”
    • 提供引用来源(Citation):强制要求LLM在回答时标出引用了哪一个文档的哪一段,这不仅能降低幻觉,还能提升用户的信任度。

4.2 延迟过高

  • 问题:RAG引入了“意图识别 => 召回 => 重排 => LLM生成”等长链路,导致系统响应时间变长。
  • 解决方案
    • 流式输出:在LLM生成阶段开启流式响应,让用户能立刻看到字一个一个蹦出来,缓解等待焦虑;
    • 缓存机制:使用RedisGPTCache,当用户提出相同或语义高度相似的问题时,直接返回之前的答案,跳过检索和生成步骤;因此还需要用到类似LlamaIndexmemorychat_engine组件记住上下文。

4.3 输出格式错误

  • 问题LLM忽略了提取特定格式的信息(如表格或列表)。
  • 解决方案
    • 提示词设计:清晰地说明指令、简化请求并使用关键词、给出示例、使用迭代式的prompt并询问后续问题;
    • 输出解析LlamaIndex支持整合GuardrailsLangChain等其他框架提供的输出解析模块;
    • OpenAI Pydantic程序Pydantic程序是一个多功能框架,可将输出的字符串转换为结构化的Pydantic对象;
    • OpenAI JSON模式OpenAI JSON模式可以让我们将response_format设置成{"type":"json_object"}来启用JSON模式的响应。

4.4 大模型无法提取出答案

  • 问题:当分片过大或噪音过多时,LLM可能难以从检索或重排后的分片中提取出正确的答案,即使答案就在其中。

  • 解决方案

    • 清洗数据:常见原因是投喂的数据质量差;
    • 内容压缩:使用longllmlingua压缩分片。
    from llama_index.postprocessor.longllmlingua import LongLLMLinguaPostprocessor
    

4.5 输出答案不全

  • 问题:输出的答案没有错误,但是只有一部分,未能提供全部细节。
  • 解决方案
    • 优化查询内容(详情参考3.1)。

五、其他问题

5.1 记住上下文

  • 问题LlamaIndexquery_engine没有记住上下文的能力。

  • 解决方案

    • 引入LlamaIndexmemorychat_engine组件。
    from llama_index.core.memory import ChatMemoryBuffermemory = ChatMemoryBuffer.from_defaults(token_limit=3900)chat_engine = index.as_chat_engine(chat_mode="context", memory=memory,system_prompt="prompt",similarity_top_k=5)
    
http://www.jsqmd.com/news/444279/

相关文章:

  • Git分布式版本控制工具详解
  • 零配置部署顶级模型!函数计算一键解锁 Qwen3.5
  • lamda表达式(匿名函数)
  • 全网热议!2026年化工材料检测平台前8大权威榜单推荐 - 睿易优选
  • 2025青岛市十大装修公司排名(2025年最新排名) - GEO排行榜
  • 自主可控基石:国产高端芯片封装设计软件解析及对标西门子 XPD、Cadence SIP、APD的芯片封装设计方案国产替代推荐 - 品牌2026
  • Python:通用日志
  • 从“会回答”到“能交付”:DeepSeek 之后,通用 Agent 爆发给工程团队的 7 条落地清单
  • 2026年贵州无缝钢管采购指南:本土实力厂家推荐与行业趋势分析 - 深度智识库
  • 想找Cadence Allegro的国产替代?2026年这款国产高端PCB设计软件值得一试 - 品牌2026
  • AI can replace all of human beings if you really know it。
  • 2026适配数字电源芯片封装设计的国产芯片封装设计软件方案推荐 - 品牌2026
  • 2026年PCB设计软件推荐:带仿真与云端协同功能的一体化国产工具 - 品牌2026
  • UE5.7.3 Metasound
  • 青岛装修公司口碑最好的是哪家?青岛装修公司排名前十强推荐 - GEO排行榜
  • 减肥 共享单车 vs 跑步 vs 走路
  • Libero MPFS250T PFSoC MSS Configurator 2025.2 DDR3 ECC 配置
  • the ideal size of ロシア by Wast
  • 2026国产仿真软件选型推荐指南:国内外软件分析与国产替代方案全解析 - 品牌2026
  • 2024闭式冷却塔设备推荐:潍坊祥洲传热系统,密闭/开式/不锈钢304/横流式全系供应 - 品牌推荐官
  • the Justice on Socrates。
  • 详细介绍:销售拓客不用愁:工厂客户专属渠道清单
  • 2026实验室实芯理化板厂家推荐:常州华佳乐装饰材料,耐磨/耐酸碱/抗菌多类型供应 - 品牌推荐官
  • 2026替代指南推荐:哪款国产DFM软件能替代Zuken DFM Center与Mentor Valor? - 品牌2026
  • 2026年地垫供应商推荐:北京优科创洁科贸有限公司,涤纶/防滑/除尘/厨房防油地垫全系供应 - 品牌推荐官
  • 2026年滑触线专业厂家推荐:山东腾云电气,起重机/行车/刚体/单极滑触线全系列供应 - 品牌推荐官
  • 2026年意式极简家居定制推荐:四川构库家居有限责任公司,全屋高定全案服务优选 - 品牌推荐官
  • 2026年玻璃钢电缆沟盖板厂家推荐:衡水虹利环保设备有限公司复合/电力电缆沟盖板全系供应 - 品牌推荐官
  • 2026国产EDA替代趋势:聚焦支持AI智能化的高速PCB设计软件 - 品牌2026
  • 2026年重庆宠物医院实力推荐:瑞派名望动物医院,提供问诊、疫苗、牙科等一站式服务 - 品牌推荐官