ragas官方文档中文版(十四)
·
多模态相关性
MultiModalRelevance
MultiModalRelevance 指标衡量生成答案与视觉和文本上下文的相关性。它根据用户输入、响应和检索到的上下文(视觉和文本)计算得出。答案缩放至 (0,1) 范围,分数越高表示相关性越好。
如果生成的答案与提供的视觉或文本上下文对齐,则认为它是相关的。为了确定这一点,直接根据提供的上下文评估响应,相关性分数为 0 或 1。
示例(推荐 - Collections API)
from openai import AsyncOpenAI
from ragas.llms.base import llm_factory
from ragas.metrics.collections import MultiModalRelevance
# Setup - use a vision-capable model
client = AsyncOpenAI()
llm = llm_factory("gpt-4o", client=client) # Vision-capable model required
# Create metric instance
metric = MultiModalRelevance(llm=llm)
# Evaluate relevance
result = await metric.ascore(
user_input="What about the Tesla Model X?",
response="The Tesla Model X is an electric SUV.",
retrieved_contexts=[
"path/to/tesla_image.jpg", # Image context
"Tesla manufactures electric vehicles." # Text context
]
)
print(f"Relevance Score: {result.value}") # 1.0 (relevant) or 0.0 (not relevant)
示例(旧版 API - 已弃用)
已弃用
旧版 API 已弃用,将在未来版本中移除。请迁移到上面显示的 Collections API。
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:使用结果确定相关性分数

在此示例中,响应"猫很可爱"与特斯拉 Model X 的图片不对齐,因此相关性分数为 0。
支持的上下文类型
该指标支持多种上下文输入类型:
- 文本上下文 :纯文本字符串
- 图片 URL :指向图片的 HTTP/HTTPS URL
- 本地图片路径 :本地图片的文件路径(jpg、png、gif、webp、bmp)
- Base64 数据 URI :内联的 Base64 编码图片
要求
- 需要具备视觉能力的 LLM(例如 gpt-4o、gpt-4-vision-preview、claude-3-opus、gemini-pro-vision)
- 对于 Collections API,使用 llm_factory 创建 LLM 实例
更多推荐


所有评论(0)