多模态相关性
MultiModalRelevance
MultiModalRelevance
指标衡量生成的答案相对于视觉和文本上下文的相关性。它根据用户输入、响应以及检索到的上下文(包括视觉和文本)计算得出。答案被缩放到 (0,1) 的范围,分数越高表示相关性越好。
如果生成的答案与提供的视觉或文本上下文一致,则被认为是相关的。为了确定这一点,响应直接根据提供的上下文进行评估,相关性分数要么是 0,要么是 1。
示例
from ragas.dataset_schema import SingleTurnSample
from ragas.metrics import MultiModalRelevance
sample = SingleTurnSample(
user_input="What about the Tesla Model X?",
response="Cats are cute.",
retrieved_contexts=[
"custom_eval/multimodal/images/tesla.jpg"
]
)
scorer = MultiModalRelevance()
await scorer.single_turn_ascore(sample)
计算方法
示例
问题:关于特斯拉 Model X 有什么?
上下文 (视觉):- 特斯拉 Model X 的图像 (custom_eval/multimodal/images/tesla.jpg)
高相关性答案:特斯拉 Model X 是由特斯拉制造的一款电动 SUV。
低相关性答案:猫很可爱。
让我们看看如何使用低相关性答案计算相关性
-
步骤 1: 根据给定的上下文评估生成的响应。
- 响应:"猫很可爱。"
-
步骤 2: 验证响应是否与给定的上下文一致。
- 响应:否
-
步骤 3: 使用结果确定相关性分数。
\[ \text{相关性} = 0 \]
在此示例中,响应“猫很可爱”与特斯拉 Model X 的图像不符,因此相关性分数为 0。