跳转到内容

多模态相关性

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。