Search API: Bolja ekstrakcija, dinamički benchmark testovi
Kvalitet isečaka našeg Search API-ja optimizovan je u dve dimenzije: relevantnost i veličina.

U septembru smo objavili tehnički pregled arhitekture Perplexity Search API-ja i objavili search_evals, naš otvoreni (open-source) evaluacioni okvir za procenu pretrage API-ja u radnim tokovima agenata. Od tada, najznačajnija investicija je bila u kvalitet isečaka (snippet), optimizovan u dve dimenzije: relevantnost i veličina. Vraćanje pravog sadržaja u pravoj količini direktno određuje tačnost naknadnih odgovora i efikasnost tokena. Rad na postizanju tog cilja uključivao je izgradnju novih sistema za ekstrakciju, označavanje na nivou opsega (span-level) i evaluaciju, a najistaknutiji je cevovod za označavanje opsega koji identifikuje koji segmenti izvornog dokumenta odgovaraju datom upitu.
Evaluacija isečaka na nivou opsega
Da bismo sistematski poboljšali isečke, konstruisali smo novi sistem evaluacije. Za dati upit i dokument, sistem identifikuje i označava opsege unutar dokumenta prema njihovom odnosu sa upitom: "vitalni" opsezi koji moraju biti uključeni u isečak, različite klase "irelevantnih" opsega koje bi trebalo isključiti, duplikati i druge kategorije. Ovo označavanje na nivou opsega omogućava nam da procenimo kvalitet isečaka sa nivoom preciznosti koji ranije nije bio moguć, mereći i ono što je korektno uključeno i ono što je korektno izostavljeno.
U praksi, ova poboljšanja nam omogućavaju da generišemo manje isečke koji su relevantniji za upit. Naš cevovod za razumevanje sadržaja koji se samostalno unapređuje sada podržava širi spektar struktuiranih formata podataka, uključujući tabele, ugnježđene liste i dinamički renderovan sadržaj koji raniji skupovi pravila nisu mogli pouzdano da parsiraju.
Ova poboljšanja su proistekla iz naših sopstvenih produkcionih sistema. Kako su naša interna istraživanja unapređivala relevantnost i veličinu isečaka, interne evaluacije su pokazale da manji budžeti sadržaja zapravo daju preciznije rezultate nakon niza poboljšanja kvaliteta. Izvršili smo neke izmene na našim podrazumevanim konfiguracijama kako bismo odrazili naše nalaze, smanjujući veličinu tovara odgovora (payload) i kašnjenje, dok istovremeno isporučujemo korisniji sadržaj po rezultatu. Za programere, manji i relevantniji isečci direktno se prevode u niže troškove tokena i bolje upravljanje kontekstom za naknadne LLM modele.
SEAL: ocenjivanje pretrage osetljive na vreme
SEAL benchmark testira da li sistem za pretragu može da odgovori na pitanja čiji se tačni odgovori menjaju tokom vremena. Pouzdano odgovaranje zahteva svežinu indeksa u realnom vremenu, pametniju ekstrakciju isečaka iz različitih izvora podataka koji se kontinuirano ažuriraju, kao i parsiranje koje može identifikovati trenutnu vrednost umesto istorijske.
Kada smo pokrenuli search_evals protiv SEAL izdanja od 22. februara koristeći Claude Sonnet 4.5, Perplexity rezultati su porasli dok su drugi pružaoci usluga zabeležili pad na SEAL-Hard testu:
Proširili smo naš search_evals okvir tako da uključuje SEAL pored benchmark testova navedenih u našem septembarskom postu. Ažurirani rezultati i metodologija dostupni su u ažuriranom repozitorijumu na GitHub-u.
Podrška za više upita
API sada podržava do 5 upita u jednom zahtevu. Rezultati se vraćaju grupisani po upitima u istom redosledu kojim su poslati. Ovo smanjuje broj povratnih putovanja (round trips) za aplikacije koje moraju paralelno da šalju srodne pretrage, kao što su agenti koji složeno pitanje rastavljaju na više podzadatka pretrage.
Prošireno filtriranje
Pored filtriranja domena (lista dozvoljenih i lista blokiranih, do 20 domena) i filtriranja prema svežini, API sada podržava filtriranje jezika prema ISO 639-1 kodu i regionalnu pretragu prema ISO kodu zemlje. Oni se mogu kombinovati radi preciznog ograničavanja opsega rezultata, na primer ograničavanjem na rezultate na engleskom jeziku sa nemačkih domena.
SDK i dostupnost
Python SDK (pip install perplexityai) sada pruža izvornu podršku za Search API pored Agent API-ja i Sonar API-ja.
Kompletna dokumentacija se nalazi na docs.perplexity.ai