AIREITER

pplx-embed-v2-late API 定价与 PDF 检索配置指南

最后更新: 2026-10-07 19:19:38

如果你正在围绕 pplx-embed-v2-late 规划 PDF 搜索系统,最关键的信息其实很容易被忽略:Perplexity 已经发布了模型权重,但尚未公布 v2-late 的 API 价格,也没有将它列入公开的 Embeddings API 模型目录。目前真正可用的路径是自托管多模态检索,而现有 v1 API 价格只能作为对照,不能当作 v2-late 的报价。

先说结论:v2-late 尚未出现在公开 Embeddings API 价目表中

截至 2026 年 10 月 7 日,官方 Embeddings API 快速入门文档列出了 4 个 v1 模型,但没有 pplx-embed-v2-late-0.6b 或 pplx-embed-v2-late-9b。因此,目前无法为 v2-late 给出有依据的按 token API 价格估算。

当前 API 文档中列出的 Perplexity 模型每 100 万 token 的价格适用输入
pplx-embed-v1-0.6b$0.004独立文本、查询、句子
pplx-embed-v1-4b$0.030独立文本、查询、句子
pplx-embed-context-v1-0.6b$0.008相关文档片段
pplx-embed-context-v1-4b$0.050相关文档片段

上表是按量付费的 API 费率,不是 late-interaction 系列模型的价格。Perplexity 的发布公告表示,late-interaction、dense 和 contextual embeddings 将逐步登陆 API Platform。但这只是发布路线说明,并不代表 v2-late 已经拥有可调用的 API 端点,也不构成价格承诺。

做采购和预算时,最好把成本拆成两部分:

  1. 托管 API 支出:目前适用于上面列出的 v1 模型;v2-late 尚未公布费率。
  2. 自托管支出:包括 GPU 运行时间、页面渲染、模型存储、token 向量索引存储,以及 v2-late 的查询服务。

不要把 v1 价格乘以 PDF 页数,再把结果当成 v2-late 报价。两者使用的表示方式不同,而且 v1 API 针对的是文本 embedding,并不是文档中所描述的渲染页面工作流。

pplx-embed-v2-late 到底提供了什么

Perplexity 发布了两个 late-interaction 检查点:pplx-embed-v2-late-0.6b 和 pplx-embed-v2-late-9b。9B 模型卡显示,较小模型有 340M 个活跃参数,较大模型有 7.4B 个活跃参数。两个模型都会为每个 token 输出 128 维向量,并使用 MaxSim,而不是把整页压缩成一个向量。

模型活跃参数ViDoRe v3 图像 nDCG@10ViDoRe v3 Markdown nDCG@10实际定位
pplx-embed-v2-late-0.6b340M62.3%61.2%更轻量的查询模型或小型部署
pplx-embed-v2-late-9b7.4B65.2%64.7%更高质量的索引与检索模型

这些 benchmark 数据来自模型卡,并不是独立的 PDF 测试结果:在图像检索上,9B 领先 2.9 个百分点;在 Markdown 检索上领先 3.5 个百分点,同时活跃参数约为 0.6B 模型的 21.8 倍。两个检查点都以 MIT 许可证发布在 Hugging Face 上。

部署时最值得注意的是两者共享 embedding 空间:Perplexity 表示,可以使用 0.6B 模型查询由 9B 模型构建的索引。你可以用 9B 离线编码文档,再仅用 0.6B 处理查询,但应先验证跨模型召回率;这种做法并不会减少 9B 索引本身的存储需求。

一套可落地的 PDF 检索方案

v2-late 的工作流会把 PDF 的每一页渲染成图像文档。这样,文本查询就可以直接匹配页面中的文字、表格结构、图表或版式,不必把 OCR 作为主要检索表示。这与 Sentence Transformers 视觉检索文档介绍的视觉文档检索模式一致。

“无需 OCR”指的是 OCR 不作为检索信号,并不意味着完全不需要提取文本。提取文本仍然适合用于过滤、引用、无障碍访问和兜底搜索。

1. 渲染页面,并保留元数据

将每一页渲染为 RGB 图像,并保持稳定的分辨率,同时为每页保存一条记录:

字段示例
document_idcontract-2026-04
page_number17
image_pathpages/contract-2026-04/017.png
source_uri内部 PDF 对象 URL
text_fallback可选的提取文本

请把 document_id 和 page_number 放在检索记录中,不要只编码进图片文件名。找到相关页面后,还应从同一文档中取回相邻页面,因为表格、脚注或定义经常会跨页出现。

2. 安装兼容的 encoder

9B 模型卡要求使用较新的库:

pip install "sentence-transformers>=6.0.0" "transformers>=5.4.0" pillow

官方示例使用 MultiVectorEncoder,模型卡则选择 CUDA 来加载 9B 检查点:

from PIL import Image
from sentence_transformers import MultiVectorEncoder

model = MultiVectorEncoder(
    "perplexity-ai/pplx-embed-v2-late-9b",
    device="cuda",
)

如果现有服务硬件无法容纳更大的检查点,可以改用 0.6B 标识符。模型卡没有提供官方最低显存要求、吞吐量表或延迟保证,因此在确定容量之前,应针对实际页面分辨率、batch size 和 GPU 进行测试。

3. 分别编码文本查询和页面图像

该模型要求使用非对称调用:查询文本通过 encode_query 处理,渲染后的页面则通过 encode_document 处理:

query_embeddings = model.encode_query([
    "Which clause governs termination after a material breach?"
])

page = Image.open("pages/contract-2026-04/017.png").convert("RGB")
page_embeddings = model.encode_document([page])

scores = model.similarity(query_embeddings, page_embeddings)
print(scores)

不要把文本和图像文档放进同一个混合编码 batch。模型卡明确要求使用分别的同质输入,以及该检查点预期的 [Q] / [D] 标记配置。model.similarity() 会基于 token 级表示执行 MaxSim。

在真实文档集合中,应离线编码页面,将多向量表示持久化到 late-interaction 索引中,并把页面元数据保存在旁路存储中。小型集合可以直接进行穷举打分;规模更大时,应使用支持 MaxSim 的系统,或者先用 dense 检索器进行第一阶段召回,再对受控候选集使用 v2-late 重排。

4. 先检索页面,再扩展证据窗口

一个页面级命中结果通常应包含:

  1. 匹配页面及其分数。
  2. 文档 ID 和来源链接。
  3. 同一文档中的一到两个相邻页面。
  4. 页面图像,以及用于引用的可选提取文本。

这样可以避免页面匹配很准确,但最终答案不完整——例如定义从第 16 页开始,表格却延续到第 17 页。同时,结果也更容易检查:用户可以直接看到产生匹配的图表或表格,而不是只能相信某个隐藏的 OCR 转换结果。

别只盯着 API token:完整成本模型

目前没有公开的 v2-late API 价格可与 4 个 v1 费率进行比较。因此,实际运营成本主要取决于模型卡没有定价的部署环节。

成本因素已确认信息规划时的含义
模型权重Hugging Face 上的 9B 仓库显示约 33.6 GB,使用 F32 张量在开始建立索引之前,权重存储和加载就已经是重要成本
表示方式每个 token 生成一个 128 维向量,并通过 MaxSim 打分每页会产生多个向量,而不是一个 dense 向量
索引构建9B 可以构建由 0.6B 查询如果查询量较高,应把更多计算放进离线任务
检索Late interaction 会比较查询 token 与文档 token使用支持 MaxSim 的索引,或者在重打分前限制候选数量
API 计费尚未公布 v2-late 费率目前不要预测托管 API 支出

Hugging Face 的 late-interaction 指南提供了一个来自其他模型的规模参考:在一个包含 4,874 个 passage 的示例中,模型生成了 608,414 个 token 向量,原始 float32 存储空间为 311.5 MB;经过压缩的 PLAID 索引则使用了 92 MB。这些数字不能直接当作 v2-late 的估算,但足以说明“128 维”并不等于“小索引”。真正重要的放大因素是 token 数量。

索引吞吐量也必须在自己的硬件上进行测试。在一份真实用户发布的 LocalLLaMA 报告中,pplx-embed-v1-4b 在 A100 80GB 上处理 10,000 个向量大约需要 45 分钟,而 Qwen3-Embedding-4B 需要 6 分钟。这份报告针对的是 v1,不是 v2-late,因此它只能说明需要测量 Perplexity embedding 的吞吐量,不能视为 v2-late 的性能结论。

“我觉得这可能是因为 pplx embed 使用了双向注意力,而不是标准的 masked attention。”——u/Velocita84,r/LocalLLaMA

应该选择哪条部署路线?

需求当前最合适的路径原因
使用托管端点,低成本处理纯文本 RAGPerplexity v1 API公开价格为每 100 万 token $0.004 至 $0.05
图表、表格、扫描页面和版式都很重要自托管 pplx-embed-v2-late文档描述的工作流可以直接检索渲染页面
大规模语料库,且查询频繁9B 离线索引加 0.6B 查询 encoder,或 dense-first 加 v2-late 重排将索引质量与查询时计算分开
小型原型或硬件受限的测试在具有代表性的页面样本上使用 0.6B 检查点活跃参数更少,但仍需测试页面编码速度和存储占用
硬性要求是使用托管的 v2-late 端点等待官方 API 模型 ID 和价目表当前公开 embedding 文档中两者都不存在

我的建议是:先在 100 到 500 个具有代表性的页面上验证 0.6B 与 9B 的跨模型方案,再决定是否建立完整索引。样本中应包含扫描页面、表格、多栏版式,以及答案跨越页面边界的页面。记录目标 k 下的召回率、页面编码吞吐量、原始和压缩后的索引大小,以及查询延迟。这些实测数据,比把 v1 token 价格套用到一个尚未通过该 API 售卖的模型上更有价值。

pplx-embed-v2-late PDF 检索常见问题

pplx-embed-v2-late 有 API 价格吗?

在本指南查阅的 Perplexity 公开 Embeddings API 文档中,还没有。已公布的每百万 token $0.004 至 $0.05 价格,适用于 v1 标准模型和上下文模型。

pplx-embed-v2-late 已正式发布吗?

是的。Perplexity 已在 Hugging Face 上发布 0.6B 和 9B 开放权重检查点。但模型权重发布与托管 API 可用是两个不同阶段。

PDF 检索需要 OCR 吗?

如果只看视觉检索信号,不需要。将每页渲染成图像,再作为文档进行编码即可。OCR 或提取文本仍然适合用于过滤、引用、无障碍访问和兜底搜索。

0.6B 模型能查询由 9B 构建的索引吗?

Perplexity 的模型卡表示,两个模型共享 embedding 空间,并支持这种组合方式。不过仍应在自己的语料库上测试效果,因为模型卡没有公布跨模型检索的性能差异。

文本页面和图像页面可以放在同一个 batch 中吗?

不可以。模型卡表示,同一个编码 batch 不支持混合文本和图像输入。文本编码和图像编码应分别使用同质输入。

还需要额外的 reranker 吗?

不一定。MaxSim 本身已经是 late-interaction 打分方式,但在大规模语料库中,使用 dense 第一阶段检索器,再通过 v2-late 重排,通常比扫描所有页面 token 向量更实际。

每页 PDF 的确切存储成本是多少?

Perplexity 没有公布 v2-late 的页面级存储计算器。应根据保留的页面 token 数量、向量精度、元数据和索引压缩方式进行估算,然后使用具有代表性的样本验证。

应该选 0.6B 还是 9B?

如果优先考虑离线索引质量,并且能够承担模型与索引任务的成本,就使用 9B。如果需要更小的部署,或者只想使用查询 encoder,可以选择 0.6B;它也适用于文档中介绍的共享空间方案,用来查询 9B 索引。两者的 benchmark 差距是可以测量的,但模型卡没有给出适用于所有场景的质量或延迟规则。

最终的判断其实很简单:如果你今天就需要一个价格明确的托管 Perplexity 端点,v2-late 还无法满足这一要求。如果你可以自托管,而且 PDF 中包含 OCR 或文本切块容易丢失的信息,就先渲染一组具有代表性的页面,在扩大规模之前完成 late-interaction 流程的 benchmark。