RAG2.0引擎设计挑战和实现 张颖峰/InfiniFlow创始人 DataFunSummit#2024 RAG1.0的痛点和解决方向 如何有效Chunking如何准确召回 高级RAG和预处理RAG未来如何发展 01 RAG1.0的痛点和解决方向 RAG架构模式 ExtractionIndexingRetrievalGeneration Chunking Embeddings Question Recommender Chunks Embeddings Embeddingmodel VectorDB Embeddingmodel Answer prompts [[]] Search Relevantchunks ConversationalAI RAG面临的挑战 挑战一:向量的召回无法满足要求 挑战二:文档结构复杂,数据太乱,GarbageIn,GarbageOut 挑战三:问题和答案所在文档关联不大,很难通过问题找到正确文档 下一代RAG架构 GarbageIn,GarbageOut 问题和答案之间存在语义鸿沟 切块数据抽取模型 文档布局模型 表格布局模型切块 知识图谱构建 切块 Embedding模型 问题Embedding模型 查询改写模型 关键词向量 稀疏向量 切块 全文索引向量索引 稀疏向量索引图索引 TensorReranker offlineonline LLM 答案和引用生成 向量召回无法满足要求 Infinity+RAGFlow=Infiniflow Queryrewritingmodel Rerankingmodel RerevalAugmenaionttit Document structurerecognitionmodel Tablestructure recognitionmodel … Documentparsngi Document Clustering Knowledgegraph constructionmodel Documentsemantic pre-processing ExtractionIndexingRetrievalGeneration Tensor GraphembeddingGraphqueryStructureddataquery Infinity RAGFlow DenseVector FullTextSparseVector Fused Ranking 02 如何有效Chunking 文档结构识别模型 页眉页脚 段落 图片 表格 扫描? 图片截取 Y 表格结构 识别模型 OCR 文字换行检测 流程图、饼 图、柱状图 Chunking结果 Chunking结果 多模态模型 标题补全 Chunking 概要 Documents N 调整抽取模型的RAGFlow对比 0.97 完全准确率 0.85部分准确率 0.8 0.65 0.65 0.5 0.35 0.15 Accuracy1.0 0.5 0.0 RAGFlowPro RAGFlow CommercialRAGproduct OpensourcenaiveRAG 单元格边界判定 表头信息判定 单元格合并判定 表格跨页判定 Image CNNEncoder CodeBook CNNDecoder VAE Encoder TransformerEncoder Decoder TransformerDecoder <Table> <tr> <td></td> </tr> </Table> 文档“大”模型 表格 流程图 饼图 Transformer Encoder Transformer Decoder HTML 柱状图 VisionEncoder TextDecoder … 03 如何准确召回 IndexingDatabase DenseVector SparseVecortTensor 融合 排序 FullTextSearch 多路召回 结构化数据查询 ColumnarStore Numeric/String DenseVector SparseVector Tensor Text SecondaryIndex VectorIndex SparseVectorIndex TensorIndex FulltextIndex Benchmark Efficiency RAG数据库选型对比 Infinity VectorDatabases 全文搜索+向量 Weaviate TraditionalDatabases LanceDB Elasticsearch Effect 几路召回? MLDRlong-documentretrievalbenchmark(English) 74.54 63.33 66.72 67.51 61.64 59.86 63.52 49.05 80 nDCG@10 60 40 BM25 DenseSparse Dense +Sparse BM25 +Dense BM25 +Sparse BM25 +Dense BM25+Dense +Sparse EmbeddingModel:BGE-M3 +RRF +RRF +RRF +Sparse +RRF +ColBERT Reranker Transformer Query Transformer DocumentPassage Transformer Query DocumentPassage Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding Embedding OfflineIndexing 排序模型 Similarity Pooling Pooling ∑ Score MaxSim MaxSim MaxSim Transformer Transformer Query DocumentPassage Embedding Embedding DualEncoderCrossEncoderLateInteractionEncoder Score MLP QuestionQuestion Top10results Topresults VectorDB VS Question DenseVector FullTextSearch Top1000 results TensorReranker SparseVector Topresults 2 MLDRlong-documentretrievalbenchmark(English) 73.35 74.54 72.82 73.35 73.45 66.72 63.33 65.63 61.64 59.86 63.52 49.05 nDCG@10 80 60 40 BM25 BM25 Dense Dense Sparse Sparse Dense Dense BM25 BM25 BM25 BM25 +ColBERT +ColBERT +ColBERT+Sparse +Sparse +Dense +Dense +Dense +Dense EmbeddingModel:BGE-M3 +RRF +ColBERT +RRF +ColBERT+Sparse +RRF +Sparse +ColBERT ColBERTranker还是reranker? 72.23 73.35 74.11 MLDRlong-documentretrievalbenchmark(English) 80 nDCG@10 60 40 ColBERT EMVBIndex BM25 +ColBERT Reranker ColBERT Bruteforce EmbeddingModel:BGE-M3 78 73.8 MIRACL 80 JaColBERT 60 40 Bge-m3JaColBERT Jina-ColBERTv2 answerai-colbert-small-v1基于JaColBERT33M参数 超过BGE110M 每个Token96维 Binary量化后每个Token12byte 04 高级RAG和预处理 复杂问答之文档预处理——RAPTOR 原始文档ChunksChunksandsummariesacrosschunks Query FlattenAndIndexing 复杂问答之AgenticRAG Yes Answer question? No Answer Retrieval Grade Yes Relevant? Generation Router1 No QueryRewrite Query QueryIntent Router2 WebSearch Router3 AskLLM 复杂问答之知识图谱 Entity Entity Summary Entity Entity Summary … … … … DataEntitiesGraphConstructionandAugmentationCommunity Passage Entity Passage Entity Query Embedding 用QA来改进GNN PageRank(Node2vec) GNN 05 RAG未来如何发展 多模态RAG—“雕花”还是? ObjectDetection Text VisionEncoder TextDecoder Text VisionEncoder PatchEmbedding 多模态RAG与延迟交互模型 80 60 40 提问:2019年一天当中平均哪个小时电力消耗最高? AVG BiPaliColPali ColPali 记忆增强的Agent 领域应用 医疗/金融/法律:记忆案例、知识、市场信息、成功经验,辅助决策能力 角色扮演和社交模拟记忆个性化行为 个人助理 记忆保存多次交互中的事实信息,以及用户的个人风格,方便提供个性化行为 游戏 记忆获得的技能,行为轨迹等 推荐系统 记忆保存用户行为,历史对话,提供个性化上下文 THANKS DataFunSummit#2024 https://github.com/infiniflow/ragflowhttps://github.com/infiniflow/infinity