Aller au contenu principal

Examen final : Systèmes RAG complet

Évaluation complète couvrant les 10 modules. 50 questions testant votre maîtrise des concepts et de la mise en œuvre de RAG.


Instructions​

  • Répondez à toutes les 50 questions
  • Chaque question vaut 2 points
  • Note de passage : 70 % (70 points)
  • Temps suggéré : 60-90 minutes

Partie 1 : Fondamentaux (Q1-10)​

Q1 : Que signifie RAG et quel est son principal objectif ?

Réponse : Retrieval-Augmented Generation. Il améliore les LLMs en fournissant des documents récupérés pertinents comme contexte pour des réponses plus précises et fondées.

Q2 : Nommez les trois phases principales d'un pipeline RAG.

Réponse : 1) Indexation (hors ligne), 2) Récupération (en ligne), 3) Génération (en ligne).

Q3 : Quels sont les quatre principaux problèmes que RAG résout pour les LLMs ?

Réponse : 1) Hallucinations, 2) Limite de connaissances, 3) Pas d'accès aux données privées, 4) Limites de tokens/contexte.

Q4 : Expliquez la différence entre RAG et le fine-tuning.

Réponse : RAG ajoute des connaissances par récupération (dynamique, peut être mis à jour) ; le fine-tuning modifie le comportement du modèle (statique, nécessite un réentraînement).

Q5 : Quelle est la taille typique des segments et le chevauchement pour les systèmes RAG ?

Réponse : Taille des segments : 500-1500 caractères ; Chevauchement : 10-20 % de la taille des segments (par exemple, 200 caractères pour des segments de 1000 caractères).

Q6 : Que sont les embeddings et pourquoi sont-ils importants pour RAG ?

Réponse : Représentations vectorielles denses de texte qui capturent la signification sémantique. Ils permettent la recherche de similarité pour trouver des documents pertinents.

Q7 : Qu'est-ce que la similarité cosinus et quel est son intervalle ?

Réponse : Une métrique mesurant l'angle entre les vecteurs ; l'intervalle est de -1 à 1 (1 = direction identique, 0 = orthogonal).

Q8 : Nommez trois bases de données vectorielles populaires.

Réponse : N'importe lesquelles parmi : Pinecone, Weaviate, Chroma, Qdrant, Milvus, pgvector, FAISS.

Q9 : Qu'est-ce que HNSW et pourquoi est-il couramment utilisé ?

Réponse : Hierarchical Navigable Small World - un algorithme basé sur des graphes pour une recherche rapide d'approximation des plus proches voisins avec une bonne qualité.

Q10 : Qu'est-ce qu'un retriever dans LangChain ?

Réponse : Un composant qui prend une requête et retourne des documents pertinents à partir d'un magasin vectoriel.


Partie 2 : Traitement des documents (Q11-18)​

Q11 : Nommez trois types de chargeurs de documents dans LangChain.

Réponse : N'importe lesquels parmi : PyPDFLoader, TextLoader, CSVLoader, WebBaseLoader, UnstructuredPDFLoader, Docx2txtLoader.

Q12 : Qu'est-ce que RecursiveCharacterTextSplitter et comment fonctionne-t-il ?

Réponse : Un diviseur de texte qui essaie de diviser par paragraphe, puis phrase, puis mot, puis caractère - suivant une hiérarchie de séparateurs.

Q13 : Pourquoi le chevauchement des segments est-il important ?

Réponse : Il empêche l'information d'être coupée aux limites des segments et préserve le contexte entre les segments.

Q14 : Comment les tableaux dans les documents doivent-ils être traités ?

Réponse : Gardez les tableaux comme des segments uniques pour préserver la structure ; utilisez des extracteurs spécialisés comme Camelot pour les PDFs.

Q15 : Qu'est-ce que l'OCR et quand est-il nécessaire ?

Réponse : Reconnaissance Optique de Caractères - nécessaire pour les PDFs scannés et les images où le texte n'est pas lisible par machine.

Q16 : Quelles métadonnées doivent être préservées lors du traitement des documents ?

Réponse : Fichier source, numéro de page, index de segment, date, auteur, type de document, et tout attribut spécifique au domaine.

Q17 : Qu'est-ce que le découpage sémantique ?

Réponse : Diviser le texte en fonction de la similarité sémantique plutôt que des comptes de caractères fixes.

Q18 : Comment gérer des fichiers CSV très volumineux ?

Réponse : Traitez par lots en utilisant pandas chunksize ou des approches de streaming similaires.


Partie 3 : Embeddings (Q19-25)​

Q19 : Qu'est-ce qui détermine la qualité des embeddings ?

Réponse : Architecture du modèle, données d'entraînement, et nombre de dimensions. Utilisez les benchmarks MTEB pour comparer.

Q20 : Nommez deux modèles d'embeddings commerciaux et deux open-source.

Réponse : Commerciaux : OpenAI text-embedding-3, Cohere embed-v3. Open source : BGE, E5, Sentence Transformers.

Q21 : Qu'est-ce que MTEB ?

Réponse : Massive Text Embedding Benchmark - le benchmark standard pour comparer la qualité des modèles d'embeddings.

Q22 : Quand devriez-vous envisager l'hébergement autonome des embeddings ?

Réponse : Volume élevé (>10M docs), exigences de confidentialité des données, exigences de latence (<20ms), ou optimisation des coûts.

Q23 : Que se passe-t-il si vous utilisez différents modèles d'embeddings pour l'indexation et la requête ?

Réponse : La récupération échoue ou fonctionne très mal - les vecteurs doivent provenir du même modèle pour être comparables.

Q24 : Quel est le compromis avec des dimensions d'embeddings plus élevées ?

Réponse : Meilleure qualité mais plus de stockage et recherche plus lente.

Q25 : Comment fonctionne la réduction de dimension dans text-embedding-3-large ?

Réponse : Le paramètre dimensions tronque le vecteur tout en maintenant la qualité grâce à l'optimisation au moment de l'entraînement.


Partie 4 : Récupération (Q26-32)​

Q26 : Qu'est-ce que la recherche hybride ?

Réponse : Combiner la recherche par mots-clés (BM25) avec la recherche vectorielle sémantique pour de meilleurs résultats.

Q27 : Qu'est-ce que MMR et quand devriez-vous l'utiliser ?

Réponse : Maximum Marginal Relevance - équilibre la pertinence avec la diversité. Utilisez-le lorsque vous voulez des résultats variés.

Q28 : Qu'est-ce que le reranking ?

Réponse : Réévaluer les résultats initiaux de récupération avec un modèle plus puissant (cross-encoder) pour une meilleure précision.

Q29 : Qu'est-ce que la fusion de rangs réciproques ?

Réponse : Une méthode pour combiner les classements de plusieurs récupérateurs en un classement final unique.

Q30 : Quelle est la différence entre le filtrage pré-récupération et post-récupération ?

Réponse : Pré-récupération : filtrer avant la recherche (plus efficace). Post-récupération : filtrer les résultats après la recherche.

Q31 : Qu'est-ce que HyDE ?

Réponse : Hypothetical Document Embeddings - générer une réponse hypothétique, l'encoder, et l'utiliser pour la récupération.

Q32 : Qu'est-ce que la récupération auto-interrogative ?

Réponse : Utiliser un LLM pour extraire à la fois la requête sémantique et les filtres de métadonnées à partir d'une entrée en langage naturel.


Partie 5 : Cadres & Évaluation (Q33-40)​

Q33 : Qu'est-ce que LCEL dans LangChain ?

Réponse : LangChain Expression Language - une manière composable de construire des chaînes en utilisant l'opérateur pipe (|).

Q34 : Quelle est la différence entre LangChain et LlamaIndex ?

Réponse : LangChain : construction de chaînes à usage général. LlamaIndex : axé sur l'indexation et la requête de données.

Q35 : Que fait le type de chaîne "stuff" ?

Réponse : Met tous les documents récupérés dans une seule invite - idéal pour les petits contextes.

Q36 : Qu'est-ce que RAGAS ?

Réponse : Retrieval Augmented Generation Assessment - cadre pour l'évaluation automatisée de RAG.

Q37 : Nommez quatre métriques RAGAS.

Réponse : Fidélité, pertinence de la réponse, précision du contexte, rappel du contexte.

Q38 : Que mesure la fidélité ?

Réponse : Si la réponse générée est fondée sur (soutenue par) le contexte récupéré.

Q39 : À quoi sert LangSmith ?

Réponse : Traçage, débogage et surveillance des applications LangChain.

Q40 : Comment déboguer "mauvais documents récupérés" ?

Réponse : Imprimer les documents récupérés, vérifier la taille des segments, vérifier le modèle d'embeddings, tester avec des requêtes connues.


Partie 6 : Production (Q41-50)​

Q41 : Qu'est-ce que la mise en cache sémantique ?

Réponse : Mise en cache des résultats pour des requêtes sémantiquement similaires (pas seulement des correspondances exactes).

Q42 : Qu'est-ce que la multi-location dans RAG ?

Réponse : Servir plusieurs organisations à partir d'un seul système avec isolation des données.

Q43 : Nommez deux approches pour l'isolation des locataires.

Réponse : 1) Isolation par espace de noms, 2) Filtrage des métadonnées avec tenant_id.

Q44 : Que faut-il suivre pour la facturation dans SaaS RAG ?

Réponse : Requêtes, tokens utilisés, documents indexés, stockage utilisé.

Q45 : Qu'est-ce que l'injection de prompt ?

Réponse : Entrée malveillante conçue pour manipuler le comportement du LLM.

Q46 : Comment prévenir l'injection de prompt ?

Réponse : Validation des entrées, assainissement, et conception sécurisée des prompts.

Q47 : Que doit-on enregistrer dans les journaux d'audit en production RAG ?

Réponse : ID utilisateur, requête, documents consultés, horodatage, métadonnées de réponse.

Q48 : À quelle échelle devriez-vous envisager le sharding ?

Réponse : Environ 1M+ documents nécessitent généralement le sharding.

Q49 : Qu'est-ce que l'indexation basée sur une file d'attente ?

Réponse : Ajouter des documents à une file d'attente pour un traitement en arrière-plan asynchrone.

Q50 : Quel est le principal facteur de la qualité des réponses RAG ?

Réponse : Qualité de la récupération - si vous récupérez les bons documents, le LLM peut générer de bonnes réponses.


Évaluation​

ScoreNoteÉvaluation
90-100AExcellent - Expert en RAG
80-89BBon - Compréhension solide
70-79CPassable - Revoir les points faibles
60-69DEn dessous de la moyenne - Plus d'étude nécessaire
<60FRévision significative requise

🎉 Félicitations !​

Si vous avez complété cet examen et le cours, vous avez maintenant une connaissance complète des systèmes RAG. Continuez à construire et à expérimenter !


Retour à l'accueil | Glossaire | Ressources