API de recherche : meilleure extraction, indices 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 Perplexity et lancé search_evals, notre cadre d'évaluation open source pour l'analyse comparative des API de recherche dans les flux de travail d'agents. Depuis lors, l'investissement le plus important a porté sur la qualité des extraits, optimisée selon deux dimensions : la pertinence et la taille. Le retour du bon contenu en quantité adéquate détermine directement la précision des réponses en aval et l'efficacité des jetons. Le travail pour y parvenir a nécessité la création de nouveaux systèmes d'extraction, de marquage au niveau des segments et d'évaluation, notamment un pipeline de marquage de segments qui identifie les parties d'un document source qui répondent à une requête donnée.

Évaluation des extraits au niveau des segments

Pour améliorer les extraits de manière systématique, nous avons conçu un nouveau système d'évaluation. Pour une requête et un document donnés, le système identifie et marque les segments du document selon leur relation avec la requête : les segments « vitaux » qui doivent être inclus dans l'extrait, diverses classes de segments « non pertinents » qui doivent être exclus, les doublons et d'autres catégories. Ce marquage au niveau des segments nous permet d'évaluer la qualité des extraits avec un degré de précision qui n'était pas possible auparavant, 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 petits et plus pertinents pour la requête. Notre pipeline de compréhension de contenu à auto-apprentissage prend désormais en charge un plus large éventail de formats de données structurées, notamment les tableaux, les listes imbriquées et le contenu rendu dynamiquement que les ensembles de règles précédents ne parvenaient pas à analyser de manière fiable.

Ces améliorations découlent de nos propres systèmes de production. Alors que notre recherche interne a fait progresser la pertinence et le dimensionnement des extraits, des évaluations internes ont révélé que des budgets de contenu plus restreints 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 de la charge utile de réponse et la latence 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

L'indice de référence SEAL teste si un système de recherche peut répondre à des questions dont la réponse correcte change au fil du temps. Pour répondre de manière fiable, il faut une fraîcheur de l'index en temps réel, une extraction d'extraits plus intelligente à partir de diverses sources de données mises à jour en continu, et une analyse capable d'identifier la valeur actuelle plutôt qu'historique.

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

Nous avons étendu notre cadre search_evals pour inclure SEAL aux côtés des indices de référence mentionnés dans notre publication de septembre. Les résultats mis à jour et la méthodologie sont disponibles dans le dépôt mis à jour sur GitHub.

Prise en charge de requêtes multiples

L'API prend désormais en charge jusqu'à 5 requêtes en une seule demande. 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 émettre des recherches associées en parallèle, comme les agents qui décomposent une question complexe en plusieurs sous-tâches de recherche.

Filtrage étendu

En plus du filtrage par domaine (liste blanche et liste noire, jusqu'à 20 domaines) et du filtrage par récence, l'API prend désormais en charge le filtrage par langue selon le code ISO 639-1 et la recherche régionale par code de pays ISO. Celles-ci peuvent être combinées pour cibler précisément les résultats, par exemple en limitant aux résultats en anglais provenant de domaines allemands.

Kit de développement (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 d'agent et de l'API Sonar.

La documentation complète est disponible à l'adresse docs.perplexity.ai