【observability】【evaluation23】多模态RAG评估案例分析
案例目标本案例演示如何评估一个多模态RAG(Retrieval-Augmented Generation)系统。与纯文本案例类似我们分别考虑对检索器(Retriever)和生成器(Generator)的评估。具体来说本案例使用美国手语(ASL)字母表图像和文本描述作为多模态数据构建并评估多模态RAG系统。案例的主要目标包括构建基于CLIP图像嵌入和GPT-4V文本描述的多模态RAG系统使用不同多模态LLM(GPT-4V和LLaVA)作为生成器评估检索器的性能(使用hit_rate和mrr指标)评估生成器的性能(使用正确性、相关性和忠实度指标)比较不同多模态RAG系统的性能差异技术栈与核心依赖llama-indexllama-index-llms-openaillama-index-multi-modal-llms-openaillama-index-multi-modal-llms-replicatePILmatplotlibpandas核心组件MultiModalVectorStoreIndex: 多模态向量存储索引用于处理图像和文本数据OpenAIMultiModal: OpenAI的多模态LLM接口(GPT-4V)ReplicateMultiModal: Replicate的多模态LLM接口(LLaVA)MultiModalRetrieverEvaluator: 多模态检索器评估器CorrectnessEvaluator: 正确性评估器MultiModalRelevancyEvaluator: 多模态相关性评估器MultiModalFaithfulnessEvaluator: 多模态忠实度评估器环境配置# 安装必要的依赖 %pip install llama-index-llms-openai %pip install llama-index-multi-modal-llms-openai %pip install llama-index-multi-modal-llms-replicatefrom PIL import Image import matplotlib.pyplot as plt import pandas as pd import json from llama_index.core.multi_modal_llms.generic_utils import load_image_urls from llama_index.core import SimpleDirectoryReader, Document需要配置OpenAI的API密钥以访问GPT-4V服务以及Replicate的API密钥以访问LLaVA模型。案例实现数据准备与索引构建多模态RAG系统构建检索器与生成器评估数据准备本案例使用ASL(美国手语)字母表图像和文本描述作为多模态数据ASL字母表示例图像图像数据来源于ASL-Alphabet Kaggle数据集并进行了修改以在图像上添加相应的字母标签。文本描述来源于https://www.deafblind.com/asl.html。加载图像和文本数据# 加载图像数据 image_path ./asl_data/images image_documents SimpleDirectoryReader(image_path).load_data() # 加载文本描述数据 with open(asl_data/asl_text_descriptions.json) as json_file: asl_text_descriptions json.load(json_file) text_format_str To sign {letter} in ASL: {desc}. text_documents [ Document(texttext_format_str.format(letterk, descv)) for k, v in asl_text_descriptions.items() ]构建多模态索引from llama_index.core.indices import MultiModalVectorStoreIndex from llama_index.core.node_parser import SentenceSplitter node_parser SentenceSplitter.from_defaults() image_nodes node_parser.get_nodes_from_documents(image_documents) text_nodes node_parser.get_nodes_from_documents(text_documents) asl_index MultiModalVectorStoreIndex(image_nodes text_nodes)构建基于文本描述的索引为了比较不同RAG系统我们构建另一个使用GPT-4V生成图像文本描述的索引from llama_index.multi_modal_llms.openai import OpenAIMultiModal from llama_index.core.schema import ImageDocument # 使用GPT-4V生成图像描述 openai_mm_llm OpenAIMultiModal(modelgpt-4o, max_new_tokens300) image_with_text_documents SimpleDirectoryReader(image_path).load_data() # 为每个图像生成文本描述 for img_doc in tqdm.tqdm(image_with_text_documents): response openai_mm_llm.complete( promptDescribe the images as an alternative text, image_documents[img_doc], ) img_doc.text response.text # 解析为节点 image_with_text_nodes node_parser.get_nodes_from_documents( image_with_text_documents ) # 构建基于文本描述的索引 asl_text_desc_index MultiModalVectorStoreIndex( nodesimage_with_text_nodes text_nodes, is_image_to_textTrue )案例效果通过多模态RAG评估我们获得了以下关键发现检索器性能文本检索(asl_index-text)表现完美命中率和MRR均为1.000000基于GPT-4V文本描述的检索(asl_text_desc_index)表现良好命中率和MRR均为0.925926基于CLIP图像嵌入的检索(asl_index-image)表现尚可命中率和MRR均为0.814815当检索器检索到正确图像时通常将其放在第一位因此命中率和MRR相同生成器性能使用LLaVA的RAG系统在正确性、相关性和忠实度方面均优于使用GPT-4V的系统mm_clip_llava在正确性方面得分最高(4.092593)mm_clip_llava在相关性方面得分最高(0.851852)mm_clip_llava和mm_text_desc_gpt4v在忠实度方面得分最高(0.888889)观察与结论评估结果表明使用LLaVA的RAG系统在各项指标上均优于使用GPT-4V的系统。一个有趣的发现是GPT-4V在某些情况下会生成类似我无法基于提供的图像回答查询因为系统目前不允许我视觉分析图像的响应即使图像已被正确检索。这类生成的响应可能是GPT-4V生成评分低于LLaVA的原因之一。案例实现思路多模态RAG评估的实现思路如下数据准备收集ASL字母表图像和相应的文本描述构建多模态数据集索引构建使用MultiModalVectorStoreIndex构建两种不同的多模态索引基于CLIP图像嵌入的索引基于GPT-4V文本描述的索引RAG系统构建构建四种不同的多模态RAG系统比较不同嵌入模型和生成器的组合检索器评估使用MultiModalRetrieverEvaluator评估检索器的性能计算命中率和MRR生成器评估使用正确性、相关性和忠实度评估器评估生成器的性能结果分析比较不同RAG系统的性能分析差异原因技术要点实现过程中的关键技术点包括使用MultiModalVectorStoreIndex处理多模态数据、通过is_image_to_text参数控制使用图像嵌入还是文本描述嵌入、使用MultiModalRetrieverEvaluator评估检索器性能、以及使用多模态评估器(MultiModalRelevancyEvaluator和MultiModalFaithfulnessEvaluator)评估生成器性能。扩展建议基于当前实现可以考虑以下扩展方向扩展多模态数据增加更多类型的多模态数据如视频、音频等改进嵌入模型尝试更先进的多模态嵌入模型如CLIP-ViT-L/14等优化提示工程改进生成提示提高生成质量扩展评估指标引入更多评估指标如多样性、连贯性等领域特定评估针对特定领域(如医疗、教育)定制评估标准人工评估对比引入人工评估作为黄金标准与多模态评估器进行对比评估效率优化优化评估过程提高大规模评估的效率多语言支持扩展对多语言多模态内容的评估能力总结多模态RAG评估案例展示了如何使用llama-index评估工具评估多模态RAG系统。主要收获包括MultiModalVectorStoreIndex提供了处理多模态数据的有效方法不同的嵌入模型(CLIP vs GPT-4V文本描述)对检索性能有显著影响不同的多模态LLM(GPT-4V vs LLaVA)对生成质量有显著影响多模态评估器(MultiModalRelevancyEvaluator和MultiModalFaithfulnessEvaluator)提供了有效的生成评估方法评估结果可以帮助选择最适合特定应用场景的多模态RAG系统该案例为评估多模态RAG系统提供了有价值的参考特别是在需要处理图像和文本混合内容的场景中。通过比较不同嵌入模型和生成器的组合可以更好地理解各组件的优势和局限性从而做出更明智的选择。

相关新闻

如何用Cocos Creator开发开心消消乐:新手必备的10个核心技能

如何用Cocos Creator开发开心消消乐:新手必备的10个核心技能

如何用Cocos Creator开发开心消消乐:新手必备的10个核心技能 【免费下载链接】kaixinxiaoxiaole 使用cocos creator 编写的三消游戏 开心消消乐 项目地址: https://gitcode.com/gh_mirrors/ka/kaixinxiaoxiaole 想要学习使用Cocos Creator开发一款像开心消消…

2026/7/12 20:19:41阅读更多 →
Spekt8用户手册:图形模式与表格模式切换技巧,轻松掌控集群状态

Spekt8用户手册:图形模式与表格模式切换技巧,轻松掌控集群状态

Spekt8用户手册:图形模式与表格模式切换技巧,轻松掌控集群状态 【免费下载链接】spekt8 Visualize your Kubernetes cluster in real time 项目地址: https://gitcode.com/gh_mirrors/sp/spekt8 Spekt8是一个强大的Kubernetes集群可视化工具&…

2026/7/12 20:19:41阅读更多 →
【Day 7】监控告警与运维清单:建立7×24小时监控体系(2026版)

【Day 7】监控告警与运维清单:建立7×24小时监控体系(2026版)

系列:《中小企业云服务器7天运维实战》Day 7/7 标签:监控告警 | 云监控 | UptimeRobot | 运维SOP | 日常清单 发布时间:2026-06-15 阅读时长:18分钟 适用版本:宝塔v8.0 / 阿里云云监控 / UptimeRobot 摘要 本文是7天运…

2026/7/12 20:19:41阅读更多 →
awesome-trilium终极指南:2024年最值得收藏的Trilium Notes插件合集

awesome-trilium终极指南:2024年最值得收藏的Trilium Notes插件合集

awesome-trilium终极指南:2024年最值得收藏的Trilium Notes插件合集 【免费下载链接】awesome-trilium A collection of interesting Trilium Notes extensions. Including themes, widgets, scripts, API extensions, etc. Trilium插件合集 项目地址: https://gi…

2026/7/12 21:34:46阅读更多 →
如何快速掌握Dexed:开源FM合成器的终极使用指南

如何快速掌握Dexed:开源FM合成器的终极使用指南

如何快速掌握Dexed:开源FM合成器的终极使用指南 【免费下载链接】dexed DX7 FM multi plaform/multi format plugin 项目地址: https://gitcode.com/gh_mirrors/de/dexed Dexed是一款免费开源的FM合成器插件,完美模拟了经典的Yamaha DX7合成器。无…

2026/7/12 21:34:46阅读更多 →
高级技巧:使用nabla.nvim的虚拟文本功能美化你的科学文档

高级技巧:使用nabla.nvim的虚拟文本功能美化你的科学文档

高级技巧:使用nabla.nvim的虚拟文本功能美化你的科学文档 【免费下载链接】nabla.nvim take your scientific notes :pencil2: in Neovim 项目地址: https://gitcode.com/gh_mirrors/na/nabla.nvim 在Neovim中编写科学文档时,复杂的数学公式常常让…

2026/7/12 21:34:46阅读更多 →
3分钟掌握Open Notebook批量导出:新手快速备份笔记的终极指南

3分钟掌握Open Notebook批量导出:新手快速备份笔记的终极指南

3分钟掌握Open Notebook批量导出:新手快速备份笔记的终极指南 【免费下载链接】open-notebook An Open Source implementation of Notebook LM with more flexibility and features 项目地址: https://gitcode.com/GitHub_Trending/op/open-notebook 你是否在…

2026/7/12 21:34:46阅读更多 →
当AI博士年薪600万遇上考研三连降:学历社会正在松动

当AI博士年薪600万遇上考研三连降:学历社会正在松动

做了这么多年就业数据分析,2026年夏天有两件事同时出现,让我意识到一个拐点正在到来:AI企业600万年薪抢清华博士上了热搜,考研报名人数三连降的消息也上了热搜。一个向上疯狂,一个持续向下——两条曲线之间拉开的裂缝&…

2026/7/12 21:34:46阅读更多 →
AI 工作流可视化编排:从拖拽 UI 到可执行 DAG 的工程化翻译层设计

AI 工作流可视化编排:从拖拽 UI 到可执行 DAG 的工程化翻译层设计

AI 工作流可视化编排:从拖拽 UI 到可执行 DAG 的工程化翻译层设计 一、"画完的流程图和实际跑的通路是两套东西"——可视化编排的语义断裂 可视化编排 AI 工作流的工具(如 Dify、LangFlow、Coze)解决了一个真实需求:让非…

2026/7/12 21:29:45阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/11 16:20:28阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/11 23:15:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/11 18:12:23阅读更多 →