以下是关于数据问答最佳实践的相关内容:
Databricks: Databricks 作为大数据领域的领先服务商,在 RAG 设计上有自身特点和优势。用户输入问题后,从处理好的文本向量索引获取相关信息,结合提示词工程生成回答。上半部分 Unstructured Data pipeline 采用主流 RAG 方法,下半部分 Structured Data Pipeline 是其特征工程处理流程,也是最大特点。Databricks 从专业大数据角度出发,在准确度较高的数据存储中进行额外检索,发挥在 Real Time Data Serving 上的优势。可见其在 GenAI 时代将强大的 Lakehouse 数据处理能力与生成式 AI 技术深度融合,构建一体化解决方案。
OpenAI: 从 OpenAI Demo day 的演讲整理所得,在提升 RAG 准确率的成功案例中,OpenAI 团队从 45%的准确率开始,尝试多种方法。包括假设性文档嵌入(HyDE)和精调嵌入等,但效果不理想。通过尝试不同大小块的信息和嵌入不同内容部分,准确率提升到 65%。通过 Reranking 和对不同类别问题特别处理,进一步提升到 85%。最终,结合提示工程、查询扩展等方法,达到 98%的准确率。团队强调模型精调和 RAG 结合使用的强大潜力,仅通过简单的模型精调和提示工程就接近行业领先水平。
Loop: 具有环状结构的 RAG Flow 是 Modular RAG 的重要特点,检索和推理步骤相互影响,通常包括一个 Judge 模块控制流程,具体可分为迭代、递归和主动检索三种。
Databricks作为大数据领域中领先的服务商,在RAG设计上依然保持了自己特点和优势(查看原文)。用户输入问题,通过从事先处理好的文本向量索引里面获取问题相关信息,加上提示词工程,生成回答。上半部分Unstructured Data pipeline就输主流的RAG方法,并没有特殊之处。下半部分为Structured Data Pipeline,是Databricks特征工程处理流程,也是Databricks RAG最大的特点。Databricks从自身专业的大数据角度出发,从原来的准确度较高的数据存储中进行额外的检索,充分发挥自身在Real Time Data Serving上的优势。可以看到Databricks在GenAI时代的策略是助具有广泛市场需求的RAG应用,将自身强大的Lakehouse数据处理能与生成式AI技术深度融合,构建出一体化解决方案。
上面的章节提到了了很多论文,论文的特点决定了他们的方法更多的是从细节出发,解决具体的细节问题。而RAG是更是一个在工业领域大放异彩的技术,下面我们将从RAG Flow的角度介绍几个行业最佳的RAG实践,看看在真实应用场景下应该如何构建RAG Flow。[heading3]1、OpenAI[content]从OpenAI Demo day的演讲整理所得,并不能完全代表OpenAI的实际操作。在提升RAG的成功案例中,OpenAI团队从45%的准确率开始,尝试了多种方法并标记哪些方法最终被采用到生产中。他们尝试了假设性文档嵌入(HyDE)和精调嵌入等方法,但效果并不理想。通过尝试不同大小块的信息和嵌入不同的内容部分,他们将准确率提升到65%。通过Reranking和对不同类别问题特别处理的方法,他们进一步提升到85%的准确率。最终,通过提示工程、查询扩展和其他方法的结合,他们达到了98%的准确率。团队强调了模型精调和RAG结合使用时的强大潜力,尤其是在没有使用复杂技术的情况下,仅通过简单的模型精调和提示工程就接近了行业领先水平。
具有环状结构的RAG Flow,这也是的Modular RAG的一个重要特点,检索和推理步骤相互影响的。通常包括一个Judge模块,用于控制流程。具体又可以分成迭代、递归和主动检索三种。[heading4]Iterative Retrieval[content]有时候单次检索和生成的并不能很好的解决一些需要大量知识的复杂的问题。因此可以使用迭代的方式进行RAG,通常来说迭代检索都有一个固定的迭代次数。迭代检索一个典型的案例是是ITER-RETGEN。在每次迭代中,ITER-RETGEN利用前一次迭代的模型输出作为特定上下文,帮助检索更相关的知识,这可能有助于改进模型生成。循序的终止通过预设的迭代次数来判断。[heading4]Recursive Retrieval[content]不同于迭代检索,递归检索的特点是有明显依赖上一步并不断深入的检索。通常有判断机制作为递归检索的出口。在RAG系统中,递归检索的通常要搭配Query Transformation,每次检索时依赖于新改写后的Query。。一个典型的递归检索实现例如ToC。从初始问题(Ambiguous Question,AQ),通过递归执行RAC(递归澄清方法,Retrieval-Augmented Clarification)逐步插入子节点到澄清树中,在每个扩展步骤中,根据当前查询重新对段落进行重新排名并生成一个(Disambiguous Question,DQ)。树的探索在达到了最大数量的有效节点或最大深度时结束。构建了澄清树后,TOC收集所有有效节点并生成一个全面的长文本答案来回答AQ。