☰
EVIE-8B快速上手指南:5步搭建视觉文档搜索引擎(附安装、推理完整代码)
2026/10/20 7:40:30 网站建设 项目流程
  • 人工智能
  • 多模态
  • 计算机视觉
  • RAG
  • 检索/搜索引擎

【免费下载链接】EVIE-8B

项目地址:https://ai.gitcode.com/tencent_hunyuan/EVIE-8B
点击查看免费下载

EVIE-8B 是腾讯开源的视觉文档检索(Visual Document Retrieval)模型,可以直接用一句自然语言查询去"读懂"发票、财报、图表等文档图片并排出相关度,在 ViDoRe V3 基准上以 66.75 的 nDCG@10 拿下 SOTA。本文带你用 5 步完成安装与推理,零门槛搭建属于自己的视觉文档搜索引擎。

🌟 为什么选择 EVIE-8B?

与"把整页文档压缩成一个向量"的传统方案不同,EVIE-8B 采用**逐 Token 多向量 + 延迟交互(Late-Interaction)**架构:

  • 4096 维 Token 表征:保留文档的版式、字体、表格等细粒度信息(见 config.json 中的"dim": 4096)
  • 双向全注意力:视觉 Patch 与文本 Prompt 双向交互,理解力更强
  • 榜单第一:ViDoRe V1 达 92.18 nDCG@5,V3 达 66.75 nDCG@10,138 项任务全面验证
  • 两种用法:既可用内置 ColPali Engine 推理,也支持 Sentence Transformers 加载

它的工作方式非常简单:查询是文本,文档是图片,模型通过 MaxSim 打分给出相关度:

查询文本 ──► EVIE-8B(双向注意力)──► 4096D 逐Token向量 │ 文档图片 ──► EVIE-8B(视觉编码器)──► 多向量Patch嵌入 ──► MaxSim 匹配打分

下面进入实操,一共 5 步。


第 1 步:克隆 EVIE-8B 仓库获取模型权重

仓库已内置完整的 8B 模型权重与推理引擎,克隆即可用:

git clone https://gitcode.com/tencent_hunyuan/EVIE-8B cd EVIE-8B

仓库结构一览(完整说明见 README.md):

文件/目录作用
model.safetensorsEVIE-8B 模型权重
infer.py独立推理与打分 CLI,一条命令出结果
colpali/ColQwen3.5 推理引擎源码
examples/demo/8 页文档检索 Demo
code/shared/138 任务评测脚本
env.sh.example环境变量模板

💡 提示:如不想下载整个仓库,也可将 config.json、model.safetensors等文件单独放置,推理时通过--model指向该目录。

第 2 步:安装 Python 依赖

EVIE-8B 依赖较新的 transformers(5.13.1),建议先创建独立虚拟环境:

python3 -m venv venv source venv/bin/activate pip install -r requirements.txt

requirements.txt 包含torch、transformers==5.13.1、accelerate、pillow、safetensors等核心依赖。如果使用 GPU,推荐再安装 FlashAttention 加速:

pip install flash-attn

同时把内置引擎加入 Python 路径:

export PYTHONPATH="$(pwd)/colpali${PYTHONPATH:+:$PYTHONPATH}"

第 3 步:跑通第一段推理代码(Python)

仓库提供了一个 8 页的演示文档集,你可以直接用它来体验"文本查图片"的搜索效果。下面是一页示例——财务季报:

核心推理代码(与 README.md Quick Start 一致):

import torch from PIL import Image from colpali_engine.models import ColQwen3_5, ColQwen3_5Processor model_id = "tencent/EVIE-8B" # 或指向本地模型目录 # 1. 加载模型(开启 FlashAttention 与双向注意力) model = ColQwen3_5.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="cuda", attn_implementation="flash_attention_2", ).eval() model.enable_bidirectional_attention() # 2. 处理查询文本与文档图片 processor = ColQwen3_5Processor.from_pretrained(model_id) images = [Image.open("examples/demo/pages/q3_revenue.png").convert("RGB")] queries = ["What is the total quarterly revenue?"] image_batch = processor.process_images(images).to(model.device) query_batch = processor.process_queries(queries).to(model.device) # 3. 生成 4096D 多向量并计算 MaxSim 得分 with torch.inference_mode(): image_embeddings = model(**image_batch) model.rope_deltas = None # 文本查询前重置 RoPE 增量 query_embeddings = model(**query_batch) scores = processor.score(query_embeddings, image_embeddings) print("MaxSim Relevance Score:", scores)

⚠️ 注意:图片前向之后、文本前向之前必须执行model.rope_deltas = None,这是多模态混合推理的关键细节,模型实现见 modeling_colqwen3_5.py。

第 4 步:用内置 CLI 一条命令完成检索

不想写代码?infer.py 支持直接命令行查询多个文档图片并自动按得分排序:

python infer.py \ --query "Who is the CEO of the company?" \ --image examples/demo/pages/org_chart.png \ --image examples/demo/pages/invoice_4412.png \ --image examples/demo/pages/cash.png

infer.py会自动处理很多细节:无 GPU 时回退 CPU、自动选择 FlashAttention 或 SDPA 后端、本地有权重时优先加载本地模型。

来看看它会检索到的几种典型文档——组织架构图:

以及发票类文档:

多图片输入时,CLI 会为每条查询打印降序排列的得分列表,得分最高的就是"最相关文档",这正是搜索引擎的核心排序逻辑。

第 5 步:运行完整 8 页 Demo,体验真实检索

仓库自带一个 8 页文档(含财报、发票、现金快照等)的评测式 Demo,一条命令即可跑通"批量编码 + 检索 + 汇总指标"全流程:

bash examples/demo/run.sh

该脚本会自动完成以下工作(逻辑见 examples/demo/run.sh):

  • 构建演示数据集(parquet + PNG 页面)
  • 按评测协议设置EVAL_MVT=1024Token 预算、双向注意力BIDIR=on
  • 调用 code/shared/eval_run.sh 执行编码与检索
  • 输出结果到runs/demo/eval/summary.json,包含 nDCG 等检索指标

如果你想在自己的数据上评测,可以参考 code/shared/eval.py 并配合 env.sh.example 中的环境变量(如EVAL_ROOT、MODEL_DIR、HF_HOME)做定制。


💡 常见问题速查(FAQ)

Q1:没有 GPU 能跑吗?可以。infer.py检测到 CUDA 不可用会自动回退到 CPU 并切换 float32 精度(见 infer.py),只是速度较慢,适合小规模验证。

Q2:内存不够怎么办?文档图片一次编码一张(batch_size=1)可显著降低峰值显存;如需按评测协议限制视觉 Token 数,可调整图像处理的像素预算(README 中给出了 1024 Token 预算的配置示例)。

Q3:Sentence Transformers 用户怎么加载?

pip install -U "sentence-transformers[image]>=6.0.0"
from sentence_transformers import MultiVectorEncoder model = MultiVectorEncoder("tencent/EVIE-8B") # encode_query() / encode_document() / similarity() 三步完成检索

模型以MultiVectorEncoder+maxsim相似度函数组织(见 modules.json、config_sentence_transformers.json),文档输入支持 URL、本地路径或PIL.Image对象。

Q4:想要更高效率怎么办?8B 是旗舰"教师"模型,追求部署效率可关注同系列更轻量的 EVIE-4.5B(Prefix-MRL 蒸馏自 EVIE-8B)。


📌 总结

只需 5 步,你就拥有了一个业界领先的视觉文档搜索引擎:

  1. ✅ 克隆仓库获得 EVIE-8B 模型权重
  2. ✅ 安装依赖并配置PYTHONPATH
  3. ✅ Python 代码跑通"文本查询 → 图片文档 → MaxSim 打分"
  4. ✅infer.pyCLI 一行命令多文档检索排序
  5. ✅examples/demo/run.sh一键运行完整 Demo 评测

EVIE-8B 的 4096 维逐 Token 表征和双向注意力机制,让它对财报、发票、图表等真实业务文档的检索精度达到了当前最高水平。从 Demo 迁移到自有数据,只需替换图片路径与查询语句,即可落地企业级文档搜索场景。

延伸阅读:

  • 模型配置与架构参数:config.json
  • 推理引擎源码:colpali/colpali_engine/models/qwen3_5/
  • 评测与聚合脚本:code/shared/eval.py、code/shared/aggregate_heads.py
  • 人工智能
  • 多模态
  • 计算机视觉
  • RAG
  • 检索/搜索引擎

【免费下载链接】EVIE-8B

项目地址:https://ai.gitcode.com/tencent_hunyuan/EVIE-8B
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询