API за търсене: По-добро извличане, динамични бенчмаркове

Качеството на откъсите в нашия API за търсене е оптимизирано в две измерения: релевантност и размер.

През септември публикувахме технически преглед на архитектурата на API за търсене на Perplexity и пуснахме search_evals – нашия софтуерен рамков инструмент с отворен код за бенчмаркинг на API за търсене в работни процеси на агенти. Оттогава най-съществената инвестиция е в качеството на откъсите, оптимизирани в две измерения: релевантност и размер. Връщането на правилното съдържание в правилното количество определя пряко точността на отговорите надолу по веригата и ефективността на токените. Работата по постигането му включва изграждането на нови системи за извличане, етикетиране на ниво интервал и оценка, най-вече тръбопровод за етикетиране на интервали, който идентифицира кои сегменти от изходен документ отговарят на дадена заявка.

Оценка на откъсите на ниво интервал

За да подобрим откъсите систематично, разработихме нова система за оценка. За дадена заявка и документ системата идентифицира и етикетира интервали в рамките на документа според тяхното отношение към заявката: „жизненоважни“ интервали, които трябва да бъдат включени в откъса, различни класове „нерелевантни“ интервали, които трябва да бъдат изключени, дубликати и други категории. Това етикетиране на ниво интервал ни позволява да оценяваме качеството на откъсите с прецизност, която преди не беше възможна, измервайки както това, което е било правилно включено, така и това, което е било правилно пропуснато.

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

Тези подобрения се появиха от нашите собствени производствени системи. Тъй като вътрешните ни изследвания тласнаха напред релевантността и оразмеряването на откъсите, вътрешните оценки разкриха, че по-малките бюджети за съдържание всъщност дават по-точни резултати след поредица от подобрения на качеството. Направихме някои модификации на нашите конфигурации по подразбиране, за да отразíme нашите констатации, намалявайки размера на полезния товар на отговора и латентността, като същевременно доставяме по-полезно съдържание на резултат. За разработчиците по-малките и по-релевантни откъси се превръщат директно в по-ниски разходи за токени и по-добро управление на контекста за LLM надолу по веригата.

SEAL: бенчмаркинг на чувствително към времето извличане

Бенчмаркът SEAL тества дали дадена система за извличане може да отговаря на въпроси, чийто верен отговор се променя с времето. Надеждните отговори изискват свежест на индекса в реално време, по-интелигентно извличане на откъси от различни непрекъснато актуализирани източници на данни и парсиране, което може да идентифицира текущата стойност, а не историческата.

Когато пуснахме search_evals срещу изданието на SEAL от 22 февруари, използвайки Claude Sonnet 4.5, резултатите на Perplexity се увеличиха, докато тези на други доставчици намаляха на SEAL-Hard:

Разширихме нашата рамка search_evals, за да включим SEAL заедно с бенчмарковете, докладвани в нашата публикация от септември. Актуализираните резултати и методология са достъпни в актуализираното хранилище на GitHub.

Поддръжка на множество заявки

API вече поддържа до 5 заявки в една заявка. Резултатите се връщат групирани по заявка в същия ред, в който са били подадени. Това намалява кръговите пътувания за приложения, които трябва да издават свързани търсения паралелно, като например агенти, които разглобяват сложен въпрос на множество подзадачи за извличане.

Разширено филтриране

В допълнение към филтрирането на домейн (бял списък и черен списък, до 20 домейна) и филтрирането по актуалност, API вече поддържа филтриране по език по код по ISO 639-1 и регионално търсене по код на държава по ISO. Те могат да се комбинират за точно ограничаване на резултатите, например ограничаване до англоезични резултати от немски домейни.

SDK и наличност

Python SDK (pip install perplexityai) вече осигурява родна поддръжка за API за търсене наред с Agent API и Sonar API.

Пълната документация е на docs.perplexity.ai