
EVIE-4.5B内置Demo实战如何用文本查询精准定位8张文档页面中的目标信息EVIE-4.5B 是腾讯开源的视觉文档检索Visual Document Retrieval模型仓库内置了一套8 页文档检索 Demo无需自备任何数据运行一条bash examples/demo/run.sh就能完成“文本查询 → 8 张文档页面排序”的完整流程模型会自动为 “What was Q3 2024 revenue?” 这类问题精准选出含有答案的那一页。本文带你 3 步跑通这个 Demo。 看懂 8 页文档检索任务文本查询如何对应到页面Demo 模拟的是最典型的检索场景——你不知道答案在哪一页只知道要查什么。8 张示例文档页面位于 examples/demo/pages/每一页都预配了一条自然语言查询数据定义在 examples/demo/build.py 中#页面文件文档类型页面内容内置查询1q3_revenue.png财报页Q3 营收 $12.4M营业利润率 18%What was Q3 2024 revenue?2org_chart.png组织架构图CEO Dana NgVP Sales Priya ShahWho is the VP of Sales under the CEO?3invoice_4412.png发票到期日 14 March 2026金额 $8,150What is the due date on invoice 4412?4warehouse_b.png仓库信息卡位于 NORTH LOT4 号门Where is Warehouse B located?5traceback.pngCI 报错日志TypeError: NoneTypeapp/ledger.py:88Which file and line raised the TypeError?6cash.png财务快照现金 $80M短期国债 $12MHow much cash is on hand?7headcount.png人员统计员工 1,204 人待招 17 个岗位What is the employee headcount?8patent.png专利台账专利号 US-11,234,567What is the granted patent number?先看两张最有“检索味”的页面查询 “What was Q3 2024 revenue?” 的正确页面就是这张 FY2024 Q3 earnings——页面上白纸黑字写着 “Q3 2024 revenue $12.4 million”。组织架构图页面存的是 “CEO: Dana Ng / VP Sales: Priya Shah” 的汇报关系查询 “Who is the VP of Sales under the CEO?” 要求模型读懂图中的层级结构而不是简单关键词匹配。⚡ 3 步跑通 EVIE-4.5B 内置 Demo第 1 步克隆仓库并安装依赖一键配置环境git clone https://gitcode.com/tencent_hunyuan/EVIE-4.5B cd EVIE-4.5B pip install -r requirements.txt这个仓库是自包含的模型仓库根目录的 model.safetensors 就是 EVIE-4.5B 权重本体克隆完成即模型就位无需再下载额外的大文件。第 2 步一键运行内置 Demobash examples/demo/run.shexamples/demo/run.sh 会依次自动完成三件事准备数据若 8 页数据集 test-00000-of-00001.parquet 不存在先调用 examples/demo/build.py 生成页面图片与 parquet 文件仓库已自带一般直接跳过读取模型配置从 config.json 读取 Prefix-MRL 最大投影维度2048作为评测头维度分布式评测使用全部可见 GPU 启动 code/shared/eval.py 评测框架对 8 条查询逐一给 8 个页面打分计算 Recall / nDCG / MRR / MAP 指标。第 3 步查看排序结果评测结果写入runs/demo/eval/目录核心文件d2048/summary.json—— 2048 维投影下的完整评测汇总每条查询、每个指标d2048/summary.md—— 人读版指标表格summary_heads.json—— 跨维度聚合文件。指标含义Recall1查询的正确页面排在第 1 位的比例nDCG10考虑排序位置的检索质量正确页在 Top10 即接近满分MRR / MAP基于排名位置 / 平均精度的排序指标Demo 中每条查询只有 1 个正确页面因此只要模型判断正确8 条查询全部命中第 1 名指标会非常接近 100%——这也是快速验证模型是否“装对了”的好办法。 其余 6 张示例页面一览剩下 6 张页面覆盖了发票、报错日志、专利等不同版式考察模型“看图读数”的另一种能力发票页面查询问 “invoice 4412 的到期日”页面上的 “14 March 2026” 就是答案。报错日志页面查询问 “哪个文件哪一行抛出了 TypeError”页面上 “app/ledger.py line 88” 即答案——从代码文本中定位关键信息是典型文档检索任务。仓库卡片查询 “Where is Warehouse B located?” 的答案是 “NORTH LOT”。财务快照查询 “How much cash is on hand?” 的答案是 “$80 million”。人事统计页查询 “What is the employee headcount?” 的答案是 “1,204”。专利台账页查询 “授权的专利号是什么” 的答案是 “US-11,234,567”。 进阶用法用 infer.py 对任意页面打分内置 Demo 用的是固定 8 对查询想换成“自己的页面”时可以用仓库根目录的 infer.pypython infer.py \ --query What is the due date on invoice 4412? \ --image examples/demo/pages/invoice_4412.png \ --image examples/demo/pages/q3_revenue.png \ --image examples/demo/pages/traceback.png--query与--image都可重复传入任意多个运行后终端会为每条查询输出一个排名列表每行一张图片按 MaxSim 相关性分数从高到低排序第一行就是该查询最相关的页面。两个实用参数--head选择 Matryoshka 投影维度 64 / 128 / 256 / 512 / 1024 / 2048默认最宽的 2048。维度越低索引越轻量分数略有下降--device cpu没有 GPU 也能跑速度较慢但流程完全一致。 理解打分原理MaxSim 后交互是怎么算的EVIE 的打分方式和“整页压成一个向量”的稠密检索不同查询文本 ──► ColQwen3.5双向注意力──► 多条文本向量 页面图片 ──► ColQwen3.5视觉编码器─► 多条视觉 patch 向量 │ MaxSim 后交互每条查询向量取页内最大点积再求和查询被拆成多个 token 级向量页面被拆成数百个视觉 patch 向量每条查询向量都在页面里找匹配度最高的视觉向量取最大点积全部相加得到总分。正因如此小字号文本、表格细节、版式结构都能参与匹配——这就是后交互late-interaction范式的核心也是 EVIE-4.5B 在 ViDoRe 榜单上保持 SOTA 的关键。❓ Demo 常见问题 FAQQ每次运行都会重新生成 Demo 数据吗不会。examples/demo/build.py 只在 parquet 文件缺失时才被 examples/demo/run.sh 自动触发第二次及以后运行直接进入评测。Q没有 GPU 的 CPU 机器能跑吗examples/demo/run.sh 会按可见 GPU 数量启动 torchrun 分布式评测面向 GPU 环境。CPU 机器建议改用python infer.py --device cpu对少量页面打分体验同样的检索流程。Q想把 Demo 扩展到更多页面怎么办参照 examples/demo/build.py 中PAGES列表的结构追加“页面内容 查询”即可重新生成 parquet 后评测框架会自动按“查询 ↔ 正确页面”配对计分。 小结EVIE-4.5B 的内置 Demo 用最小的 8 页语料演示了视觉文档检索最核心的一环——从自然语言查询到定位正确文档页面一条bash examples/demo/run.sh即可完整跑通。跑通 Demo、看懂 Recall1 / nDCG10 这些指标之后你可以继续用 infer.py 和 code/shared/eval.py 评测框架把自己的文档库接进来从“玩具体验”走向真实业务数据。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考