AIREITER

Цены API для pplx-embed-v2-late и настройка поиска по PDF

Последнее обновление: 2026-10-07 19:21:18

Если вы рассчитываете бюджет системы поиска по PDF на базе pplx-embed-v2-late, здесь легко упустить главное: Perplexity открыла веса моделей, но пока не объявила цену API для v2-late и не добавила эти модели в публичный каталог Embeddings API. На практике сейчас остается самостоятельный запуск мультимодального поиска, а действующие цены API для v1 можно использовать только как ориентир.

Главное о цене: v2-late пока нет в публичном тарифе Embeddings API

По состоянию на 7 октября 2026 года в официальном руководстве по запуску Embeddings API указаны четыре модели v1. pplx-embed-v2-late-0.6b и pplx-embed-v2-late-9b там отсутствуют, поэтому обоснованно рассчитать стоимость v2-late за токен пока невозможно.

Модель Perplexity, указанная в документации APIЦена за 1 млн токеновПредполагаемый тип входных данных
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, плотные и контекстные эмбеддинги будут постепенно появляться на API Platform. Это лишь заявление о планах вывода, а не подтверждение работающего эндпоинта v2-late или фиксированной цены.

Для расчета бюджета разделите расходы на две части:

  1. Расходы на управляемый API: доступны для перечисленных выше моделей v1; тариф для v2-late не опубликован.
  2. Расходы на самостоятельный запуск: время работы GPU, рендеринг страниц, хранение моделей, хранение токен-векторного индекса и обслуживание запросов для v2-late.

Не умножайте цену v1 на число страниц в PDF, выдавая результат за расчет стоимости v2-late. У моделей разные способы представления данных, а API v1 предназначен для текстовых эмбеддингов, а не для описанного сценария с отрендерированными страницами.

Что именно предлагает pplx-embed-v2-late

Perplexity публикует две модели с late interaction: pplx-embed-v2-late-0.6b и pplx-embed-v2-late-9b. Согласно карточке модели 9B, у младшей модели 340M активных параметров, а у старшей — 7.4B. Обе создают 128-мерные векторы для каждого токена и используют MaxSim, не сводя всю страницу к одному вектору.

МодельАктивные параметрыViDoRe v3 image nDCG@10ViDoRe v3 Markdown nDCG@10Практическая роль
pplx-embed-v2-late-0.6b340M62.3%61.2%Более легкая модель для запросов или компактного развертывания
pplx-embed-v2-late-9b7.4B65.2%64.7%Модель для более качественной индексации и поиска

Показатели взяты из карточки модели, а не из независимого теста на PDF: модель 9B опережает младшую на 2.9 процентного пункта в поиске по изображениям и на 3.5 пункта в поиске по Markdown, используя примерно в 21.8 раза больше активных параметров. Обе модели распространяются на Hugging Face по лицензии MIT.

Ключевая деталь для развертывания — общее пространство эмбеддингов: Perplexity утверждает, что индекс, построенный моделью 9B, можно запрашивать с помощью модели 0.6B. Используйте 9B для офлайн-кодирования документов, а 0.6B — только для запросов, предварительно проверив полноту поиска между моделями. Это не отменяет необходимости хранить индекс, построенный с помощью 9B.

Рабочая схема поиска по PDF

В сценарии v2-late каждая отрендеренная страница PDF рассматривается как графический документ. Затем текстовый запрос может сопоставляться со словами на странице, структурой таблицы, графиком или компоновкой без использования OCR в качестве основного поискового представления. Такой подход к визуальным документам описан в документации Sentence Transformers по визуальному поиску.

«Без OCR» означает, что распознанный текст не используется как поисковой сигнал. При этом извлеченный текст по-прежнему пригодится для фильтрации, цитирования, доступности и резервного поиска.

1. Отрендерьте страницы и сохраните метаданные

Преобразуйте каждую страницу в RGB-изображение с фиксированным разрешением и сохраните рядом отдельную запись:

ПолеПример
document_idcontract-2026-04
page_number17
image_pathpages/contract-2026-04/017.png
source_uriВнутренний URL объекта PDF
text_fallbackНеобязательный извлеченный текст

Храните document_id и page_number в записи поискового результата, а не только в имени файла изображения. Когда нужная страница найдена, запрашивайте соседние страницы того же документа: таблица, сноска или определение нередко переходят через границу страниц.

2. Установите совместимый энкодер

Для модели 9B в карточке указаны свежие версии библиотек:

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

В примере авторы используют MultiVectorEncoder, а для загрузки чекпойнта 9B в карточке модели выбирается CUDA:

from PIL import Image
from sentence_transformers import MultiVectorEncoder

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

Если доступного оборудования недостаточно для старшей модели, используйте идентификатор 0.6B. В карточке модели не указаны официальные минимальные требования к VRAM, таблица производительности или гарантии по задержке, поэтому перед планированием инфраструктуры измерьте работу на своем разрешении страниц, размере батча и 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)

Не объединяйте текстовые и графические документы в один смешанный батч. В карточке модели отдельно указаны однородные входные данные и конфигурация с маркерами [Q] / [D] , ожидаемая этим чекпойнтом. Метод model.similarity() применяет MaxSim к токеновым представлениям.

Для реальной коллекции кодируйте страницы офлайн, сохраняйте многовекторное представление в индексе с поддержкой late interaction, а метаданные страниц держите в отдельном хранилище. Для небольшой коллекции подойдет полный перебор. При большом масштабе используйте систему с поддержкой MaxSim либо сначала отбирайте кандидатов плотным поиском, а затем переранжируйте ограниченный набор с помощью v2-late.

4. Находите страницы и расширяйте контекст найденного фрагмента

Результат поиска по странице обычно должен включать:

  1. Найденную страницу и ее оценку.
  2. ID документа и ссылку на источник.
  3. Одну или две соседние страницы того же документа.
  4. Изображение страницы и, при наличии, извлеченный текст для цитирования.

Так визуально точное совпадение не превращается в неполный ответ, когда определение начинается на странице 16, а таблица продолжается на странице 17. Кроме того, результат можно проверить глазами: пользователь видит график или таблицу, которые привели к совпадению, а не полагается на скрытое преобразование OCR.

Модель расходов помимо оплаты API за токены

Публичной цены API для v2-late нет, поэтому напрямую сравнить ее с четырьмя тарифами v1 невозможно. На практике стоимость определяется параметрами развертывания, для которых в карточке модели цены не указаны.

Статья расходовЧто подтвержденоЧто учитывать при планировании
Веса моделиРепозиторий 9B на Hugging Face занимает около 33.6 GB и содержит тензоры F32Еще до начала индексации потребуются заметные ресурсы для хранения и загрузки весов
Представление данныхПо одному 128-мерному вектору на токен, оценка выполняется через MaxSimСтраница порождает множество векторов, а не один плотный вектор
Индексация9B может построить индекс, который затем запрашивается моделью 0.6BПри большом числе запросов более тяжелую обработку стоит вынести в офлайн-задачу
ПоискLate interaction сопоставляет токены запроса с токенами документаНужен индекс с поддержкой MaxSim или предварительное ограничение числа кандидатов
Оплата APIТариф для v2-late не опубликованПока не стоит прогнозировать расходы на управляемый API

В руководстве Hugging Face по late interaction есть полезный ориентир по масштабу на примере другой модели: коллекция из 4,874 фрагментов породила 608,414 токен-векторов и заняла 311.5 MB в виде необработанных данных float32, а сжатый индекс PLAID — 92 MB. Это не расчет для v2-late, но пример хорошо показывает, почему «128 измерений» не означает «маленький индекс». Главный множитель — количество токенов.

Производительность индексации тоже нужно измерять на собственном оборудовании. В отчете пользователя на LocalLLaMA указано, что pplx-embed-v1-4b обрабатывала 10,000 векторов примерно за 45 минут, тогда как Qwen3-Embedding-4B — за 6 минут на A100 80GB. Этот отчет относится к v1, а не к v2-late, поэтому его следует воспринимать как предупреждение о необходимости измерять производительность эмбеддингов Perplexity, а не как показатель скорости v2-late.

«Думаю, причина может быть в том, что pplx embed использует двунаправленное внимание, а не стандартное маскированное внимание». — u/Velocita84, r/LocalLLaMA

Какой вариант развертывания выбрать?

ТребованиеОптимальный вариант на сегодняПочему
Недорогой текстовый RAG с управляемым эндпоинтомAPI Perplexity v1Опубликованные цены составляют от $0.004 до $0.05 за 1 млн токенов
Важны графики, таблицы, сканы и компоновка страницСамостоятельный запуск pplx-embed-v2-lateДокументированный сценарий напрямую ищет по отрендерированным страницам
Большой корпус и частые запросыОфлайн-индекс на 9B плюс энкодер запросов 0.6B либо плотный поиск с последующим переранжированием v2-lateКачество индексации отделяется от вычислительной нагрузки на этапе запроса
Небольшой прототип или ограниченное оборудованиеЧекпойнт 0.6B на репрезентативной выборке страницМеньше активных параметров, но скорость кодирования страниц и объем хранилища все равно нужно измерить
Обязателен управляемый эндпоинт v2-lateДождаться официального ID модели API и тарифаВ текущей публичной документации по эмбеддингам нет ни того, ни другого

Я бы начал с прототипа на 0.6B и 9B, проверив работу между моделями на 100–500 репрезентативных страницах, прежде чем строить полный индекс. В выборку стоит включить сканы, таблицы, многоколоночные макеты и страницы, на которых ответ пересекает границу. Зафиксируйте полноту поиска при целевом значении k, скорость кодирования страниц, размер исходного и сжатого индекса и задержку запроса. Эти данные полезнее, чем переносить цену токена v1 на модель, которая пока не продается через этот API.

Частые вопросы о поиске по PDF с pplx-embed-v2-late

Есть ли у pplx-embed-v2-late цена API?

В публичной документации Perplexity Embeddings API, проверенной для этого руководства, такой цены нет. Опубликованные тарифы от $0.004 до $0.05 за миллион токенов относятся к стандартным и контекстным моделям v1.

Выпущена ли pplx-embed-v2-late официально?

Да. Perplexity публикует на Hugging Face открытые чекпойнты 0.6B и 9B. Публикация весов и доступность управляемого API — разные этапы.

Нужен ли OCR для поиска по PDF?

Нет, если речь идет о визуальном поисковом сигнале. Отрендерите каждую страницу как изображение и закодируйте ее как документ. OCR или извлеченный текст по-прежнему полезны для фильтрации, цитирования, доступности и резервного поиска.

Может ли модель 0.6B запрашивать индекс, построенный на 9B?

В карточке модели Perplexity сказано, что модели используют общее пространство эмбеддингов и поддерживают такую схему. Однако качество нужно проверить на собственном корпусе: в карточке нет показателя изменения качества при работе между моделями.

Можно ли отправлять текстовые и графические страницы в одном батче?

Нет. В карточке модели указано, что смешанные текстовые и графические входные данные не поддерживаются в одном батче кодирования. Вызовы для текста и изображений должны оставаться однородными.

Нужен ли дополнительный reranker?

Не обязательно. MaxSim уже используется как метод оценки в late interaction, но на большом корпусе может оказаться практичнее сначала выполнять плотный поиск, а затем переранжировать результаты с помощью v2-late, чем просматривать векторы каждого токена каждой страницы.

Сколько точно места занимает одна страница PDF?

Perplexity не публикует калькулятор хранения страниц для v2-late. Оцените объем по числу сохраняемых токенов страницы, точности векторов, метаданным и степени сжатия индекса, а затем проверьте расчет на репрезентативной выборке.

Что выбрать: 0.6B или 9B?

Выбирайте 9B, если приоритетом является качество офлайн-индексации и у вас есть ресурсы на модель и задачу индексации. 0.6B подойдет для более компактного развертывания или в качестве энкодера запросов, в том числе в описанной схеме с общим пространством и индексом 9B. Разрыв в бенчмарках заметен, но карточка модели не дает универсального правила по качеству или задержке.

Решение можно принять по простой проверке: если вам нужен управляемый эндпоинт Perplexity с известной ценой уже сегодня, v2-late пока не подходит под это требование. Если вы готовы запускать модель самостоятельно, а в PDF есть информация, которую теряют OCR или разбиение текста на фрагменты, отрендерьте репрезентативную выборку страниц и протестируйте конвейер с late interaction до масштабирования.