Search API: Lepší extrakce, dynamické benchmarky

Kvalita úryvků našeho Search API byla optimalizována ve dvou dimenzích: relevance a velikost.

V září jsme publikovali technický přehled architektury API Perplexity Search a vydali search_evals, náš open-source evaluační rámec pro benchmarking vyhledávacích API v pracovních postupech agentů. Od té doby byla nejvýznamnější investice směřována do kvality úryvků, optimalizované ve dvou dimenzích: relevance a velikost. Vrácení správného obsahu v‟e správném množství přímo určuje přesnost následných odpovědí a efektivitu tokenů. Práce vedoucí k tomuto cíli zahrnovala vytváření nových systémů pro extrakci, značkování na úrovni úseků a vyhodnocování, nejvýrazněji pak kanálu pro značkování úseků, který identifikuje, které segmenty zdrojového dokumentu odpovídají danému dotazu.

Vyhodnocování úryvků na úrovni úseků

K systémovému vylepšení úryvků jsme navrhli nový evaluační systém. Pro daný dotaz a dokument systém identifikuje a označuje úseky v rámci dokumentu podle jejich vztahu k dotazu: "životně důležité" úseky, které musí být v úryvku obsaženy, různé třídy "irelevantních" úseků, které by měly být vyloučeny, duplikáty a další kategorie. Toto značkování na úrovni úseků nám umožňuje vyhodnocovat kvalitu úryvků s úrovní přesnosti, která dříve nebyla možná, a měřit jak to, co bylo správně zahrnuto, tak to, co bylo správně vynecháno.

V praxi nám tato vylepšení umožňují generovat menší úryvky, které jsou pro dotaz relevantnější. Náš samo-zdokonalující se kanál porozumění obsahu nyní zvládá širší škálu formátů strukturovaných dat, včetně tabulek, vnnořených seznamů a dynamicky vykresleného obsahu, které dřívější sady pravidel nedokázaly spolehlivě parsovat.

Tato vylepšení vzešla z našich vlastních produkčních systémů. Jak náš interní výzkum posouval relevanci úryvků a velikost kupředu, interní hodnocení odhalila, že menší rozpočty na obsah ve skutečnosti přinesly po sérii vylepšení kvality přesnější výsledky. Provedli jsme některé úpravy našich výchozích konfigurací, abychom odrazili naše zjištění, čímž jsme snížili velikost datové zprávy odpovědi a latenci a zároveň dodali užitečnější obsah na výsledek. Pro vývojáře se menší a relevantnější úryvky přímo promítají do nižších nákladů na tokeny a lepší správy kontextu pro následné modely LLM.

SEAL: benchmarking vyhledávání citlivého na čas

Benchmark SEAL testuje, zda systém vyhledávání dokáže odpovídat na otázky, jejichž správná odpověd se v čase mění. Spolehlivé zodpovídání vyžaduje čerstvost indexu v reálném čase, chytřejší extrakci úryvků z různých průběžně aktualizovaných zdrojů dat a parsování, které dokáže identifikovat aktuální hodnotu namísto historické.

Když jsme spustili search_evals proti vydání SEAL z 22. února pomocí Claude Sonnet 4.5, skóre Perplexity vzrostlo, zatímco ostatní poskytovatelé na SEAL-Hard klesli:

Rozšířili jsme náš rámec search_evals tak, aby kromě benchmarků uvedených v našem zářijovém příspěvku zahrnoval i SEAL. Aktualizované výsledky a metodologie jsou k dispozici v aktualizovaném úložišti na GitHubu.

Podpora více dotazů

API nyní podporuje až 5 dotazů v jednom požadavku. Výsledky jsou vráceny seskupené podle dotazů ve stejném pořadí, v jakém byly odeslány. To snižuje počet zpátečních cest pro aplikace, které potřebují zadávat související vyhledávání paralelně, jako jsou agenti, kteří rozkládají složitou otázku na více dílčích úkolů vyhledávání.

Rozšířené filtrování

Kromě filtrování domén (seznam povolených a zakázaných položek, až 20 domén) a filtrování podle aktuálnosti nyní API podporuje filtrování jazyka podle kódu ISO 639-1 a regionální vyhledávání podle kódu země ISO. Ty lze kombinovat pro přesné vymezení výsledků, například omezení na výsledky v angličtině z německých domén.

SDK a dostupnost

Python SDK (pip install perplexityai) nyní poskytuje nativní podporu pro Search API vedle Agent API a Sonar API.

Úplná dokumentace je na docs.perplexity.ai