[!NOTE] Traduction automatique Cet article a été traduit automatiquement depuis la version originale en anglais.

Meilleure pile de classement de recherche pour les produits AI

Une bonne pile de recherche fonctionne comme un entonnoir. Les méthodes peu coûteuses permettent d’abord de recueillir un ensemble large de candidats ; les méthodes coûteuses viennent ensuite affiner cet ensemble bien plus restreint. Les problèmes surviennent souvent lorsque les équipes remplacent la recherche par texte exact par embeddings au lieu de combiner les deux approches.

Commencez par des filtres ainsi que par BM25, une méthode de classement basée sur du texte exact très performante. Ajoutez ensuite une récupération dense afin de trouver des correspondances sémantiques, puis fusionnez les deux listes de résultats à l’aide de Reciprocal Rank Fusion (RRF) ou d’une méthode similaire. Réclassez la liste finale à l’aide d’un encodeur croisé. Utilisez un LLM uniquement pour un petit ensemble final dont la qualité supplémentaire justifie le temps de traitement et les coûts supplémentaires.

Stack recommandé

ÉtapePar défautTâche
FiltrageFiltres structurésAppliquer les contraintes relatives au tenant, aux permissions, au produit, à la langue, à l’heure et à la disponibilité.
Recherche lexicaleBM25Noms exacts, identifiants, codes d’erreur, termes juridiques et tokens à haute précision.
Recherche denseEmbeddingsSynonymes, paraphrases, intention floue et rappel sémantique.
FusionFusion de rangs réciproques ou composition de récupérateurs pondérésFoncer la fusion des candidats spars et denses sans prétendre que leurs scores sont comparables.
RerankingEncodage croiséRéordonner de 20 à 100 candidats en fonction de leur interaction avec la requête et le document.
Précision finaleLLM reranker ou modèle de réponseNe résoudre la détermination de la pertinence nuancée qu’après que la liste ait été réduite.
ÉvaluationVeuillez démontrer que chaque étape améliore la précédente.

Valeurs par défaut des cas d’usage

Surface du produitBon paramètre par défautPourquoi
Recherche de documentationBM25 plus embeddings plus encodeur croiséLes noms exacts API ainsi que les questions sémantiques revêtent une importance égale.
RAG récupérationRecherche hybride associée à reranker ainsi qu’à des vérifications de citationL’absence de preuves est généralement plus problématique que une génération lente.
Recherche de produitsFiltres lexicaux associés à une recherche hybride ainsi qu’à des fonctionnalités métierLa disponibilité, le prix, la popularité ainsi que les facettes précises jouent un rôle essentiel.
Gestion de la rechercheRecherche hybride couplée à la fraîcheur des données et aux métadonnées des ticketsDes formulations similaires et la politique en vigueur sont toutes deux importantes.
Base de connaissances interneBaseline BM25, suivi d’une récupération dense à partir des journaux de requêtesCommencez par mesurer les performances avant d’ajouter des coûts liés au modèle.
Recherche juridique ou de conformitéUne base lexicale de référence associée à des filtres stricts, suivie d’une expansion sémantique méticuleuseLes faux positifs et les faux négatifs entraînent tous deux des coûts élevés.

Pourquoi BM25 reste pertinent dans l’ensemble des outils d’indexation

Embeddings permet de localiser du texte ayant une signification similaire, sans pour autant remplacer de manière fiable une correspondance exacte. Les codes d’erreur, les noms de fonctions, les références SKU des produits, les formulations juridiques ainsi que les noms de personnes transmettent souvent leur intention grâce à leur orthographe précise. BM25 reste donc une base solide, puisqu’il récompense les termes que l’utilisateur a effectivement saisis.

La récupération dense améliore le taux de rappel lorsque les utilisateurs ne connaissent pas le vocabulaire exact. Le modèle approprié n’est ni BM25 ni embeddings. Utilisez BM25 pour le rappel lexical, embeddings pour le rappel sémantique, et une fusion pour les combiner.

Quand ajouter un reranker

Ajoutez un cross-encodeur lorsque les documents pertinents figurent dans le top 50 mais pas en tête de liste. C’est le signe le plus clair que la génération de candidats fonctionne correctement et que le classement nécessite une correction.

Ne pas ajouter un LLM reranker devant un cross-encoder sauf si l’ensemble des candidats est très restreint. De plus, il nécessite un jugement de pertinence suffisamment fin pour justifier les coûts associés. LLM reranking peuvent être utiles, mais ils sont coûteux et plus lents. Il convient de les comparer à un reranker moins cher.

Séquence d’évaluation

  1. Étiqueter un petit ensemble de requêtes réelles.
  2. Mesurer uniquement le score BM25.
  3. Intégrer une récupération dense et évaluer la variation du taux de rappel.
  4. Ajouter une fusion des résultats et mesurer le nDCG ainsi que le Recall@k.
  5. Incorporer un encodeur croisé reranking et évaluer la précision à un niveau de confiance de 1 ainsi que le nDCG.
  6. Ajouter LLM reranking uniquement si cela améliore la qualité après prise en compte des coûts et de la latence.
  7. Surveiller les métriques en environnement de production : taux de résultats nuls, taux de reformulation, taux de clics, correction des réponses, latence p95 et coûts.

Lecture approfondie

Références