跳到内容

多模态相关性

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。