---
title: "Patterns-RAG"
source: "https://systems-analysis.info/int/Patterns-RAG"
wiki: "systems-analysis.info/int"
article: "Patterns-RAG"
language: "fr"
categories:
  - "Category:French"
  - "Category:Large language models"
  - "Category:Prompt engineering"
revision_id: 5465
wiki_created_at: 2026-09-06T23:49:41Z
wiki_modified_at: 2026-09-06T23:49:41Z
downloaded_at: 2026-09-07T23:08:38Z
---

# Patterns-RAG

Les **patterns RAG** (de l'anglais *RAG Patterns*) sont un ensemble d'approches architecturales et méthodologiques pour la construction de systèmes de **Retrieval-Augmented Generation** (RAG). Ces patterns visent à résoudre les problèmes fondamentaux des grands modèles de langage (LLM), tels que les hallucinations, l'obsolescence des connaissances et le manque de spécificité de domaine, en intégrant les LLM avec des sources de données externes et dynamiquement accessibles<sup>[\[1\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-lewis2020-1)</sup>. L'évolution du RAG est passée de simples pipelines linéaires à des systèmes modulaires et agentifs complexes<sup>[\[2\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-survey2024-2)</sup>.

## Principaux patterns RAG

Avec le développement de la technologie, de nombreux patterns RAG ont émergé, chacun résolvant des problèmes spécifiques et présentant ses propres compromis entre qualité, vitesse et coût.

- **Classic RAG** — Approche de base où la requête de l'utilisateur est vectorisée pour rechercher des fragments pertinents (chunks) dans une base de données vectorielle ; les chunks trouvés sont fournis au LLM avec la question pour générer une réponse<sup>[\[1\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-lewis2020-1)</sup>.

<!-- -->

- **Multi-Query RAG** — Le LLM génère plusieurs variantes reformulées/affinées de la requête initiale ; la recherche est effectuée sur toutes les variantes, et les résultats sont fusionnés, ce qui augmente le rappel (*recall*)<sup>[\[3\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-langchain-multiquery-3)</sup>.

<!-- -->

- **HyDE (Hypothetical Document Expansion)** — Vise à surmonter le « fossé sémantique » entre une requête courte et des documents longs. Le LLM génère d'abord un document-réponse « hypothétique », puis son embedding est utilisé pour la recherche, ce qui améliore souvent la qualité de la récupération<sup>[\[4\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-hyde-4)</sup>.

<!-- -->

- **Hybrid Retrieval** — Combinaison de la recherche sémantique (vectorielle) et lexicale (BM25). Les schémas hybrides sont devenus un standard pour les systèmes en production : la recherche vectorielle couvre les correspondances sémantiques, tandis que BM25 trouve les termes, ID ou acronymes exacts ; les résultats sont combinés par fusion<sup>[\[5\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-weaviate-hybrid-5)[\[6\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-qdrant-hybrid-6)[\[7\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-milvus-fulltext-7)</sup>.

<!-- -->

- **Re-ranking** — Processus en deux étapes : un retriever rapide renvoie un ensemble de candidats (par exemple, top 100), puis un cross-encoder (ou un autre reranker) recalcule la pertinence et sélectionne les meilleurs (par exemple, top 5) pour le LLM<sup>[\[8\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-nogueira2019-8)[\[9\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-cohere-rerank-9)</sup>.

<!-- -->

- **Query Routing** — Dans les systèmes avec plusieurs sources de données hétérogènes (différents index/bases de données/API), la requête est dirigée vers la meilleure source à l'aide d'un routeur (un sélecteur LLM ou un classifieur) ; inclut des stratégies de fallback<sup>[\[10\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-llama-router-10)</sup>.

<!-- -->

- **Agentic/Web RAG** — Le LLM agit comme un agent : il décompose les questions complexes, planifie des itérations et utilise des outils (recherche vectorielle, recherche web) avec une boucle de rétroaction. Une implémentation typique est le paradigme ReAct<sup>[\[11\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-react-11)</sup> ; pour la collecte orientée web et la citation obligatoire, voir WebGPT<sup>[\[12\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-webgpt-12)</sup>.

### Paradigmes connexes et émergents

- **GraphRAG (RAG sur Graphe)** — Utilise un graphe de connaissances comme source et mécanisme de sélection de contexte ; la recherche s'effectue sur la structure des relations entre les entités et sur le texte, améliorant l'interprétabilité et la qualité pour les questions multi-sauts (multi-hop)<sup>[\[13\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-graphrag-13)[\[14\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-graphrag-project-14)</sup>.
- **MM-RAG (RAG Multimodal)** — Travaille avec des sources textuelles et visuelles (scans/schémas/tableaux). Exemple : VisRAG démontre une récupération et une génération orientées VLM sur des documents multimodaux<sup>[\[15\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-visrag-15)</sup>.
- **Packaging & Context Handling (Gestion du Contexte)** — Méthodes d'intégration des chunks trouvés dans le prompt : *Stuff*, *Map-Reduce*, *Refine*, *Tree-of-Chunks (RAPTOR)*<sup>[\[16\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-raptor-16)</sup>.

## Tableau comparatif des patterns

| Pattern              | Quand l'utiliser                                                             | Impact sur la qualité                                                                                                                                                                                                                                                                                           | Coût / Latence | Risques et limitations                                                       |
|----------------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|------------------------------------------------------------------------------|
| **Classic RAG**      | PoC et Q&A simples sur une base homogène                                     | Niveau de base ; dépend fortement des embeddings<sup>[\[1\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-lewis2020-1)</sup>                                                                                                                                                                        | Faible         | Sensibilité à la formulation ; risque de contexte non pertinent              |
| **Hybrid Retrieval** | Dans la plupart des scénarios de production ; beaucoup de codes/acronymes/ID | Augmente le rappel ; couvre les termes exacts<sup>[\[5\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-weaviate-hybrid-5)[\[6\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-qdrant-hybrid-6)[\[7\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-milvus-fulltext-7)</sup> | Faible/Moyen   | Réglage des poids de fusion ; deux index                                     |
| **Re-ranking**       | Critique lorsque la haute précision est importante                           | Gain significatif de précision sur le top-k<sup>[\[8\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-nogueira2019-8)[\[9\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-cohere-rerank-9)</sup>                                                                                         | Moyen/Élevé    | Latence/coût supplémentaire                                                  |
| **Multi-Query**      | Requêtes courtes/multi-aspects                                               | Augmente le rappel (recall)<sup>[\[3\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-langchain-multiquery-3)</sup>                                                                                                                                                                                  | Moyen          | Reformulations redondantes/bruyantes                                         |
| **HyDE**             | Requêtes courtes/ambiguës avec un grand « fossé sémantique »                 | Améliore la qualité de la récupération *zero-shot*<sup>[\[4\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-hyde-4)</sup>                                                                                                                                                                           | Moyen          | Dépend de la qualité du texte « hypothétique »                               |
| **Query Routing**    | Plusieurs sources (base de documents, SQL, API, web)                         | Augmente la pertinence en choisissant la bonne source<sup>[\[10\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-llama-router-10)</sup>                                                                                                                                                              | Moyen          | Erreur de routage = échec de la recherche                                    |
| **Agentic/Web RAG**  | Requêtes complexes, exploratoires, multi-étapes                              | Résout des problèmes au-delà du pipeline linéaire<sup>[\[11\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-react-11)[\[12\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-webgpt-12)</sup>                                                                                             | Élevé          | Complexité, risque de boucle infinie ; nécessite des garde-fous (guardrails) |

Comparaison des patterns RAG clés

## Implémentation pratique et architecture

### Étapes de mise en œuvre

1.  **Proof of Concept (PoC) :** Commencer avec le **Classic RAG** sur un ensemble de données limité mais représentatif pour vérifier la qualité des embeddings et de la récupération de base<sup>[\[1\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-lewis2020-1)</sup>.
2.  **Minimum Viable Product (MVP) :** Implémenter le **Hybrid Retrieval** et le **Re-ranking** comme le meilleur rapport « effort/effet »<sup>[\[5\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-weaviate-hybrid-5)[\[8\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-nogueira2019-8)</sup>.
3.  **Production :** Ajouter des transformations de requêtes (**HyDE**, **Multi-Query**) et, si nécessaire, le **Query Routing** ; configurer l'observabilité (journalisation de la récupération/reclassement/réponses) et les tests A/B<sup>[\[3\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-langchain-multiquery-3)[\[10\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-llama-router-10)</sup>.

### Composants clés

- **Chunking :** L'un des facteurs les plus critiques pour la qualité. Une taille fixe naïve rompt souvent les unités sémantiques. Les segmenteurs structurés (basés sur le balisage) ou récursifs (paragraphe → phrase → mot) sont recommandés<sup>[\[17\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-rcsplit-17)[\[18\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-llama-hier-18)</sup>.
- **Embeddings et métadonnées :** Stocker avec chaque chunk l'ID du document, la page/section, le titre, les dates ; ceci est nécessaire pour le filtrage et la citation correcte des sources.
- **Récupération hybride et reclassement :** Utiliser BM25+vecteur avec fusion (ou RRF), puis un cross-encoder pour reclasser un petit pool de candidats<sup>[\[5\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-weaviate-hybrid-5)[\[6\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-qdrant-hybrid-6)[\[8\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-nogueira2019-8)</sup>.
- **Gestion du contexte :** Choisir *Map-Reduce*, *Refine* ou *Tree-of-Chunks* pour les corpus volumineux<sup>[\[16\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-raptor-16)[\[18\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-llama-hier-18)</sup>.

### Erreurs courantes (anti-patterns)

- **Recherche vectorielle uniquement** sans BM25 → échecs sur les codes/ID/acronymes<sup>[\[5\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-weaviate-hybrid-5)[\[7\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-milvus-fulltext-7)</sup>.
- **Chunks trop grands/petits** → perte de contexte ou « dilution » de l'embedding<sup>[\[17\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-rcsplit-17)</sup>.
- **Absence de re-ranking en production** → le LLM reçoit un contexte bruité<sup>[\[8\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-nogueira2019-8)</sup>.
- **Manque d'observabilité** et de traçage des sources → impossible d'analyser les causes d'erreur (voir l'évaluation RAG).

## Évaluation de la qualité et métriques

L'évaluation est effectuée au niveau de la récupération (hors ligne) et de bout en bout (génération).

### Métriques du retriever

- **Hit Rate, Recall@k, MRR** — Couverture et position des documents pertinents.
- **Context Precision & Recall** — Mesure à quel point le contexte récupéré est exempt de « bruit » et couvre toutes les informations nécessaires (implémenté dans RAGAS)<sup>[\[19\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-ragas-19)</sup>.

### Métriques du générateur (end-to-end)

- **Faithfulness / Groundedness** — Conformité de la réponse au contexte fourni.
- **Answer Relevancy (Pertinence de la réponse)** — Conformité à la question initiale.

Pour l'automatisation de ces métriques, on utilise des frameworks open source : **RAGAS**, **TruLens** (*RAG triad* : pertinence du contexte, fidélité au contexte, pertinence de la réponse), **DeepEval**<sup>[\[20\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-trulens-20)[\[21\]](https://systems-analysis.info/int/Patterns-RAG#cite_note-deepeval-21)</sup>.

## Voir aussi

- Retrieval-Augmented Generation (RAG)
- Bases de données vectorielles
- Embedding
- Agent IA
- GraphRAG
- MM-RAG
- Évaluation et benchmarks des LLM

## Références

- Lewis, P., Perez, E., et al. (2020). *Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks*. NeurIPS. <a href="https://arxiv.org/abs/2005.11401" class="external text" rel="nofollow">arXiv:2005.11401</a>.
- Fan, W., Ding, Y., et al. (2024). *A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models*. KDD. DOI:10.1145/3637528.3671470; <a href="https://arxiv.org/abs/2405.06211" class="external text" rel="nofollow">arXiv:2405.06211</a>.
- Gao, L., Ma, X., Lin, J., Callan, J. (2023). *Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE)*. ACL 2023. <a href="https://aclanthology.org/2023.acl-long.99/" class="external text" rel="nofollow">ACL Anthology</a>; <a href="https://arxiv.org/abs/2212.10496" class="external text" rel="nofollow">arXiv:2212.10496</a>.
- Nogueira, R., Cho, K. (2019). *Passage Re‑ranking with BERT*. <a href="https://arxiv.org/abs/1901.04085" class="external text" rel="nofollow">arXiv:1901.04085</a>.
- Weaviate Docs. *Hybrid search (BM25+Vector)*. <a href="https://docs.weaviate.io/weaviate/concepts/search/hybrid-search" class="external autonumber" rel="nofollow">[1]</a>.
- Qdrant Docs. *Hybrid Queries*. <a href="https://qdrant.tech/documentation/concepts/hybrid-queries/" class="external autonumber" rel="nofollow">[2]</a>.
- Milvus Docs. *Full‑Text Search* / *Hybrid Search*. <a href="https://milvus.io/docs/full-text-search.md" class="external autonumber" rel="nofollow">[3]</a> / <a href="https://milvus.io/docs/hybrid_search_with_milvus.md" class="external autonumber" rel="nofollow">[4]</a>.
- LangChain Docs. *MultiQueryRetriever*. <a href="https://python.langchain.com/docs/how_to/MultiQueryRetriever/" class="external autonumber" rel="nofollow">[5]</a>.
- Cohere Docs. *Rerank — best practices*. <a href="https://docs.cohere.com/docs/reranking-best-practices" class="external autonumber" rel="nofollow">[6]</a>.
- LlamaIndex Docs. *Routing (query routers/selectors)*. <a href="https://docs.llamaindex.ai/en/stable/module_guides/querying/router/" class="external autonumber" rel="nofollow">[7]</a>.
- Yao, S., et al. (2023). *ReAct: Synergizing Reasoning and Acting in Language Models*. ICLR. <a href="https://arxiv.org/abs/2210.03629" class="external text" rel="nofollow">arXiv:2210.03629</a>.
- Nakano, R., et al. (2021). *WebGPT: Browser‑assisted question‑answering with human feedback*. <a href="https://arxiv.org/abs/2112.09332" class="external text" rel="nofollow">arXiv:2112.09332</a>.
- Microsoft Research Blog. *GraphRAG: Unlocking LLM discovery on narrative private data*. (2024). <a href="https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/" class="external autonumber" rel="nofollow">[8]</a>.
- Microsoft Research. *Project GraphRAG*. (2024). <a href="https://www.microsoft.com/en-us/research/project/graphrag/" class="external autonumber" rel="nofollow">[9]</a>.
- Yu, S., et al. (2024). *VisRAG: Vision‑based Retrieval‑augmented Generation on Multi‑modality Documents*. <a href="https://arxiv.org/abs/2410.10594" class="external text" rel="nofollow">arXiv:2410.10594</a>.
- Sarthi, P., et al. (2024). *RAPTOR: Recursive Abstractive Processing for Tree‑Organized Retrieval*. <a href="https://arxiv.org/abs/2401.18059" class="external text" rel="nofollow">arXiv:2401.18059</a>.
- Es, S., et al. (2024). *RAGAs: Automated Evaluation of Retrieval Augmented Generation*. EACL (Demo). <a href="https://aclanthology.org/2024.eacl-demo.16/" class="external autonumber" rel="nofollow">[10]</a>.
- TruLens Docs. *RAG Triad*. <a href="https://www.trulens.org/getting_started/core_concepts/rag_triad/" class="external autonumber" rel="nofollow">[11]</a>.
- DeepEval (GitHub). *The LLM Evaluation Framework*. <a href="https://github.com/confident-ai/deepeval" class="external autonumber" rel="nofollow">[12]</a>.
- LangChain Docs. *RecursiveCharacterTextSplitter*. <a href="https://python.langchain.com/docs/how_to/recursive_text_splitter/" class="external autonumber" rel="nofollow">[13]</a>.
- LlamaIndex Docs. *HierarchicalNodeParser*; *Response Synthesis (Tree/Refine)*. <a href="https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html" class="external autonumber" rel="nofollow">[14]</a>; <a href="https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/" class="external autonumber" rel="nofollow">[15]</a>.

## Références

1.  <span id="cite_note-lewis2020-1">↑ <sup>[1.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-lewis2020_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-lewis2020_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-lewis2020_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/Patterns-RAG#cite_ref-lewis2020_1-3)</sup> Lewis, P., Perez, E., et al. (2020). *Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks*. NeurIPS. arXiv:2005.11401.</span>
2.  <span id="cite_note-survey2024-2">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-survey2024_2-0) Fan, W., Ding, Y., et al. (2024). *A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models*. KDD. DOI:10.1145/3637528.3671470; arXiv:2405.06211.</span>
3.  <span id="cite_note-langchain-multiquery-3">↑ <sup>[3.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-langchain-multiquery_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-langchain-multiquery_3-1)</sup> <sup>[3.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-langchain-multiquery_3-2)</sup> LangChain Docs. *MultiQueryRetriever*. <a href="https://python.langchain.com/docs/how_to/MultiQueryRetriever/" class="external free" rel="nofollow">https://python.langchain.com/docs/how_to/MultiQueryRetriever/</a></span>
4.  <span id="cite_note-hyde-4">↑ <sup>[4.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-hyde_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-hyde_4-1)</sup> Gao, L., Ma, X., Lin, J., Callan, J. (2023). *Precise Zero‑Shot Dense Retrieval without Relevance Labels*. ACL 2023. arXiv:2212.10496; ACL Anthology: 2023.acl‑long.99.</span>
5.  <span id="cite_note-weaviate-hybrid-5">↑ <sup>[5.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-weaviate-hybrid_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-weaviate-hybrid_5-1)</sup> <sup>[5.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-weaviate-hybrid_5-2)</sup> <sup>[5.3](https://systems-analysis.info/int/Patterns-RAG#cite_ref-weaviate-hybrid_5-3)</sup> <sup>[5.4](https://systems-analysis.info/int/Patterns-RAG#cite_ref-weaviate-hybrid_5-4)</sup> Weaviate Docs. *Hybrid search (BM25+Vector)*. <a href="https://docs.weaviate.io/weaviate/concepts/search/hybrid-search" class="external free" rel="nofollow">https://docs.weaviate.io/weaviate/concepts/search/hybrid-search</a></span>
6.  <span id="cite_note-qdrant-hybrid-6">↑ <sup>[6.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-qdrant-hybrid_6-0)</sup> <sup>[6.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-qdrant-hybrid_6-1)</sup> <sup>[6.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-qdrant-hybrid_6-2)</sup> Qdrant Docs. *Hybrid Queries*. <a href="https://qdrant.tech/documentation/concepts/hybrid-queries/" class="external free" rel="nofollow">https://qdrant.tech/documentation/concepts/hybrid-queries/</a></span>
7.  <span id="cite_note-milvus-fulltext-7">↑ <sup>[7.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-milvus-fulltext_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-milvus-fulltext_7-1)</sup> <sup>[7.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-milvus-fulltext_7-2)</sup> Milvus Docs. *Full‑Text Search* и *Hybrid Search*. <a href="https://milvus.io/docs/full-text-search.md" class="external free" rel="nofollow">https://milvus.io/docs/full-text-search.md</a>; <a href="https://milvus.io/docs/hybrid_search_with_milvus.md" class="external free" rel="nofollow">https://milvus.io/docs/hybrid_search_with_milvus.md</a></span>
8.  <span id="cite_note-nogueira2019-8">↑ <sup>[8.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-nogueira2019_8-0)</sup> <sup>[8.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-nogueira2019_8-1)</sup> <sup>[8.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-nogueira2019_8-2)</sup> <sup>[8.3](https://systems-analysis.info/int/Patterns-RAG#cite_ref-nogueira2019_8-3)</sup> <sup>[8.4](https://systems-analysis.info/int/Patterns-RAG#cite_ref-nogueira2019_8-4)</sup> Nogueira, R., Cho, K. (2019). *Passage Re‑ranking with BERT*. arXiv:1901.04085.</span>
9.  <span id="cite_note-cohere-rerank-9">↑ <sup>[9.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-cohere-rerank_9-0)</sup> <sup>[9.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-cohere-rerank_9-1)</sup> Cohere Docs. *Rerank — best practices*. <a href="https://docs.cohere.com/docs/reranking-best-practices" class="external free" rel="nofollow">https://docs.cohere.com/docs/reranking-best-practices</a></span>
10. <span id="cite_note-llama-router-10">↑ <sup>[10.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-llama-router_10-0)</sup> <sup>[10.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-llama-router_10-1)</sup> <sup>[10.2](https://systems-analysis.info/int/Patterns-RAG#cite_ref-llama-router_10-2)</sup> LlamaIndex Docs. *Routing (query routers/selectors)*. <a href="https://docs.llamaindex.ai/en/stable/module_guides/querying/router/" class="external free" rel="nofollow">https://docs.llamaindex.ai/en/stable/module_guides/querying/router/</a></span>
11. <span id="cite_note-react-11">↑ <sup>[11.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-react_11-0)</sup> <sup>[11.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-react_11-1)</sup> Yao, S., et al. (2023). *ReAct: Synergizing Reasoning and Acting in Language Models*. ICLR 2023. arXiv:2210.03629.</span>
12. <span id="cite_note-webgpt-12">↑ <sup>[12.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-webgpt_12-0)</sup> <sup>[12.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-webgpt_12-1)</sup> Nakano, R., et al. (2021). *WebGPT: Browser‑assisted question‑answering with human feedback*. arXiv:2112.09332.</span>
13. <span id="cite_note-graphrag-13">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-graphrag_13-0) Microsoft Research Blog. *GraphRAG: Unlocking LLM discovery on narrative private data*. 2024. <a href="https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/" class="external free" rel="nofollow">https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/</a></span>
14. <span id="cite_note-graphrag-project-14">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-graphrag-project_14-0) Microsoft Research. *Project GraphRAG*. <a href="https://www.microsoft.com/en-us/research/project/graphrag/" class="external free" rel="nofollow">https://www.microsoft.com/en-us/research/project/graphrag/</a></span>
15. <span id="cite_note-visrag-15">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-visrag_15-0) Yu, S., et al. (2024). *VisRAG: Vision‑based Retrieval‑augmented Generation on Multi‑modality Documents*. arXiv:2410.10594; OpenReview: zG459X3Xge.</span>
16. <span id="cite_note-raptor-16">↑ <sup>[16.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-raptor_16-0)</sup> <sup>[16.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-raptor_16-1)</sup> Sarthi, P., et al. (2024). *RAPTOR: Recursive Abstractive Processing for Tree‑Organized Retrieval*. arXiv:2401.18059.</span>
17. <span id="cite_note-rcsplit-17">↑ <sup>[17.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-rcsplit_17-0)</sup> <sup>[17.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-rcsplit_17-1)</sup> LangChain Docs. *RecursiveCharacterTextSplitter*. <a href="https://python.langchain.com/docs/how_to/recursive_text_splitter/" class="external free" rel="nofollow">https://python.langchain.com/docs/how_to/recursive_text_splitter/</a></span>
18. <span id="cite_note-llama-hier-18">↑ <sup>[18.0](https://systems-analysis.info/int/Patterns-RAG#cite_ref-llama-hier_18-0)</sup> <sup>[18.1](https://systems-analysis.info/int/Patterns-RAG#cite_ref-llama-hier_18-1)</sup> LlamaIndex Docs. *HierarchicalNodeParser* et *Tree Summarization*. <a href="https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html" class="external free" rel="nofollow">https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html</a>; <a href="https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/" class="external free" rel="nofollow">https://docs.llamaindex.ai/en/stable/examples/low_level/response_synthesis/</a></span>
19. <span id="cite_note-ragas-19">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-ragas_19-0) Es, S., et al. (2024). *RAGAs: Automated Evaluation of Retrieval Augmented Generation*. EACL (Demo). <a href="https://aclanthology.org/2024.eacl-demo.16/" class="external free" rel="nofollow">https://aclanthology.org/2024.eacl-demo.16/</a></span>
20. <span id="cite_note-trulens-20">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-trulens_20-0) TruLens Docs. *RAG Triad*. <a href="https://www.trulens.org/getting_started/core_concepts/rag_triad/" class="external free" rel="nofollow">https://www.trulens.org/getting_started/core_concepts/rag_triad/</a></span>
21. <span id="cite_note-deepeval-21">[↑](https://systems-analysis.info/int/Patterns-RAG#cite_ref-deepeval_21-0) DeepEval (GitHub). <a href="https://github.com/confident-ai/deepeval" class="external free" rel="nofollow">https://github.com/confident-ai/deepeval</a></span>
