Accueil / Articles / Notes pratiques : Recherche sémantique vs recherche vectorielle : quelle est la différence, et

Notes pratiques : Recherche sémantique vs recherche vectorielle : quelle est la différence, et

Guide opérationnel des notes pratiques : Recherche sémantique vs recherche vectorielle : quelle est la différence, ainsi que les contrats, vérifications et emplacements de code prêts à l’emploi pour les équipes qui implémentent ce modèle.

3159 mots

Ce guide reconstitue le parcours allant des matières premières à un système fonctionnel pour : Recherche sémantique vs recherche vectorielle : quelle est la différence, et quel est leur rôle dans RAG ? L’accent est mis sur des étapes opérationnelles, des vérifications explicites, ainsi que du code que vous pouvez intégrer directement dans un dépôt sans devoir deviner l’intention derrière lui. Pour l’étape d’aperçu, définissez les entrées, le responsable de l’étape et les critères d’achèvement avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu, sans avoir à deviner l’état caché. Préférez des unités petites et testables plutôt que des scripts complexes. Lorsqu’une étape échoue, l’échec doit indiquer une seule responsabilité et non un processus embrouillé.

1. Commencez par le modèle mental le plus simple

Lorsque vous travaillez sur l’étape 1 « Commencer par », notez d’abord le contrat : les entrées requises, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de rester honnête lors des modifications ultérieures du code. Considérez cette étape comme un contrat entre les entrées et les sorties validées. Donnez des noms aux artefacts, définez des vérifications de succès et refusez les terminations partielles silencieuses. Cachez les instructions du système stable ainsi que les schémas des outils. L’envoi répété d’un préambule identique est une source fréquente de problèmes.

Recherche par mot-clé

Lors de la phase de recherche par mots-clés, notez d’abord les exigences du contrat : données requises, signal de succès et conséquences en cas d’échec partiel. Cette liste de contrôle permet de rester honnête lors des modifications ultérieures du code. Enregistrez les temps d’exécution ainsi que le coût des tokens ou des requêtes à côté des résultats fonctionnels. Une visibilité précoce des coûts évite les factures inattendues lorsque le système passe de l’environnement de démonstration à des environnements partagés. Mesurez le taux de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Changer fréquemment les prompts ne résout que rarement un système de récupération insuffisant.

Recherche vectorielle

Lors du travail sur l’étape de recherche vectorielle, écrivez d’abord le contrat : les entrées requises, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de garantir l’honnêteté des modifications ultérieures du code. Conservez la configuration en dehors du code de l’application. Les fichiers d’environnement, les bases de données secrètes et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les opérateurs peuvent auditer sans devoir lire l’ensemble du système. Mesurez le taux de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Un changement fréquent des prompts ne résout que rarement un système de récupération insuffisant. Lors du travail sur l’étape de recherche vectorielle, écrivez d’abord le contrat : les entrées requises, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de garantir l’honnêteté des modifications ultérieures du code. Préférez des unités petites et testables plutôt que des scripts complexes. Lorsqu’une étape échoue, l’échec doit pointer vers une seule responsabilité et non vers un processus embrouillé.

Recherche sémantique

La phase de recherche sémantique fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Recueillez un transcript parfait, un cas d’échec et la note de réversion avant d’élargir le champ d’action. Considérez cette phase comme un contrat entre les entrées et les sorties validées. Donnez des noms aux artefacts, définez des critères de succès et refusez les complétions partielles silencieuses. Séparez la politique de segmentation des données de la politique de récupération. Modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent.

Keyword Search
     ↓
Match words
Vector Search
     ↓
Match embedding similaritySemantic Search
     ↓
Match meaning / relevance

2. Qu’est-ce que la recherche par mots-clés ?

La phase 2 « Qu’est-ce qu’un mot-clé ? » fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Capturez un transcript exemplaire, un cas d’échec et la note de réversion avant d’élargir le périmètre. Enregistrez les temps d’exécution ainsi que le coût des tokens ou des requêtes à côté des résultats fonctionnels. Une visibilité précoce des coûts évite les factures inattendues lorsque le processus passe de l’environnement de démonstration aux environnements partagés. Séparez la politique de segmentation des données de la politique de récupération. Modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent.

annual
leave
days
employees

Où la recherche par mot-clé fonctionne très bien

La phase de recherche par mot-clé « Where » fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Capturez un exemple idéal, un cas d’échec et la note de réversion avant d’élargir le périmètre. Conservez la configuration en dehors du code de l’application. Les fichiers d’environnement, les bases de données secrètes et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les opérateurs peuvent auditer sans devoir lire l’ensemble du système. Séparez la politique de segmentation de la politique de récupération. Modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent. La phase de recherche par mot-clé « Where » fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Capturez un exemple idéal, un cas d’échec et la note de réversion avant d’élargir le périmètre. Préférez des unités petites et testables aux scripts complexes. Lorsqu’une étape échoue, l’échec doit pointer vers une seule responsabilité plutôt que vers un processus embrouillé.

INC-10996
PROD-12345
LAPTOP-XPS-15
HTTP 401
API-OrderService

3. Les limites de la recherche par mot-clé

Pour cette troisième étape de limitation, définissez les entrées, le responsable de l’étape et les critères de fin avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Considérez cette étape comme un contrat entre les entrées et les sorties validées. Donnez des noms aux artefacts, définites des vérifications de succès et refusez les terminaisons partielles silencieuses. Citez les passages qui ont réellement servi de base à la réponse. Sans citations, les opérateurs ne peuvent pas distinguer une hallucination d’un manque d’indexation.

annual leave
vacation time

4. Qu’est-ce que la recherche vectorielle ?

Pour l’étape 4 « Qu’est-ce qu’un vecteur ? », définissez les entrées, le responsable de l’étape et les critères de fin avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Enregistrez les temps d’exécution ainsi que le coût des tokens ou des requêtes à côté des résultats fonctionnels. Une visibilité précoce du coût évite les factures inattendues lorsque le parcours passe d’un environnement de démonstration à des environnements partagés. Citez les passages qui ont réellement servi de base à la réponse. Sans citations, les opérateurs ne peuvent pas distinguer une hallucination d’un manque dans l’indexation.

"Employees are entitled to 20 days of annual leave."
             ↓
        Embedding Model
             ↓
[0.12, -0.43, 0.78, 0.21, ...]
"How much vacation time can I take?"
             ↓
        Embedding Model
             ↓
[0.15, -0.39, 0.75, 0.24, ...]
User Query
    ↓
Embedding
    ↓
Vector
    ↓
Compare with stored vectors
    ↓
Nearest / most similar vectors
    ↓
Relevant documents
annual leave
      ≈
vacation time

5. La recherche vectorielle est-elle donc une recherche sémantique ?

Pour l’étape 5 So Is Vector, définissez les entrées, le responsable de l’étape et les critères d’arrêt avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Conservez la configuration en dehors du code de l’application. Les fichiers d’environnement, les bases de données secrètes et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les opérateurs peuvent auditer sans devoir lire l’ensemble du système. Citez les passages qui justifient réellement la réponse. Sans citations, les opérateurs ne peuvent pas distinguer une hallucination d’un manque d’indexation. Pour l’étape 5 So Is Vector, définissez les entrées, le responsable de l’étape et les critères d’arrêt avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Préférez des unités petites et testables à des scripts complexes. Lorsqu’une étape échoue, l’échec doit indiquer une seule responsabilité plutôt qu’un processus embrouillé.

Pas tout à fait.

Lors de la phase « Pas tout à fait », notez d’abord les conditions du contrat : les entrées requises, le signal de succès, ainsi que ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de rester honnête lors des modifications ultérieures du code. Considérez cette phase comme un contrat entre les entrées et les sorties validées. Donnez des noms aux éléments générés, définez des vérifications de succès, et refusez les terminaisons partielles silencieuses. Évaluez le taux de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Le simple changement de prompts résout rarement un problème de qualité médiocre dans la récupération des informations.

Semantic Search
       │
       ├── Vector similarity
       ├── Query understanding
       ├── Semantic relevance
       ├── Ranking
       └── Other relevance signals

6. Recherche vectorielle vs Classement sémantique

Lorsque vous travaillez sur les 6 étapes de la recherche vectorielle, notez d’abord le contrat : les entrées requises, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de rester honnête lors des modifications ultérieures du code. Enregistrez les temps d’exécution ainsi que le coût en tokens ou en requêtes à côté des résultats fonctionnels. Une visibilité précoce des coûts évite les factures inattendues lorsque le projet passe de l’environnement de démonstration à des environnements partagés. Mesurez le taux de rappel sur un ensemble de questions fixe avant d’ajuster les prompts. Changer fréquemment les prompts ne résout que rarement un système de récupération insuffisant.

User Query
     ↓
Vector Search
     ↓
50 candidate documents
     ↓
Semantic Ranking
     ↓
Top 5 most relevant documents

7. Qu’est-ce que la recherche hybride ?

Lors de la phase 7 « Qu’est-ce que l’hybride ? », notez d’abord les conditions requises : les entrées nécessaires, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de garantir l’honnêteté des modifications ultérieures du code. Conservez la configuration en dehors du code de l’application. Les fichiers d’environnement, les bases de données secrètes et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les administrateurs peuvent auditer sans devoir lire l’ensemble du système. Mesurez le taux de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Un changement fréquent des prompts ne résout que rarement un système de récupération insuffisant. Lors de la phase 7 « Qu’est-ce que l’hybride ? », notez d’abord les conditions requises : les entrées nécessaires, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de garantir l’honnêteté des modifications ultérieures du code. Préférez des unités petites et testables plutôt que des scripts complexes. Lorsqu’une étape échoue, l’échec doit indiquer une seule responsabilité et non un processus embrouillé.

Keyword Search
       +
Vector Search
User Query
                        │
              ┌─────────┴─────────┐
              ↓                   ↓
       Keyword Search       Vector Search
              │                   │
              └─────────┬─────────┘
                        ↓
                 Combined Results
                        ↓
                 Ranking / Reranking
                        ↓
                 Relevant Documents

Langage naturel

La phase de langage naturel fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Recueillez un transcript parfait, un cas d’échec et la note de réversion avant d’élargir le périmètre. Considérez cette phase comme un contrat entre les entrées et les sorties validées. Donnez des noms aux artefacts, définez des critères de succès et refusez toute complétion partielle silencieuse. Séparez la politique de segmentation des données de la politique de récupération. Modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent.

INC-10996
Customer-1234
HTTP-500
Order-98765

8. Un exemple concret d’entreprise

La phase 8 de A Real Enterprise fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Recueillez un transcript exemplaire, un cas d’échec et la note de réversion avant d’élargir le périmètre. Enregistrez les temps d’exécution ainsi que le coût des tokens ou des requêtes à côté des résultats fonctionnels. Une visibilité précoce des coûts évite les factures inattendues lorsque le projet passe de la démonstration aux environnements partagés. Séparez la politique de segmentation de la politique de récupération : modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent.

INC-10231
Payment gateway timeout
INC-10287
Payment service unavailableINC-10492
Database connection pool exhaustedINC-10501
Payment API latency

Recherche par mot-clé

La phase de recherche par mots-clés fonctionne le mieux lorsqu’elle est considérée comme une entité mesurable. Capturez un exemple idéal, un cas d’échec et la note de réversion avant d’élargir le périmètre. Conservez les configurations en dehors du code de l’application. Les fichiers d’environnement, les bases de données secrètes et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les opérateurs peuvent auditer sans devoir lire l’ensemble du système. Séparez la politique de segmentation de la politique de récupération. Modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent. La phase de recherche par mots-clés fonctionne le mieux lorsqu’elle est considérée comme une entité mesurable. Capturez un exemple idéal, un cas d’échec et la note de réversion avant d’élargir le périmètre. Préférez des unités petites et testables aux scripts complexes. Lorsqu’une étape échoue, l’échec doit pointer vers une seule responsabilité plutôt que vers un processus embrouillé.

payment
timeout

Recherche vectorielle

Pour l’étape de recherche vectorielle, définissez les entrées, le responsable de cette étape ainsi que les critères d’arrêt avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Considérez cette étape comme un contrat entre les entrées et les sorties validées. Nommez les artefacts, définissez des vérifications de succès et refusez toute exécution partielle silencieuse. Citez les passages qui ont réellement servi de base à la réponse. Sans citations, les opérateurs ne peuvent pas distinguer une hallucination d’un manque d’indexation.

timeout
latency
unavailable
connection problems

Recherche hybride

Pour l’étape de recherche hybride, définissez les entrées, le responsable de l’étape et les critères d’arrêt avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Enregistrez les temps d’exécution ainsi que le coût des tokens ou des requêtes à côté des résultats fonctionnels. Une visibilité précoce du coût permet d’éviter des factures inattendues lorsque le processus passe de l’environnement de démonstration à des environnements partagés. Citez les passages qui ont réellement servi de base à la réponse. Sans citations, les opérateurs ne peuvent pas distinguer une hallucination d’un manque d’indexation.

Exact lexical relevance
        +
Semantic relevance

9. Où s’inscrit Azure AI Search ?

Pour les 9 cas où Azure gère le déploiement, définissez les entrées, le responsable de l’étape et les critères d’arrêt avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Conservez la configuration en dehors du code de l’application. Les fichiers d’environnement, les stocks de secrets et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les opérateurs peuvent auditer sans devoir lire l’ensemble du système. Citez les passages qui justifient réellement la réponse. Sans citations, les opérateurs ne peuvent pas distinguer une hallucination d’un manque d’indexation. Pour les 9 cas où Azure gère le déploiement, définissez les entrées, le responsable de l’étape et les critères d’arrêt avant de modifier le code. Les opérateurs doivent pouvoir relancer l’étape à partir d’un point de contrôle connu sans deviner l’état caché. Préférez des unités petites et testables plutôt que des scripts complexes. Lorsqu’une étape échoue, l’échec doit indiquer une seule responsabilité et non un pipeline embrouillé.

Azure AI Search
                       │
          ┌────────────┼────────────┐
          ↓            ↓            ↓
    Full-text       Vector       Semantic
      Search        Search        Ranking
          │            │            │
          ↓            ↓            ↓
      Keywords      Embeddings    Relevance

10. Où s’inscrit RAG ?

Lorsque vous travaillez sur les 10 étapes de « Où s’inscrit RAG ? », notez d’abord le contrat : les entrées requises, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de rester honnête lors des modifications ultérieures du code. Considérez cette étape comme un contrat entre les entrées et les sorties validées. Donnez des noms aux artefacts, définez des vérifications de succès et refusez les terminations partielles silencieuses. Mesurez le taux de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Le simple changement de prompts ne résout que rarement un système de récupération insuffisant.

User
  ↓
RAG System
  ↓
Azure AI Search
  ↓
Azure OpenAI
Retrieval
    +
Augmentation
    +
Generation

11. RAG comporte deux phases principales

Lorsque vous travaillez sur l’étape 11 de RAG Has Two, notez d’abord le contrat : les entrées requises, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de rester honnête lors des modifications ultérieures du code. Enregistrez les temps d’exécution ainsi que le coût en tokens ou en requêtes à côté des résultats fonctionnels. Une visibilité précoce des coûts évite les factures inattendues lorsque le système passe de l’environnement de démonstration à des environnements partagés. Mesurez le taux de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Changer fréquemment les prompts ne résout que rarement un système de récupération insuffisant.

Phase 1 — Préparation des connaissances

Lors de la phase 1 de préparation des connaissances, notez d’abord les conditions requises : les entrées nécessaires, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de garantir l’intégrité des modifications ultérieures du code. Conservez la configuration en dehors du code de l’application. Les fichiers d’environnement, les bases de données secrètes et les indicateurs fonctionnels doivent être regroupés en un seul endroit que les administrateurs peuvent auditer sans devoir lire l’ensemble du système. Évaluez la capacité de rappel sur un ensemble fixe de questions avant d’ajuster les prompts. Un changement fréquent des prompts ne résout que rarement un système de récupération insuffisant. Lors de la phase 1 de préparation des connaissances, notez d’abord les conditions requises : les entrées nécessaires, le signal de succès et ce qui se passe en cas d’échec partiel. Cette liste de contrôle permet de garantir l’intégrité des modifications ultérieures du code. Préférez des unités petites et testables à des scripts complexes. Lorsqu’une étape échoue, l’erreur doit indiquer une responsabilité précise plutôt qu’un processus embrouillé.

PDFs
SharePoint
Confluence
SQL Server
Word documents
APIs
     ↓
Document extraction
     ↓
Chunking
     ↓
Embeddings
     ↓
Search / Vector Index
Document content
Embeddings
Document ID
Page number
Title
Metadata
Permissions

12. Phase 2 — Requête de l’utilisateur

La phase 2, étape 12, fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Recueillez un transcript exemplaire, un cas d’échec et la note de réversion avant d’élargir le périmètre. Considérez cette étape comme un contrat entre les entrées et les sorties validées. Nommez les artefacts, définites des critères de succès et refusez toute complétion partielle silencieuse. Séparez la politique de segmentation des données de la politique de récupération. Modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité évoluent.

User
 ↓
Application
 ↓
Retrieval
 ↓
Azure AI Search
 ↓
Relevant chunks
 ↓
Augmentation
 ↓
Azure OpenAI
 ↓
Answer

13. Que se passe-t-il exactement lors de la récupération ?

La phase 13 « Que se passe-t-il exactement ? » fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Capturez un transcript idéal, un cas d’échec et la note de réversion avant d’élargir le périmètre. Enregistrez les temps d’exécution ainsi que le coût des tokens ou des requêtes à côté des résultats fonctionnels. Une visibilité précoce des coûts évite les factures inattendues lorsque le processus passe de la démonstration aux environnements partagés. Séparez la politique de segmentation de la politique de récupération : modifier l’une ne doit pas obliger à réécrire l’autre lorsque les métriques de qualité changent.

Keyword Search
       +
Vector Search
       +
Semantic Ranking
       +
Filters

14. Que signifie « augmenté » ?

La phase 14 « Que signifie “augmenté” ? » fonctionne le mieux lorsqu’elle est considérée comme une surface mesurable. Capturez un transcript idéal, un cas d’échec et la note de réversion avant d’élargir le périmètre.

System:
Answer using the provided company information.
Context:
Employees are entitled to 20 days of annual leave.User:
How many vacation days can I take?

15. Ensuite vient la génération

Retrieved Context
       +
User Question
       ↓
Azure OpenAI
       ↓
Generated Answer

16. Alors où se trouve exactement RAG ?

                         RAG
                          │
             ┌────────────┼────────────┐
             ↓            ↓            ↓
         RETRIEVE      AUGMENT      GENERATE
             │            │            │
             ↓            ↓            ↓
      Azure AI Search   Context     Azure OpenAI
             │
       ┌─────┼─────┐
       ↓     ↓     ↓
    Keyword Vector Hybrid
    Search  Search Search

17. Azure AI Search est-il identique à RAG ?

RAG
 │
 ├── Retrieval → Azure AI Search
 │
 ├── Augmentation → Add retrieved context
 │
 └── Generation → Azure OpenAI

18. Semantic Kernel est-il un type de RAG ?

ASP.NET Core
      ↓
Semantic Kernel
      │
      ├────→ Azure AI Search
      │             ↓
      │        Relevant chunks
      │
      └────→ Azure OpenAI
                    ↓
                 Answer

19. Le RAG nécessite-t-il une recherche vectorielle ?

RAG basé sur des mots-clés

User
 ↓
Keyword Search
 ↓
Documents
 ↓
LLM

RAG basé sur des vecteurs

User
 ↓
Vector Search
 ↓
Documents
 ↓
LLM

RAG hybride

User
 ↓
Keyword + Vector
 ↓
Hybrid Search
 ↓
Documents
 ↓
LLM

20. La vision complète pour les entreprises

KNOWLEDGE SOURCES
                        │
       ┌────────────────┼─────────────────┐
       ↓                ↓                 ↓
      PDFs           SQL Server       SharePoint
       │                │                 │
       └────────────────┼─────────────────┘
                        ↓
                   Ingestion
                        ↓
                    Chunking
                        ↓
                   Embeddings
                        ↓
              ┌────────────────────┐
              │ Azure AI Search    │
              │                    │
              │ Text + Vectors +   │
              │ Metadata/Indexes   │
              └─────────┬──────────┘
                        │
                 INDEX IS READY
                        │
════════════════════════╪════════════════════════
                        │
                    USER QUERY
                        │
                        ↓
                ASP.NET Core API
                        │
                        ↓
              RAG Orchestration
                        │
                        ↓
              ┌─────────────────┐
              │ Azure AI Search │
              │                 │
              │ Keyword         │
              │ Vector          │
              │ Hybrid          │
              │ Semantic Rank   │
              └────────┬────────┘
                       │
                       ↓
                Relevant Chunks
                       │
                       ↓
                  Augmentation
                       │
                       ↓
                 Azure OpenAI
                       │
                       ↓
                    Answer

21. Le modèle mental du chef technique senior

22. La réponse adaptée à un entretien

Liste de contrôle opérationnelle