多模态RAG(Retrieval Augmented Generation)是一种结合了信息检索技术和大型语言模型提示功能的框架,它通过从数据源检索信息来辅助大型语言模型(LLM)生成答案,提高了模型在知识密集型任务中的准确性和可信度。多模态RAG扩展了传统RAG的能力,使其不仅限于处理文本,还可以处理图像、视频、音频等多模态数据。
多模态RAG的实现主要包含以下几个步骤:
- 数据准备阶段:包括数据提取、分块(chunking)、向量化(embedding)、数据入库等环节。数据提取涉及将不同格式的数据(如PDF、Word、数据库等)处理为统一的格式。分块是将大文档分割成较小的、语义完整的单元,以便于后续处理和检索。
- 检索阶段:系统根据输入查询检索相关文档或信息。这个阶段依赖于搜索算法和索引方法来快速识别大量集合中最相关的数据。
- 增强阶段:将用户查询和检索到的额外上下文放入一个提示模板中,以增强提示。
- 生成阶段:使用大型语言模型来针对检索结果,生成对用户的回复。
在多模态RAG中,一个关键的技术突破是能够直接使用图像和视频等非文本数据,而不需要将它们转换为文本。例如,DSE(Document Screenshot Embedding)方法直接使用视觉语言模型的编码器对原始文档的扫描图片进行编码,而不需要进行广义OCR。ColPali架构也是利用视觉语言模型来从文档页面的图像中产生高质量的上下文化嵌入,并使用延迟交互技术提高检索效率。
多模态RAG的应用场景非常广泛,包括但不限于智能传媒、虚拟角色扮演、图像和视频内容的理解等。随着多模态大模型能力的增强,多模态RAG也突破了传统的图像检索应用方式,真正具备了大规模非结构化多模态数据深度理解的能力,具有巨大的商业应用价值。