“评估检索增强生成(RAG)的三步方法”
“靓丽时尚:评估检索增强生成(RAG)的三步方法”
停止随机选择RAG参数
调整你的RAG以获得最佳性能需要时间,因为这取决于各种相互依赖的参数:分块大小、重叠、检索文件的前K个、嵌入模型、LLM等。
最佳组合通常取决于你的数据和使用场景:你不能简单地插入上一个项目使用的设置,并希望获得相同的结果。
大多数人没有正确解决这个问题,几乎是随机选择参数。尽管有些人对这种方法感到舒适,但我决定用数值方法解决这个问题。
这就是评估你的RAG的作用。
在本文中,我将向你展示一个快速的3步方法,让你能够高效且迅速地评估你在两个任务中的RAGs。
- 检索
- 生成
通过掌握这个评估流程,你可以迭代、进行多个实验、用指标进行比较,希望能找到最佳配置。
让我们看看这是如何工作的👇。
PS:在每个部分中,提供了代码片段来帮助你开始实施这些想法。
1 — 创建一个合成数据集
评估LLM通常需要手动注释一个测试集。这需要时间,需要专业领域知识,并且容易出现人为错误。
希望LLM可以帮助我们完成这个任务。
从你的数据中取样N个块。对于每个块,要求LLM生成K个问题和答案的元组。生成完成后,你将获得一个包含N*K个元组的数据集,每个元组都有(问题、答案、上下文)。
Ps:这里上下文是原始块及其元数据
在下面的例子中,我们将考虑一个段落,涉及到伊萨克·牛顿爵士。
伊萨克·牛顿以其有关万有引力定律的理论而闻名,但他的《数学原理》(1686年)以其三个运动定律极大地影响了欧洲的启蒙运动。他于1643年出生在英国伍尔斯索普。