传统 RAG(检索增强生成)主要处理文本数据,但在实际应用中,大量知识以图像、图表、PDF 扫描件等形式存在。多模态 RAG 将 RAG 的能力从文本扩展到图像,使得 AI 应用可以理解和检索视觉信息。本文将提供完整的技术实现方案。
多模态 RAG 的架构设计
一个典型的多模态 RAG 系统包含以下组件:
1. 多模态嵌入模型:CLIP(Contrastive Language-Image Pre-training)是目前最主流的多模态嵌入模型。它可以将图像和文本映射到同一个向量空间,使得文本查询可以直接检索相关图像。OpenAI 的 CLIP ViT-L/14 模型在多项基准测试中表现最优,而开源替代方案如 Chinese-CLIP 在中文场景中更具优势。
2. 多模态文档解析:PDF、PPT 等文档中的图文混合内容需要专门的解析器。Unstructured 库和 LlamaParse 是目前最成熟的方案,它们可以将复杂文档拆解为"文本块 + 关联图像块"的结构化片段。
3. 多向量存储:支持向量搜索的数据库(如 Milvus、Weaviate)需要同时存储文本嵌入和图像嵌入,并维护它们之间的关联映射。
完整流程
1. 文档解析:将 PDF 中的文本和图像分别提取,记录它们在页面中的位置关系。
2. 嵌入生成:文本块使用 text-embedding-3-large 生成嵌入,图像使用 CLIP 生成嵌入。
3. 存储:将两种嵌入及元数据存入向量数据库,同时建立"文本块 ↔ 图像块"的映射表。
4. 检索:用户查询时,使用相同的嵌入模型将查询转为向量,同时搜索文本向量和图像向量。
5. 生成:将检索到的文本和图像 URL/描述一起传入多模态 LLM(如 GPT-4o),生成集成答案。
评论 (0)