API de recherche : meilleure extraction, benchmarks dynamiques

La qualité des extraits de notre API de recherche a été optimisée selon deux dimensions : la pertinence et la taille.

En septembre, nous avons publié un aperçu technique de l'architecture de l'API de recherche de Perplexity et lancé search_evals, notre cadre d'évaluation open source pour l'analyse comparative des API de recherche dans les flux de travail agents. Depuis lors, notre investissement le plus significatif a porté sur la qualité des extraits, optimisée selon deux dimensions : la pertinence et la taille. Le retour du contenu approprié en quantité adéquate détermine directement la précision des réponses en aval et l'efficacité des jetons. Le travail nécessaire à cet effet a impliqué la création de nouveaux systèmes d'extraction, d'étiquetage au niveau des segments et d'évaluation, notamment un pipeline d'étiquetage de segments qui identifie les parties d'un document source répondant à une requête donnée.

Évaluation des extraits au niveau des segments

Pour améliorer systématiquement les extraits, nous avons conçu un nouveau système d'évaluation. Pour une requête et un document donnés, le système identifie et étiquette les segments au sein du document selon leur relation avec la requête : les segments « vitaux » qui doivent être inclus dans l'extrait, diverses catégories de segments « non pertinents » devant être exclus, les doublons et d'autres catégories. Cet étiquetage au niveau des segments nous permet d'évaluer la qualité des extraits avec un niveau de précision inédit, en mesurant à la fois ce qui a été correctement inclus et ce qui a été correctement omis.

En pratique, ces améliorations nous permettent de générer des extraits plus concis et plus pertinents par rapport à la requête. Notre pipeline de compréhension de contenu, qui s'auto-améliore, traite désormais une gamme plus large de formats de données structurées, y compris les tableaux, les listes imbriquées et le contenu généré dynamiquement que les règles précédentes ne parvenaient pas à analyser de manière fiable.

Ces améliorations sont issues de nos propres systèmes de production. À mesure que nos recherches internes faisaient progresser la pertinence et le dimensionnement des extraits, les évaluations internes ont révélé que des budgets de contenu plus réduits produisaient en réalité des résultats plus précis après une série d'améliorations de la qualité. Nous avons apporté des modifications à nos configurations par défaut pour refléter nos conclusions, réduisant la taille et la latence des charges utiles de réponse tout en fournissant un contenu plus utile par résultat. Pour les développeurs, des extraits plus petits et plus pertinents se traduisent directement par une réduction des coûts en jetons et une meilleure gestion du contexte pour les LLM en aval.

SEAL : analyse comparative de la recherche sensible au facteur temps

Le benchmark SEAL teste la capacité d'un système de recherche à répondre à des questions dont la réponse correcte évolue au fil du temps. Répondre de manière fiable exige la fraîcheur de l'index en temps réel, une extraction d'extraits plus intelligente à partir de diverses sources de données continuellement mises à jour, et une analyse capable d'identifier la valeur actuelle plutôt qu'une valeur historique.

Lorsque nous avons exécuté search_evals contre la version SEAL du 22 février en utilisant Claude Sonnet 4.5, les scores de Perplexity ont augmenté tandis que ceux des autres fournisseurs ont diminué sur SEAL-Hard :

Nous avons étendu notre cadre search_evals pour inclure SEAL aux côtés des benchmarks rapportés dans notre article de septembre. Les résultats et la méthodologie mis à jour sont disponibles dans le référentiel mis à jour sur GitHub.

Prise en charge multi-requêtes

L'API prend désormais en charge jusqu'à 5 requêtes dans une seule requête. Les résultats sont renvoyés groupés par requête dans l'ordre où ils ont été soumis. Cela réduit les allers-retours pour les applications qui doivent effectuer des recherches connexes en parallèle, comme les agents qui décomposent une question complexe en plusieurs sous-tâches de recherche.

Filtrage étendu

Outre le filtrage par domaine (liste d'autorisation et liste de refus, jusqu'à 20 domaines) et le filtrage de récence, l'API prend désormais en charge le filtrage par langue via le code ISO 639-1 et la recherche régionale par code pays ISO. Ceux-ci peuvent être combinés pour cibler précisément les résultats, par exemple en restreignant aux résultats en anglais provenant de domaines allemands.

SDK et disponibilité

Le SDK Python (pip install perplexityai) offre désormais une prise en charge native de l'API de recherche aux côtés de l'API Agent et de l'API Sonar.

La documentation complète est disponible sur docs.perplexity.ai