- 人工智能
- 多模态
- 计算机视觉
- RAG
- 检索/搜索引擎
【免费下载链接】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.safetensors | EVIE-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.txtrequirements.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.pnginfer.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 步,你就拥有了一个业界领先的视觉文档搜索引擎:
- ✅ 克隆仓库获得 EVIE-8B 模型权重
- ✅ 安装依赖并配置
PYTHONPATH - ✅ Python 代码跑通"文本查询 → 图片文档 → MaxSim 打分"
- ✅
infer.pyCLI 一行命令多文档检索排序 - ✅
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
相关推荐
Gepetto错误排查与常见问题解决方案:终极逆向工程AI助手故障排除指南
Gepetto错误排查与常见问题解决方案:终极逆向工程AI助手故障排除指南 Gepetto是一款强大的IDA Pro插件,它利用大型语言模型为逆向工程师提供智能
3步快速上手:P2P搜索引擎完整入门指南
3步快速上手:P2P搜索引擎完整入门指南 想要拥有一个功能强大的P2P搜索引擎吗?Rats Search作为一款跨平台的BitTorrent搜索工具,集成了种子
后端如何快速搭建Hound代码搜索引擎:面向开发者的完整指南
如何快速搭建Hound代码搜索引擎:面向开发者的完整指南 Hound是一个 极速代码搜索引擎 ,基于Russ Cox的正则表达式匹配算法构建,能够为开发者提供闪
搜索引擎开发者工具后端前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考