Comment diagnostiquer une mauvaise qualité de recherche
Avant d'optimiser, établissez des lignes de base. Utilisez KNN exact comme référence, comparez-le avec HNSW approximatif. Ciblez >95% de recall@K en production.
Vous ne savez pas encore ce qui ne va pas
Utilisez quand : les résultats sont non pertinents ou les correspondances attendues manquent et vous devez isoler la cause.
- Testez avec
exact=truepour contourner l'approximation HNSW Search API - Recherche exacte mauvaise = problème de modèle ou pipeline de recherche. Exacte bonne, approximative mauvaise = ajustez HNSW.
- Vérifiez si la quantification dégrade la qualité (comparez avec et sans)
- Vérifiez si les filtres sont trop restrictifs (vous devrez peut-être utiliser ACORN)
- Si les résultats en doublons proviennent de documents fragmentés, utilisez l'API Grouping pour dédupliquer Grouping
Le filtrage de payload et la recherche en vecteurs creux sont des choses différentes. Les métadonnées (dates, catégories, tags) vont dans le payload pour le filtrage. Le contenu textuel va dans les vecteurs creux pour la recherche.
Recherche approximative pire que exacte
Utilisez quand : la recherche exacte retourne de bons résultats mais l'approximation HNSW les manque.
- Augmentez
hnsw_efau moment de la requête Search params - Augmentez
ef_construct(200+ pour haute qualité) HNSW config - Augmentez
m(16 par défaut, 32 pour haute recall) HNSW config - Activez l'oversampling + rescore avec quantification Search with quantization
- ACORN pour les requêtes filtrées (v1.16+) ACORN
La quantification binaire nécessite un rescore. Sans cela, la perte de qualité est sévère. Utilisez l'oversampling (minimum 3-5x pour le binaire) pour récupérer le recall. Testez toujours l'impact de la quantification sur vos données avant la production. Quantization
Mauvais modèle d'embedding
Utilisez quand : la recherche exacte retourne aussi de mauvais résultats.
Consultez les recommandations de l'équipe Qdrant sur comment choisir un modèle d'embedding.
Testez les 3 meilleurs modèles MTEB sur 100-1000 requêtes d'échantillon. Hosted Qdrant inference
Pipeline de recherche non optimisé
Utilisez quand : la recherche exacte retourne aussi de mauvais résultats et le choix du modèle est confirmé par l'utilisateur.
Optimisez la recherche selon la skill advanced search-strategies.
Ce qu'il NE FAUT PAS faire
- Ajuster Qdrant avant de vérifier que le modèle convient à la tâche (la plupart des problèmes de qualité sont des problèmes de modèle)
- Utiliser la quantification binaire sans rescore (perte de qualité sévère)
- Définir
hnsw_efinférieur aux résultats demandés (recall médiocre garanti) - Ignorer les index de payload sur les champs filtrés puis blâmer la qualité (HNSW ne peut pas traverser les nœuds filtrés, et HNSW filtrable ne se construit que si les index de payload ont été configurés avant)
- Déployer sans baseline de recall ou autres métriques de pertinence de recherche (impossible de mesurer les régressions)
- Confondre le filtrage de payload avec la recherche en vecteurs creux (choses différentes, config différente)