Search API: Боља екстракција, динамички бенчмаркови

Квалитет исечака нашег Search API-ја оптимизован је у две димензије: релевантност и величина.

У септембру смо објавили технички преглед архитектуре Perplexity Search API-ја и издали search_evals, наш отворени оквир за евалуацију за упоређивање претраживачких API-ја у токовима рада агента. Од тада, најзначајнија улагања су усмерена на квалитет исечака, оптимизован у две димензије: релевантност и величину. Враћање правог садржаја у правој количини директно одређује тачност накнадних одговора и ефикасност токена. Рад на томе је укључивао изградњу нових система за екстракцију, обележавање на нивоу распона и евалуацију, а посебно цевовод за обележавање распона који идентификује који сегменти изворног документа одговарају датом упиту.

Евалуација исечака на нивоу распона

Да бисмо систематски побољшали исечке, конструисали смо нови систем евалуације. За дати упит и документ, систем идентификује и обележава распоне унутар документа према њиховом односу према упиту: „витални“ распони који морају бити укључени у исечак, различите класе „нерелевантних“ распона које треба искључити, дупликати и друге категорије. Ово обележавање на нивоу распона нам омогућава да проценимо квалитет исечака са прецизношћу која раније није била могућа, мерећи и шта је исправно укључено и шта је исправно изостављено.

У пракси нам ова побољшања омогућавају да генеришемо мање исечке који су релевантнији за упит. Наш цевовод за разумевање садржаја који се самостално усавршава сада подржава шири опсег форматираних структуираних података, укључујући табеле, угнежђене листе и динамички приказани садржај који претходна правила нису успевала поуздано да анализирају.

Ова побољшања су произашла из наших сопствених продукцијских система. Како је наше интерно истраживање покретало релевантност и величину исечака напред, интерне евалуације су показале да мањи буџети садржаја заправо дају тачније резултате након серије побољшања квалитета. Направили смо извесне измене у нашим подразумеваним конфигурацијама како бисмо одразили наше налазе, смањујући величину и кашњење корисног терета одговора уз испоруку кориснијег садржаја по резултату. За програмере, мањи, релевантнији исечци се директно преводе у ниže трошкове токена и боље управљање контекстом за накнадне 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) сада пружа изворну подршку за Search API поред Agent API-ја и Sonar API-ја.

Комплетна документација је на адреси docs.perplexity.ai