Perplexity разработала Photon — собственный движок поиска и ранжирования веб-страниц, который теперь обслуживает поисковый конвейер компании. На его основе запустили быстрый режим Search API для ИИ-агентов: он снижает задержку и стоимость поиска, но немного уступает стандартному режиму по релевантности результатов.
Photon заменил адаптированный open-source движок, который перестал справляться с растущим индексом и нагрузкой. По данным Perplexity, новый движок сократил задержку на 99-м перцентиле примерно с 800 до 65 мс.
Как устроен Photon
В основе Photon — инвертированный индекс: для каждого слова хранится список документов, в которых оно встречается. Короткие списки размещаются непосредственно в индексе, длинные делятся на блоки и хранятся в виде разреженных массивов или битовых карт.
Для ранжирования используется отдельная компактная запись документа с частотами слов, их позициями и полями, в которых они встречаются. Благодаря этому движку не приходится распаковывать все данные целиком: он извлекает только то, что нужно для конкретного запроса.
Кандидатов отбирает алгоритм, похожий на WAND, который позволяет пропускать документы, заведомо не способные попасть в итоговую выдачу. Данные читаются асинхронно, а индекс строится отдельно от обработки запросов. Это помогает уменьшить задержки при работе с диском и обновлении поисковой базы.
Photon хранит примерно в 2,5 раза больше данных на документ и использует примерно на 20% меньше серверов для обслуживания запросов, чем прежняя система.
Скорость в ущерб качеству
Новый движок стал основой быстрого режима Search API, рассчитанного на агентов, которым приходится часто обращаться к поиску в ходе выполнения задачи.
По данным Perplexity, медианная задержка одного поискового вызова составляет 160 мс, а 95% вызовов укладываются в 230 мс.
На 3554 задачах из шести агентных бенчмарков быстрый режим набрал 64,3% при оценочной стоимости модели и поиска $59,73. Стандартный режим получил 64,0%, но обошёлся в $187,60 на том же наборе задач. Расчётная экономия составила около 68%.
За снижение стоимости приходится платить качеством отдельных результатов. Во внутренних тестах Perplexity метрика релевантности DCG снизилась с 2,45 до 2,21, а доля запросов, для которых в найденных страницах присутствовал ответ, — с 59,6% до 56,7%.
Быстрый режим логичнее использовать в типовых агентных сценариях, где важны скорость и стоимость множества запросов. Для сложного исследования, требующего широкого охвата источников, стандартный поиск может оказаться предпочтительнее.
Источник: habr.com