微信扫码
与创始人交个朋友
我要投稿
在现代企业知识管理中,随着业务的不断发展和扩展,各种文档和数据呈现爆炸式增长。为了有效且高效地管理这些知识,企业通常会导入大量文档。然而,当涉及到对文档切片质量和回答准确度的判断时,传统的人工方法显得既费时又费力。既然我们已经在使用AI技术,那么能否让AI来接管这部分工作?答案是肯定的,这正是RAG评估的用武之地。
https://github.com/explodinggradients/ragas?tab=readme-ov-file
今天,我们将深入探讨一个名为Kernel Memory中的一个实验性项目,它还未正式发布,但已经在AI社区中引起了广泛关注。Kernel Memory中的Evaluation模块包含两部分:TestSetGenerator和TestSetEvaluator,分别用于生成测试数据集和基于数据集进行质量评估。使用这些工具,我们可以显著降低人工成本,提高文档处理的效率和准确性。
在进行Kernel Memory评估之前,首先需要创建一个测试集,这个测试集包含查询和预期的答案。虽然这是一个手工过程,但对于大数据集来说,可能非常繁琐。为了简化这个过程,我们提供了一个生成器,它可以从给定的Kernel Memory内存和索引中创建测试集。
以下是一个简单的示例代码:
using Microsoft.KernelMemory.Evaluation;
var testSetGenerator = new TestSetGeneratorBuilder(memoryBuilder.Services)
.AddEvaluatorKernel(kernel)
.Build();
var distribution = new Distribution
{
Simple = .5f,
Reasoning = .16f,
MultiContext = .17f,
Conditioning = .17f
};
var testSet = testSetGenerator.GenerateTestSetsAsync(index: "default", count: 10, retryCount: 3, distribution: distribution);
await foreach (var test in testSet)
{
Console.WriteLine(test.Question);
}
在这个示例中,我们首先使用TestSetGeneratorBuilder
来创建一个测试集生成器,并添加Evaluator内核。接下来,我们定义了一组分布参数,用于确定不同类型问题的比例。最后,我们生成测试集,并打印每个测试的问题。
一旦我们生成了测试集,下一步就是进行评估。通过TestSetEvaluator,我们可以评估Kernel Memory的性能。以下是相关代码示例:
var evaluation = new TestSetEvaluatorBuilder()
.AddEvaluatorKernel(kernel)
.WithMemory(memoryBuilder.Build())
.Build();
var results = evaluation.EvaluateTestSetAsync(index: "default", await testSet.ToArrayAsync());
await foreach (var result in results)
{
Console.WriteLine($"Faithfulness: {result.Metrics.Faithfulness}, ContextRecall: {result.Metrics.ContextRecall}");
}
在这个示例中,我们首先创建一个TestSetEvaluator,并添加Evaluator内核和内存配置。接下来,我们评估测试集,并打印每次评估的结果,包含信实度(Faithfulness)和上下文回溯(ContextRecall)两个关键指标。
项目结构
在Evaluation项目中,我们可以看到代码量并不大主要是提示词这里需要注意的是,Kernel Memory的提示词为英文,这里对中文的效果可能会打折扣,于是乎我把它平移翻译为中文来进行测试
例如这就是一个翻译前后的对比,由于这里大量依赖json输出,所以使用的模型必须支持json_object 否则在跑起来会有比较多的报错。
在我们的AntSK项目中,我们已经集成了Evaluation模块进行质量评估。详情请参考我们的GitHub项目页面(AntSK)。
https://github.com/AIDotNet/AntSK
通过结合Kernel Memory的Evaluation模块和AntSK项目,我们不仅可以实现高效的文档管理和评估,还能为企业带来更多的创新和提升整体效率。
使用Kernel Memory进行RAG评估是一个创新和高效的解决方案,能够显著降低企业在知识管理方面的人工成本,同时提高处理效率和准确性。随着AI技术的不断发展和成熟,未来我们可以期待更多类似的工具和方法被开发和应用,为企业的智能化转型提供更强大的支持。
如果您在企业知识管理方面遇到挑战或希望探索更多AI技术的应用,不妨试试Kernel Memory和AntSK项目,相信它们会为您的工作带来意想不到的惊喜。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
复旦发布:最佳RAG方案
2024-11-15
破解PDF解析难题:RAG中高效解析复杂PDF的最佳选择
2024-11-15
RAG技术全解析:从基础到前沿,掌握智能问答新动向
2024-11-15
RAG在未来会消失吗?附RAG的5种切分策略
2024-11-15
HtmlRAG:利用 HTML 结构化信息增强 RAG 系统的知识检索能力和准确性
2024-11-15
打造自己的RAG解析大模型:表格数据标注的三条黄金规则
2024-11-13
RAGCache:让RAG系统更高效的多级动态缓存新方案
2024-11-13
Glean:企业AI搜索,估值46亿美元,ARR一年翻4倍
2024-07-18
2024-07-09
2024-05-05
2024-07-09
2024-05-19
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21