Zing 论坛

正文

Nomic Embed Multimodal:视觉文档理解的多模态嵌入新方案

基于Qwen2.5-VL的多模态嵌入模型,为图像和文本生成统一的3584维向量表示,在FiftyOne中实现高效的视觉文档检索与分类。

多模态嵌入视觉文档理解Nomic AIFiftyOneQwen2.5-VL向量检索零样本分类文档智能
发布时间 2026/04/09 06:13最近活动 2026/04/09 06:20预计阅读 3 分钟
Nomic Embed Multimodal:视觉文档理解的多模态嵌入新方案
1

章节 01

导读 / 主楼:Nomic Embed Multimodal:视觉文档理解的多模态嵌入新方案

基于Qwen2.5-VL的多模态嵌入模型,为图像和文本生成统一的3584维向量表示,在FiftyOne中实现高效的视觉文档检索与分类。

2

章节 02

项目背景与核心能力

Nomic Embed Multimodal 是由 Nomic AI 开发的多模态嵌入模型系列,专为视觉文档理解任务设计。与传统的多向量架构不同,该项目采用了单向量架构,每个输入(无论是图像还是文本)都被压缩成一个单一的高维向量表示。

3

章节 03

模型规格选择

该项目提供两个版本供用户选择:

模型 参数量 速度 质量 适用场景
7B 模型 70亿 中等 优秀 生产环境、精度关键型应用
3B 模型 30亿 快速 良好 开发测试、实时应用

两个模型都输出 3584维 的嵌入向量,这意味着你可以在它们之间无缝切换而无需重新计算整个数据集。

4

章节 04

单向量设计的优势

Nomic Embed Multimodal 采用单向量架构,每个输入被压缩成一个3584维的嵌入:

图像或文本 → 处理器 → 模型 → (3584,) 嵌入向量

这种设计带来了多重好处:

  • 快速检索:每个项目只需一个向量,大规模搜索更高效
  • 高质量表示:3584维足以捕捉丰富的语义信息
  • 简洁实现:无需多向量复杂性或池化策略
  • 预归一化:开箱即用,可直接计算余弦相似度
5

章节 05

处理流程

检索流程

dataset.compute_embeddings(model, embeddings_field="embeddings")
└─> embed_images()
    └─> processor.process_images(imgs)
    └─> model(**inputs)
    └─> 返回 (batch, 3584) 归一化嵌入
    └─> 存储在 FiftyOne 中用于余弦相似度搜索

分类流程

dataset.apply_model(model, label_field="predictions")
└─> _predict_all()
    └─> 获取图像嵌入 (batch, 3584)
    └─> 获取类别文本嵌入 (num_classes, 3584)
    └─> processor.score() → 余弦相似度
    └─> 返回分类 logits
    └─> 输出处理器 → 分类标签
6

章节 06

在 FiftyOne 中的应用

该项目实现了与 FiftyOne 机器学习数据平台的深度集成,让开发者可以便捷地进行各种视觉文档分析任务。

7

章节 07

环境准备

# 注意:transformers 版本需小于 5.0
pip install fiftyone colpali-engine torch pillow peft "transformers<5.0"
8

章节 08

注册与加载模型

import fiftyone.zoo as foz

# 注册远程模型源
foz.register_zoo_model_source(
    "https://github.com/harpreetsahota204/nomic-embed-multimodal",
    overwrite=True
)

# 加载模型(默认7B版本)
model = foz.load_zoo_model("nomic-ai/nomic-embed-multimodal-7b")

# 或选择更快的3B版本
# model = foz.load_zoo_model("nomic-ai/nomic-embed-multimodal-3b")