Search API: Migliore estrazione, benchmark dinamici

La qualità degli snippet della nostra Search API è stata ottimizzata lungo due dimensioni: pertinenza e dimensioni.

A settembre, abbiamo pubblicato una panoramica tecnica dell'architettura delle API di ricerca di Perplexity e rilasciato search_evals, il nostro framework di valutazione open source per il benchmarking delle API di ricerca nei flussi di lavoro basati su agenti. Da allora, l'investimento più significativo è stato rivolto alla qualità degli snippet, ottimizzata lungo due dimensioni: pertinenza e dimensioni. Restituire il contenuto giusto nella quantità giusta determina direttamente l'accuratezza della risposta a valle e l'efficienza dei token. Il lavoro svolto ha comportato la creazione di nuovi sistemi per l'estrazione, l'etichettatura a livello di span e la valutazione, in particolare una pipeline di etichettatura degli span che identifica quali segmenti di un documento sorgente rispondono a una determinata query.

Valutazione degli snippet a livello di span

Per migliorare gli snippet in modo sistematico, abbiamo progettato un nuovo sistema di valutazione. Per una determinata query e un documento, il sistema identifica ed etichetta gli span all'interno del documento in base alla loro relazione con la query: span "vitali" che devono essere inclusi nello snippet, varie classi di span "irrilevanti" che dovrebbero essere esclusi, duplicati e altre categorie. Questa etichettatura a livello di span ci consente di valutare la qualità degli snippet con un livello di precisione precedentemente impossibile, misurando sia ciò che è stato incluso correttamente sia ciò che è stato omesso correttamente.

In pratica, questi miglioramenti ci consentono di generare snippet più piccoli e più pertinenti alla query. La nostra pipeline di comprensione dei contenuti, che si auto-migliora, ora gestisce una gamma più ampia di formati di dati strutturati, inclusi tabelle, elenchi nidificati e contenuti renderizzati dinamicamente che i set di regole precedenti non riuscivano a analizzare in modo affidabile.

Questi miglioramenti sono emersi dai nostri sistemi di produzione. Poiché la nostra ricerca interna ha guidato il progresso della pertinenza e del dimensionamento degli snippet, le valutazioni interne hanno rivelato che budget di contenuto più piccoli producevano effettivamente risultati più accurati dopo una serie di miglioramenti della qualità. Abbiamo apportato alcune modifiche alle nostre configurazioni predefinite per riflettere i nostri risultati, riducendo le dimensioni del payload di risposta e la latenza, fornendo al contempo contenuti più utili per risultato. Per gli sviluppatori, snippet più piccoli e più pertinenti si traducono direttamente in costi di token inferiori e una migliore gestione del contesto per gli LLM a valle.

SEAL: benchmarking del recupero sensibile al tempo

Il benchmark SEAL verifica se un sistema di recupero è in grado di rispondere a domande la cui risposta corretta cambia nel tempo. Rispondere in modo affidabile richiede la freschezza dell'indice in tempo reale, un'estrazione più intelligente degli snippet da varie fonti di dati continuamente aggiornate e un'analisi in grado di identificare il valore corrente piuttosto che quello storico.

Quando abbiamo eseguito search_evals contro il rilascio SEAL del 22 febbraio utilizzando Claude Sonnet 4.5, i punteggi di Perplexity sono aumentati mentre altri fornitori sono diminuiti su SEAL-Hard:

Abbiamo esteso il nostro framework search_evals per includere SEAL insieme ai benchmark riportati nel nostro post di settembre. I risultati e la metodologia aggiornati sono disponibili nel repository aggiornato su GitHub.

Supporto multi-query

L'API ora supporta fino a 5 query in una singola richiesta. I risultati vengono restituiti raggruppati per query nello stesso ordine in cui sono stati inviati. Ciò riduce i round trip per le applicazioni che devono eseguire ricerche correlate in parallelo, come gli agenti che scompongono una domanda complessa in più sottocompiti di recupero.

Filtro esteso

Oltre al filtro di dominio (allowlist e denylist, fino a 20 domini) e al filtro di recenza, l'API ora supporta il filtro della lingua tramite codice ISO 639-1 e la ricerca regionale tramite codice paese ISO. Questi possono essere combinati per definire i risultati con precisione, ad esempio limitandosi ai risultati in lingua inglese da domini tedeschi.

SDK e disponibilità

L' SDK Python (pip install perplexityai) ora fornisce supporto nativo per Search API insieme ad Agent API e Sonar API.

La documentazione completa è disponibile su docs.perplexity.ai