---
title: "Packaging & Context Handling (FR)"
source: "https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)"
wiki: "systems-analysis.info/int"
article: "Packaging_&_Context_Handling_(FR)"
language: "fr"
categories:
  - "Category:French"
  - "Category:Large language models"
  - "Category:Prompt engineering"
revision_id: 5391
wiki_created_at: 2026-09-06T23:48:37Z
wiki_modified_at: 2026-09-06T23:48:37Z
downloaded_at: 2026-09-07T23:08:13Z
---

# Packaging & Context Handling (FR)

**Packaging & Context Handling** — un ensemble de techniques de sélection, de compression, d'agencement et de fourniture de fragments de connaissances extraits dans le contexte des [LLM](https://systems-analysis.info/int/Grands_mod%C3%A8les_de_langage "Grands modèles de langage") dans le cadre de la Retrieval‑Augmented Generation (RAG). L'objectif est de maximiser l'utilité d'un budget en tokens limité, d'améliorer la précision et la robustesse des réponses, et d'assurer une citation traçable des sources. Le terme « packaging » (empaquetage) désigne non seulement la formation d'une liste de fragments, mais aussi leur compression, leur ordre, leur regroupement et les instructions données au modèle, y compris les stratégies *stuff*, *map‑reduce*, *refine* et *tree‑of‑chunks*.<sup>[\[1\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lewis2020-1)[\[2\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-langchain-sum-2)</sup>

## Définition et motivation

Dans les systèmes RAG, la qualité de la réponse finale est déterminée non seulement par le retrieval (recherche d'information), mais aussi par la *manière* dont les fragments sélectionnés sont présentés dans le prompt. Les contraintes de contexte et le coût des tokens obligent à trouver un équilibre entre l'exhaustivité et la précision : des fragments superflus augmentent le risque de « perte au milieu » (*lost‑in‑the‑middle*) et allongent la latence, tandis qu'un filtrage ou une compression agressive peut éliminer des preuves clés.<sup>[\[3\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lostmiddle-3)</sup> Dans un RAG classique, les sources servent de « mémoire non paramétrique » externe, garantissant l'actualité et la citabilité des informations, à condition que le packaging permette au LLM d'exploiter de manière fiable les faits et les références.<sup>[\[1\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lewis2020-1)</sup>

## Segmentation et extraction de contenu

La politique de segmentation (*chunking*) définit la taille et le chevauchement des fragments (chunks), la normalisation et la granularité (*document*→*passage*→*sentence*). Les approches typiques sont les suivantes :

- **Règle de taille fixe** (par caractères/tokens) avec chevauchement pour maintenir la cohérence entre les chunks ;<sup>[\[4\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lc-splitters-4)[\[5\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llama-splitters-5)</sup>
- **Segmentation sémantique** (frontières basées sur la proximité des embeddings), qui réduit les « ruptures de sens ».<sup>[\[6\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llama-sem-6)</sup>
- **Sentence‑window retrieval** — les phrases sont initialement indexées ; lors du retrieval, les phrases pertinentes sont extraites avec une *fenêtre* de phrases voisines (avant/après) pour reconstituer le contexte local.<sup>[\[7\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-haystack-sentwin-7)</sup>
- **Indexation au niveau du passage** — la division de Wikipédia en passages d'environ 100 mots est devenue une norme en QA (Question Answering) ouvert (DPR), ce qui illustre l'utilité d'une granularité fine pour les premières étapes.<sup>[\[8\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-dpr-8)</sup>
- **Normalisation et nettoyage** (suppression des éléments superflus, en-têtes/pieds de page, unification des espaces), suivi des sources/pages/décalages au niveau des métadonnées pour la traçabilité.<sup>[\[9\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-haystack-pre-9)</sup>
- **Dédoublonnage** des chunks candidats (exacts et *near-duplicates*) : bardeaux (shingles) + MinHash/LSH pour réduire les redondances.<sup>[\[10\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-broder1997-10)</sup>

## Diversification et sélection (MMR et autres)

La constitution de l'ensemble de contexte exige une pertinence élevée et une faible redondance. La fonction classique de Maximal Marginal Relevance (MMR) sélectionne le fragment suivant en tenant compte de sa proximité avec la requête et de sa similarité *maximale* avec les fragments déjà choisis (pénalité pour les doublons) :

${MMR}(d_{i}) = \arg\max\limits_{d_{i} \in D \smallsetminus S}\left\lbrack \lambda \cdot {sim}(q,d_{i}) - (1 - \lambda) \cdot \max\limits_{d_{j} \in S}{sim}(d_{i},d_{j}) \right\rbrack,\ \lambda \in \lbrack 0,1\rbrack$.<sup>[\[11\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-mmr-11)</sup>

Combinaison de signaux : recherche hybride (BM25 + dense) → fusion (par exemple, Reciprocal Rank Fusion, RRF) → réordonnancement (reranking) par cross-encoder/ColBERT :

- **RRF** : une méthode de fusion non supervisée, simple et efficace, pour combiner les classements de différents retrievers.<sup>[\[12\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rrf-12)</sup>
- **Réordonnanceurs à base de cross-encoders** (BERT/MonoT5/API commerciales modernes) améliorent considérablement la précision du top‑k, mais ajoutent de la latence.<sup>[\[13\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-nogueira2019-13)[\[14\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-cohere-rerank-14)</sup>
- Le **retriever multi-vecteurs** ColBERT (*late interaction*) sert souvent de réordonnanceur/retriever efficace de premier niveau sur de grands corpus.<sup>[\[15\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-colbert-15)</sup>
- La **recherche hybride** (BM25F + vecteur) est implémentée dans les moteurs et bibliothèques industriels avec des poids/fusions configurables (alpha, RRF, etc.).<sup>[\[16\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-weav-hybrid-16)[\[17\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-pine-hybrid-17)</sup>

## Compression de contexte

La réduction du volume du contexte sans perte de faits est essentielle pour maîtriser les coûts et la latence :

- **Compression extractive** (extraction de phrases/expressions clés) ; **résumé abstractif** (reformulation/synthèse). La perspective classique est celle de Nenkova & McKeown.<sup>[\[18\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-nenkova2011-18)</sup>
- Compression **guidée par la requête (query-guided) / par instruction (instruction-guided)** : résumé orienté vers une requête/tâche (mise en évidence des preuves et suppression des éléments non pertinents).
- **Compression de prompt/contexte** par des techniques de filtrage/élagage de tokens basées sur des LLM (par ex., LLMLingua/LLMLingua‑2) réduit le budget en tokens avec une faible perte de qualité, mais nécessite une validation minutieuse de la *faithfulness* (fidélité).<sup>[\[19\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llmlingua-19)</sup>
- La compression est un compromis *qualité↔coût↔latence* : une compression agressive augmente le risque d'omettre des nuances/prémisses et nuit à l'attribution des faits.<sup>[\[20\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-ji2023-20)</sup>

## Stratégies de packaging (stuff/map‑reduce/refine/tree)

Ci-dessous sont présentées quatre stratégies de base pour organiser les sources dans le prompt, ainsi que leurs scénarios d'application typiques (voir également le tableau comparatif).

**Stuff** (injection directe)  
Concaténer les fragments sélectionnés (après une éventuelle compression) et les fournir en une seule fois. Simple et rapide, mais limité par le volume et sujet au phénomène de *lost‑in‑the‑middle* sur les longues entrées.<sup>[\[2\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-langchain-sum-2)</sup>

**Map‑Reduce**  
Durant l'étape *map*, répondre/résumer localement pour chaque fragment/document, puis l'étape *reduce* agrège les résultats (comparaison, vote, fusion). Se met bien à l'échelle avec le nombre de sources, réduisant la charge sur un seul prompt ; risque de perdre les liens croisés entre les sources avec une agrégation naïve.<sup>[\[2\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-langchain-sum-2)[\[21\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-fid-21)</sup>

**Refine**  
Amélioration séquentielle : une réponse initiale est générée à partir du premier fragment, puis elle est itérativement affinée (*refine*) en tenant compte du fragment suivant (ajout/correction). Pratique lorsque l'ordre des sources est important ; risque de rester bloqué sur des erreurs initiales et d'accumuler des distorsions.<sup>[\[22\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llama-refine-22)</sup>

**Tree‑of‑chunks**  
Compression/synthèse hiérarchique : résumés locaux par chunks → agrégations au niveau des sections → résumé final. Utile pour les documents longs ; nécessite une transmission soignée des identifiants de source entre les niveaux pour une attribution correcte.<sup>[\[23\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llama-tree-23)</sup>

| Stratégie          | Idée                                    | Coût/Latence                           | Risque de perte de contexte                               | Quand l'utiliser                                    | Sources                                                                                                                                                                                                                  |
|--------------------|-----------------------------------------|----------------------------------------|-----------------------------------------------------------|-----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Stuff**          | Tous les fragments dans un seul prompt  | Faible (jusqu'à la limite du contexte) | Élevé pour les longues entrées (*lost‑in‑the‑middle*)     | Volume faible, questions simples                    | <sup>[\[2\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-langchain-sum-2)[\[3\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lostmiddle-3)</sup> |
| **Map‑Reduce**     | Réponses locales → agrégation           | Moyen/Élevé (nombreux appels)          | Moyen (dépend de la qualité de l'étape de réduction)      | Nombreuses sources, besoin de scalabilité           | <sup>[\[2\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-langchain-sum-2)[\[21\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-fid-21)</sup>      |
| **Refine**         | Amélioration séquentielle de la réponse | Moyen                                  | Dépendance à l'ordre, risque de consolidation des erreurs | Quand l'ordre/évolution de la réponse est important | <sup>[\[22\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llama-refine-22)</sup>                                                                                                     |
| **Tree‑of‑chunks** | Résumés hiérarchiques                   | Moyen/Élevé                            | Perte de détails aux niveaux supérieurs                   | Documents longs/collections                         | <sup>[\[23\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llama-tree-23)</sup>                                                                                                       |

Comparaison des stratégies de packaging

## Ordre et positionnement des sources

Les LLM exploitent moins bien les informations situées au milieu d'un long contexte ; il est préférable de placer les faits utiles au début ou à la fin, de les regrouper par thème/source et de les marquer avec des en-têtes et des ID. Le réordonnancement (reranking) en tenant compte de l'importance *query-aware* (liée à la requête) et de la diversification aide à positionner les fragments clés plus près du début.<sup>[\[3\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lostmiddle-3)[\[13\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-nogueira2019-13)</sup>

## Intégration dans le pipeline RAG (fusion → rerank → packaging)

Un pipeline multi-étapes typique est le suivant : **recherche hybride** (BM25 + dense) → **fusion** (RRF/mélange pondéré) → **réordonnancement** (Cross‑Encoder/ColBERT) → **packaging** (l'une des stratégies) → **génération** + **citation**. La recherche hybride et le RRF sont robustes face à l'incompatibilité des scores de différents retrievers ; le cross-encoder augmente la précision de l'entrée du LLM, économisant ainsi des tokens.<sup>[\[16\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-weav-hybrid-16)[\[12\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rrf-12)[\[14\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-cohere-rerank-14)[\[15\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-colbert-15)</sup>

## Évaluation de la qualité et ablations

L'évaluation est effectuée aux niveaux du retrieval, du packaging et de la génération :

- **Retrieval** : Recall@k, nDCG@k, MRR — métriques standards en recherche d'information (RI).<sup>[\[24\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-manning2008-24)</sup>
- **Faithfulness/groundedness** : proportion d'affirmations étayées par des citations ; frameworks automatisés (RAGAS, TruLens) + validation manuelle de l'attribution.<sup>[\[25\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-ragas-25)[\[26\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-trulens-26)[\[27\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rashkin2023-27)</sup>
- **QA de bout en bout (End‑to‑end QA)** : EM/F1/ROUGE en fonction de la tâche/du jeu de données (NQ/HotpotQA, etc.).<sup>[\[1\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lewis2020-1)</sup>
- **Efficacité** : latence p50/p95, nombre de tokens, coût en \$ ; comparaison des stratégies de packaging et des niveaux de compression selon le compromis *qualité↔coût*.
- **Ablations** : désactivation du MMR/dédoublonnage/compression/modification de l'ordre pour mesurer la contribution de chaque composant (à la date du 2025‑09‑10, la pratique de la recherche sur le RAG recommande de documenter clairement k, λ, la taille des chunks et les limites de tokens).<sup>[\[28\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rag-survey-28)</sup>

## Recommandations pratiques et check-list

- **k et diversification** : commencez avec k=20–40 candidats issus de la recherche hybride ; appliquez le MMR avec λ≈0.5–0.8 ; pénalisez fortement les doublons par URL/ID/hash de texte.<sup>[\[11\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-mmr-11)[\[16\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-weav-hybrid-16)</sup>
- **Segmentation (Chunking)** : 200–400 tokens avec un chevauchement (overlap) de 10–20% pour une segmentation de taille fixe ; pour les documents juridico-techniques, le schéma sentence/window est souvent plus efficace.<sup>[\[4\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lc-splitters-4)[\[7\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-haystack-sentwin-7)</sup>
- **Compression** : utilisez un filtrage extractif basé sur la requête et une abstraction prudente ; ajustez (à la baisse ou à la hausse) les méthodes de type LLMLingua en fonction de la *faithfulness* observée sur vos données (validation A/B indispensable).<sup>[\[19\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-llmlingua-19)[\[27\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rashkin2023-27)</sup>
- **Ordre** : placez les fragments importants/à haute confiance au début du prompt ; regroupez par source/thème, marquez explicitement les ID et les titres ; tenez compte de l'effet *lost‑in‑the‑middle* (dupliquer un fait clé au début et à la fin peut aider).<sup>[\[3\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lostmiddle-3)</sup>
- **Réordonnancement (Rerank)** : si le budget le permet, ajoutez un Cross‑Encoder/ColBERT sur le top‑k (k≈50–200) avant le packaging — cela économise des tokens de génération et améliore la précision.<sup>[\[13\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-nogueira2019-13)[\[15\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-colbert-15)</sup>
- **Stratégies de repli (Fallback)** : (1) manque de faits → demander des sources supplémentaires ; (2) dépassement de la limite de tokens → passer de *stuff* à *refine* ou activer la compression ; (3) faible confiance/contradictions → fournir une réponse de refus avec une liste explicite des ID manquants (voir le modèle ci-dessous).

### Pseudo-code du pipeline de packaging

    # Entrée : requête q
    cands = retrieve(q, K_sparse, K_dense)          # recherche BM25, DPR etc.
    cands = diversify_MMR(cands, lambda=0.7)        # diversification (MMR)
    snips = compress(query=q, items=cands, mode="extractive|abstractive", budget=tokens)
    pkg   = package(snips, strategy="stuff|map_reduce|refine|tree")
    resp  = generate(prompt=build_prompt(q, pkg), citations=True)  # LLM avec citations

### Squelette de modèle de prompt (fragment)

    [REQUÊTE UTILISATEUR]
    {q}

    [SOURCES]
    {# Chaque fragment avec son ID, son titre et son lien #}
    - [{id}] {title} — {url}
    {content_snippet}

    [EXIGENCES]
    1) Utilise uniquement les faits provenant des sources et cite-les avec leur [ID].
    2) Si les données sont insuffisantes, signale-le et demande des précisions ou des sources supplémentaires.
    3) Conserve la structure de la réponse et liste les [ID] utilisés.

## Limitations et questions ouvertes

- **Hallucinations et agrégation** dans map‑reduce/refine : les résumés abstractifs peuvent introduire de nouveaux faits ; des instructions claires sur l'attribution et des mécanismes de vérification des citations sont essentiels.<sup>[\[20\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-ji2023-20)[\[27\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rashkin2023-27)</sup>
- **Perte de détails** lors d'une compression agressive ou d'une synthèse hiérarchique ; il est important de conserver des liens inverses vers la source originale (page/décalage).
- **Portabilité entre domaines** des retrievers, réordonnanceurs et compresseurs ; une adaptation/un réglage fin sur des corpus de domaine est nécessaire.<sup>[\[28\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rag-survey-28)</sup>
- **Confidentialité/PII** et mémorisation des LLM : une génération sans *grounding* strict peut entraîner la fuite de chaînes de caractères privées ; il convient d'appliquer des filtres, d'utiliser des stockages privés et d'adopter une politique de refus.<sup>[\[29\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-carlini-29)[\[30\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-shokri-30)</sup>
- Les **« packagers » entraînables**, l'agencement/ordre adaptatif, les boucles de rétroaction/RLHF pour améliorer la *faithfulness*, le contexte multilingue et extra-long sont des axes de recherche actifs.<sup>[\[28\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-rag-survey-28)[\[3\]](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_note-lostmiddle-3)</sup>

## Liens externes

- LangChain: *Summarization* (stuff/map_reduce/refine). <a href="https://python.langchain.com/docs/tutorials/summarization/" class="external autonumber" rel="nofollow">[29]</a>
- LangChain: *Text splitters*. <a href="https://python.langchain.com/docs/concepts/text_splitters/" class="external autonumber" rel="nofollow">[30]</a>
- LlamaIndex: *Response Synthesizers (refine/tree)*. <a href="https://docs.llamaindex.ai/en/stable/module_guides/deploying/response_synthesizers/" class="external autonumber" rel="nofollow">[31]</a>
- LlamaIndex: *Node Parsers / SentenceSplitter / SemanticSplitter*. <a href="https://docs.llamaindex.ai/en/stable/module_guides/loading/node_parsers/modules/" class="external autonumber" rel="nofollow">[32]</a>
- Haystack: *SentenceWindowRetriever*. <a href="https://docs.haystack.deepset.ai/docs/sentencewindowretrieval" class="external autonumber" rel="nofollow">[33]</a>
- Haystack: *PreProcessors / DocumentSplitter*. <a href="https://docs.haystack.deepset.ai/docs/preprocessors" class="external autonumber" rel="nofollow">[34]</a>
- Weaviate: *Hybrid search*. <a href="https://docs.weaviate.io/weaviate/concepts/search/hybrid-search" class="external autonumber" rel="nofollow">[35]</a>
- Pinecone: *Hybrid search*. <a href="https://docs.pinecone.io/docs/hybrid-search" class="external autonumber" rel="nofollow">[36]</a>
- Cohere: *Rerank API*. <a href="https://docs.cohere.com/docs/rerank-overview" class="external autonumber" rel="nofollow">[37]</a>
- RAGAS (repo/docs). <a href="https://arxiv.org/abs/2309.15217" class="external autonumber" rel="nofollow">[38]</a> <a href="https://github.com/explodinggradients/ragas" class="external autonumber" rel="nofollow">[39]</a>
- TruLens (docs). <a href="https://www.trulens.org/trulens_eval/getting_started/evaluation/" class="external autonumber" rel="nofollow">[40]</a>

## Littérature

- Manning, C. D., Raghavan, P., Schütze, H. (2008). *Introduction to Information Retrieval*. Cambridge University Press. ISBN 978‑0521865715.
- Nenkova, A., McKeown, K. (2011). *Automatic Summarization*. FnT IR, 5(2–3), 103–233. DOI:10.1561/1500000015.
- Lewis, P., et al. (2020). *Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks*. NeurIPS. arXiv:2005.11401.
- Khattab, O., Zaharia, M. (2020). *ColBERT*. SIGIR’20. DOI:10.1145/3397271.3401075.
- Izacard, G., Grave, E. (2021). *Fusion‑in‑Decoder*. EACL. arXiv:2007.01282.
- Ji, Z., et al. (2023). *Survey of Hallucination in NLG*. ACM CS. DOI:10.1145/3571730.
- Gao, S., et al. (2024). *RAG for LLM: A Survey*. arXiv:2312.10997.

## Références

1.  <span id="cite_note-lewis2020-1">↑ <sup>[1.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lewis2020_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lewis2020_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lewis2020_1-2)</sup> Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., et al. (2020). *Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks*. NeurIPS. arXiv:2005.11401. <a href="https://arxiv.org/abs/2005.11401" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-langchain-sum-2">↑ <sup>[2.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-langchain-sum_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-langchain-sum_2-1)</sup> <sup>[2.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-langchain-sum_2-2)</sup> <sup>[2.3](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-langchain-sum_2-3)</sup> <sup>[2.4](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-langchain-sum_2-4)</sup> LangChain Docs. *Summarization* (stuff/map_reduce/refine/map_rerank). (consulté le 2025‑09‑10). <a href="https://python.langchain.com/docs/tutorials/summarization/" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-lostmiddle-3">↑ <sup>[3.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lostmiddle_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lostmiddle_3-1)</sup> <sup>[3.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lostmiddle_3-2)</sup> <sup>[3.3](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lostmiddle_3-3)</sup> <sup>[3.4](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lostmiddle_3-4)</sup> Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., Liang, P. (2024). *Lost in the Middle: How Language Models Use Long Contexts*. TACL. arXiv:2307.03172. <a href="https://arxiv.org/abs/2307.03172" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-lc-splitters-4">↑ <sup>[4.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lc-splitters_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-lc-splitters_4-1)</sup> LangChain Docs. *Text splitters* (RecursiveCharacter/TokenTextSplitter). (consulté le 2025‑09‑10). <a href="https://python.langchain.com/docs/concepts/text_splitters/" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-llama-splitters-5">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llama-splitters_5-0) LlamaIndex Docs. *SentenceSplitter / TokenTextSplitter / SemanticSplitter*. (consulté le 2025‑09‑10). <a href="https://docs.llamaindex.ai/en/stable/api_reference/node_parsers/sentence_splitter/" class="external autonumber" rel="nofollow">[5]</a> <a href="https://docs.llamaindex.ai/en/stable/api_reference/node_parsers/token_text_splitter/" class="external autonumber" rel="nofollow">[6]</a> <a href="https://docs.llamaindex.ai/en/stable/api_reference/node_parsers/semantic_splitter/" class="external autonumber" rel="nofollow">[7]</a></span>
6.  <span id="cite_note-llama-sem-6">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llama-sem_6-0) LlamaIndex Docs. *SemanticSplitterNodeParser*. (consulté le 2025‑09‑10). <a href="https://docs.llamaindex.ai/en/stable/api_reference/node_parsers/semantic_splitter/" class="external autonumber" rel="nofollow">[8]</a></span>
7.  <span id="cite_note-haystack-sentwin-7">↑ <sup>[7.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-haystack-sentwin_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-haystack-sentwin_7-1)</sup> Haystack Docs. *SentenceWindowRetriever*. (consulté le 2025‑09‑10). <a href="https://docs.haystack.deepset.ai/docs/sentencewindowretrieval" class="external autonumber" rel="nofollow">[9]</a></span>
8.  <span id="cite_note-dpr-8">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-dpr_8-0) Karpukhin, V., Oguz, B., Min, S., Lewis, P., Wu, L., Edunov, S., Chen, D., Yih, W.‑T. (2020). *Dense Passage Retrieval for Open‑Domain Question Answering*. EMNLP. arXiv:2004.04906. <a href="https://arxiv.org/abs/2004.04906" class="external autonumber" rel="nofollow">[10]</a></span>
9.  <span id="cite_note-haystack-pre-9">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-haystack-pre_9-0) Haystack Docs. *PreProcessors / DocumentSplitter*. (consulté le 2025‑09‑10). <a href="https://docs.haystack.deepset.ai/docs/preprocessors" class="external autonumber" rel="nofollow">[11]</a> <a href="https://docs.haystack.deepset.ai/docs/documentsplitter" class="external autonumber" rel="nofollow">[12]</a></span>
10. <span id="cite_note-broder1997-10">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-broder1997_10-0) Broder, A. Z. (1997). *On the Resemblance and Containment of Documents*. Compression and Complexity of Sequences. <a href="https://www.cs.princeton.edu/courses/archive/spring13/cos598C/broder97resemblance.pdf" class="external autonumber" rel="nofollow">[13]</a></span>
11. <span id="cite_note-mmr-11">↑ <sup>[11.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-mmr_11-0)</sup> <sup>[11.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-mmr_11-1)</sup> Carbonell, J., Goldstein, J. (1998). *The Use of MMR, Diversity‑Based Reranking for Reordering Documents and Producing Summaries*. SIGIR’98, pp. 335–336. DOI:10.1145/290941.291025.</span>
12. <span id="cite_note-rrf-12">↑ <sup>[12.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rrf_12-0)</sup> <sup>[12.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rrf_12-1)</sup> Cormack, G. V., Clarke, C. L. A., Büttcher, S. (2009). *Reciprocal Rank Fusion outperforms Condorcet and Individual Rank Learning Methods*. SIGIR’09, pp. 758–759. DOI:10.1145/1571941.1572114. <a href="https://cormack.uwaterloo.ca/cormacksigir09-rrf.pdf" class="external autonumber" rel="nofollow">[14]</a></span>
13. <span id="cite_note-nogueira2019-13">↑ <sup>[13.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-nogueira2019_13-0)</sup> <sup>[13.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-nogueira2019_13-1)</sup> <sup>[13.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-nogueira2019_13-2)</sup> Nogueira, R., Cho, K. (2019). *Passage Re‑ranking with BERT*. arXiv:1901.04085. <a href="https://arxiv.org/abs/1901.04085" class="external autonumber" rel="nofollow">[15]</a></span>
14. <span id="cite_note-cohere-rerank-14">↑ <sup>[14.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-cohere-rerank_14-0)</sup> <sup>[14.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-cohere-rerank_14-1)</sup> Cohere Docs. *Rerank API overview*. (consulté le 2025‑09‑10). <a href="https://docs.cohere.com/docs/rerank-overview" class="external autonumber" rel="nofollow">[16]</a></span>
15. <span id="cite_note-colbert-15">↑ <sup>[15.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-colbert_15-0)</sup> <sup>[15.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-colbert_15-1)</sup> <sup>[15.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-colbert_15-2)</sup> Khattab, O., Zaharia, M. (2020). *ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT*. SIGIR’20, pp. 39–48. DOI:10.1145/3397271.3401075. arXiv:2004.12832.</span>
16. <span id="cite_note-weav-hybrid-16">↑ <sup>[16.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-weav-hybrid_16-0)</sup> <sup>[16.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-weav-hybrid_16-1)</sup> <sup>[16.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-weav-hybrid_16-2)</sup> Weaviate Docs. *Hybrid search (BM25F + vector)*. (consulté le 2025‑09‑10). <a href="https://docs.weaviate.io/weaviate/concepts/search/hybrid-search" class="external autonumber" rel="nofollow">[17]</a></span>
17. <span id="cite_note-pine-hybrid-17">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-pine-hybrid_17-0) Pinecone Docs. *Hybrid search*. (consulté le 2025‑09‑10). <a href="https://docs.pinecone.io/docs/hybrid-search" class="external autonumber" rel="nofollow">[18]</a></span>
18. <span id="cite_note-nenkova2011-18">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-nenkova2011_18-0) Nenkova, A., McKeown, K. (2011). *Automatic Summarization*. Foundations and Trends in Information Retrieval, 5(2–3), 103–233. DOI:10.1561/1500000015.</span>
19. <span id="cite_note-llmlingua-19">↑ <sup>[19.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llmlingua_19-0)</sup> <sup>[19.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llmlingua_19-1)</sup> Zhu, Y., Shao, Z., Li, M., et al. (2023). *LLMLingua: Compressing Prompts for Accelerating LLM Inference*. arXiv:2310.05736. <a href="https://arxiv.org/abs/2310.05736" class="external autonumber" rel="nofollow">[19]</a></span>
20. <span id="cite_note-ji2023-20">↑ <sup>[20.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-ji2023_20-0)</sup> <sup>[20.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-ji2023_20-1)</sup> Ji, Z., Lee, N., Frieske, R., et al. (2023). *Survey of Hallucination in Natural Language Generation*. ACM Computing Surveys, 55(12), Art.248. DOI:10.1145/3571730.</span>
21. <span id="cite_note-fid-21">↑ <sup>[21.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-fid_21-0)</sup> <sup>[21.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-fid_21-1)</sup> Izacard, G., Grave, E. (2021). *Leveraging Passage Retrieval with Generative Models for Open‑Domain QA (Fusion‑in‑Decoder)*. EACL. arXiv:2007.01282. <a href="https://arxiv.org/abs/2007.01282" class="external autonumber" rel="nofollow">[20]</a></span>
22. <span id="cite_note-llama-refine-22">↑ <sup>[22.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llama-refine_22-0)</sup> <sup>[22.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llama-refine_22-1)</sup> LlamaIndex Docs. *Response Synthesizers: refine*. (consulté le 2025‑09‑10). <a href="https://docs.llamaindex.ai/en/stable/module_guides/deploying/response_synthesizers/#refine" class="external autonumber" rel="nofollow">[21]</a></span>
23. <span id="cite_note-llama-tree-23">↑ <sup>[23.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llama-tree_23-0)</sup> <sup>[23.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-llama-tree_23-1)</sup> LlamaIndex Docs. *Tree Summarize*. (consulté le 2025‑09‑10). <a href="https://docs.llamaindex.ai/en/stable/module_guides/deploying/response_synthesizers/#tree-summarize" class="external autonumber" rel="nofollow">[22]</a></span>
24. <span id="cite_note-manning2008-24">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-manning2008_24-0) Manning, C. D., Raghavan, P., Schütze, H. (2008). *Introduction to Information Retrieval*. Cambridge Univ. Press. (voir chapitres sur nDCG/MRR). <a href="https://nlp.stanford.edu/IR-book/" class="external autonumber" rel="nofollow">[23]</a></span>
25. <span id="cite_note-ragas-25">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-ragas_25-0) Es, S., et al. (2023). *RAGAS: Automated Evaluation of Retrieval‑Augmented Generation*. arXiv:2309.15217. <a href="https://arxiv.org/abs/2309.15217" class="external autonumber" rel="nofollow">[24]</a></span>
26. <span id="cite_note-trulens-26">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-trulens_26-0) TruLens Docs. *Evaluating RAG (groundedness, relevance)*. (consulté le 2025‑09‑10). <a href="https://www.trulens.org/trulens_eval/getting_started/evaluation/" class="external autonumber" rel="nofollow">[25]</a></span>
27. <span id="cite_note-rashkin2023-27">↑ <sup>[27.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rashkin2023_27-0)</sup> <sup>[27.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rashkin2023_27-1)</sup> <sup>[27.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rashkin2023_27-2)</sup> Rashkin, H., Nakov, P., et al. (2023). *Measuring Attribution in Natural Language Generation*. Computational Linguistics, 49(4), 1207–1261. DOI:10.1162/coli_a_00486.</span>
28. <span id="cite_note-rag-survey-28">↑ <sup>[28.0](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rag-survey_28-0)</sup> <sup>[28.1](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rag-survey_28-1)</sup> <sup>[28.2](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-rag-survey_28-2)</sup> Gao, S., et al. (2024). *Retrieval‑Augmented Generation for Large Language Models: A Survey*. arXiv:2312.10997. <a href="https://arxiv.org/abs/2312.10997" class="external autonumber" rel="nofollow">[26]</a></span>
29. <span id="cite_note-carlini-29">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-carlini_29-0) Carlini, N., Tramèr, F., et al. (2021). *Extracting Training Data from Large Language Models*. USENIX Security. <a href="https://www.usenix.org/system/files/sec21-carlini-extracting.pdf" class="external autonumber" rel="nofollow">[27]</a></span>
30. <span id="cite_note-shokri-30">[↑](https://systems-analysis.info/int/Packaging_%26_Context_Handling_(FR)#cite_ref-shokri_30-0) Shokri, R., Stronati, M., Song, C., Shmatikov, V. (2017). *Membership Inference Attacks Against ML Models*. IEEE S&P. <a href="https://www.cs.cornell.edu/~shmat/shmat_oak17.pdf" class="external autonumber" rel="nofollow">[28]</a></span>
