V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
larisboy
V2EX  ›  问与答

RAG 召回率低?可能是知识库分段没做好!求问大佬们的经验​

  •  
  •   larisboy · 132 天前 · 492 次点击
    这是一个创建于 132 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位做 RAG 的小伙伴们,最近在搞知识库的时候遇到个问题,想请教一下大家:

    向量库召回率不太行,初步排查可能是知识库的分段方式有问题。比如,一段太长或者分段不合理,导致模型检索不到关键信息。

    ​想问大家几个问题​:

    ​1 、知识库文档一般用什么格式?​​ 比如纯文本、Markdown ,还是结构化 JSON ?哪种更适合 RAG ?
    ​2 、怎么分段比较合理?​​ 是按段落分,还是按章节分?有没有什么技巧能保证上下文连贯性?
    ​3 、如果文档里有代码、图表或者多模态内容,怎么处理?​​ 直接丢进去,还是得额外处理?目前我尝试​在 dify 中通过最大 4000tokens 进行分段,但效果不好,可能是因为上下文断了( pdf 、Markdown 无法很好的分段,因为上下文是有关联的)。


    有没有现成的分段策略可以参考?或者有没有工具/库能自动优化分段?欢迎分享!感谢大佬们~ 🙏
    1 条回复    2025-08-21 15:30:07 +08:00
    dandankele
        1
    dandankele  
       13 天前
    1. 知识库的源文档可以是任何形式的文件,如 docx 、ppt 、pdf 等等,那么此时需要做第一步,将这些多种形式的、非结构化的数据转化为结构化的数据结构,如都统一转化为 markdown

    2. 分段问题是整个工程里比较重要的且棘手的一项问题。要考虑分段大小是否匹配模型窗口、分段后上下文如何不丢失、语义不丢失等。。应该没有固定的一种手段。。要保证上下文的话,可以分段是保留一些重叠,或者构建知识图谱(这个又引入了复杂性)。。分段策略可以网上搜一下,一大堆资料,一些 rag 框架里也会自带的

    3. 多模态的还没尝试过,也在研究。可以将图片也转化为文本描述,那么入库的都是文本了,后续检索也只需要根据文本检索,但这严重依赖文本的准确性,可能导致检索精度丢失。。另一种就是用多模态模型了,让图片向量与文本向量存储在同一空间里,直接做图文检索。。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4843 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:43 · PVG 17:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.