近期做大模型 RAG 相关的研究,尝试了语义切片、RaptorRAG 、微软的 GraphRAG ,效果都不是特别好,一方面文档的索引速度特别慢,Raptor 索引一篇 20w 字的文档要差不多两个小时,GraphRAG 对 token 消耗量惊人。另一方面,花大力气索引出来的知识库,只有特定场景比较好用,比如 GraphRAG 对实体关系类的问题回答较好,但是涉及多步推理或者一些法律条文类的文档基本答非所问。因此比较好奇大家做 RAG 时都是使用的什么策略去索引文档和检索索引后的知识。

1 cexll Jul 26, 2024 现目前无解,花大价钱用 llm 推理所有 rag 的内容 微调进大模型 ,不过效果也没有那么好,毕竟 llm 的能力摆在那里 |
2 mercurylanded Jul 26, 2024 大部分 rag 优化的知识检索这块,prompt 还是需要你自己按照场景去调试吧 |
3 Garphy Jul 26, 2024 我猜主要还是大模型提纯不够,以及外挂向量与大模型内部 token 向量并没有融合的很好 |
4 NoobNoob030 Jul 26, 2024 索引策略:传统 milvus 向量索引取 n 条,用 es 关键字索引取 n 条,然后具体 n 数量和 chuck size 以及权重看场景,最后拼起来做 prompt prompt 的姿势就比较多,思路大致就是:效果不好 -> (拆 prompt 步骤 / 加校验步骤 / 换 prompt 方式) 三选一 -> 测试效果。重复这个循环能满足大部分需求 类似劳动法顾问助手这种需求。与其在市面上找成熟产品方案不如自己写写 python ,写起来很快而且可以灵活应对需求变动 |
5 lookStupiToForce Jul 26, 2024 |