最近在做RAG评测,用到了ragas框架。
在计算ContextPrecision时,发现计算结果跟我理解的不一样。
sample = SingleTurnSample(
user_input=user_input,
reference=reference,
retrieved_contexts=retrieved_contexts,
)
context_precision = LLMContextPrecisionWithReference(llm=self.evaluator_llm)
precision = context_precision.single_turn_score(sample)
调用代码如上,ragas计算precision的原理是通过大模型判断参考答案(reference)与检索到的内容(retrieved_contexts)的相关性。比如检索到两个相关材料,一个相关,一个不相关,则结果为[1,0]。
然后通过如下的函数计算平均精度:
def _calculate_average_precision(
self, verifications: t.List

最低0.47元/天 解锁文章
5990

被折叠的 条评论
为什么被折叠?



