---
title: "Packaging & Context Handling"
source: "https://systems-analysis.info/wiki/Packaging_%26_Context_Handling"
wiki: "systems-analysis.info/wiki"
article: "Packaging_&_Context_Handling"
language: "ru"
categories:
  - "Категория:Prompt инжиниринг"
  - "Категория:Russian"
  - "Категория:Большие языковые модели"
revision_id: 158
wiki_created_at: 2026-09-06T22:04:36Z
wiki_modified_at: 2026-09-06T22:04:36Z
downloaded_at: 2026-09-07T22:17:56Z
---

# Packaging & Context Handling

**Packaging & Context Handling** — совокупность приёмов отбора, сжатия, раскладки и подачи извлечённых фрагментов знаний в контекст [LLM](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели") в составе Retrieval‑Augmented Generation (RAG). Цель — максимизировать полезность ограниченного [токен](https://systems-analysis.info/wiki/%D0%A2%D0%BE%D0%BA%D0%B5%D0%BD "Токен")‑бюджета, повысить точность и устойчивость ответов и обеспечить трассируемое цитирование источников. Под «упаковкой» понимается не только формирование списка фрагментов, но и их компрессия, порядок, группировка и инструкции модели, включая стратегии *stuff*, *map‑reduce*, *refine* и *tree‑of‑chunks*.<sup>[\[1\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lewis2020-1)[\[2\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-langchain-sum-2)</sup>

## Определение и мотивация

В RAG‑системах качество конечного ответа определяется не только ретривом, но и тем, *как* отобранные фрагменты попадают в промпт. Ограничения контекста и стоимость токенов заставляют балансировать между полнотой и точностью: лишние фрагменты повышают риск «потеряться в середине» (*lost‑in‑the‑middle*) и удлиняют латентность, а агрессивная фильтрация/компрессия может удалить ключевые доказательства.<sup>[\[3\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lostmiddle-3)</sup> В классическом RAG источники служат внешней «непараметрической памятью», обеспечивая актуальность и цитируемость, если упаковка позволяет LLM надёжно оперировать фактами и ссылками.<sup>[\[1\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lewis2020-1)</sup>

## Чанкование и извлечение контента

Политика сегментации (*chunking*) определяет размер/перекрытие чанков, нормализацию и гранулярность (*document*→*passage*→*sentence*). Типовые подходы:

- **Правило фиксированного размера** (по символам/токенам) с перекрытием для сохранения связности между чанками;<sup>[\[4\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lc-splitters-4)[\[5\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llama-splitters-5)</sup>
- **Семантическое чанкование** (границы по близости эмбеддингов), уменьшающее «разрывы смысла».<sup>[\[6\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llama-sem-6)</sup>
- **Sentence‑window retrieval** — изначально индексируются предложения; при ретриве извлекаются релевантные предложения с *окном* соседних предложений до/после для восстановления локального контекста.<sup>[\[7\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-haystack-sentwin-7)</sup>
- **Passage‑level индексация** — разбиение Википедии на ~100‑словные пассажи стало стандартом в открытом QA (DPR), что отражает пользу мелкой гранулярности для первых стадий.<sup>[\[8\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-dpr-8)</sup>
- **Нормализация и очистка** (удаление мусора, заголовков/футеров, унификация пробелов), трекинг исходников/страниц/смещений на уровне метаданных для трассировки.<sup>[\[9\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-haystack-pre-9)</sup>
- **Дедупликация** кандидатных чанков (точные и *near‑duplicate*): шинглы + MinHash/LSH для уменьшения повторов.<sup>[\[10\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-broder1997-10)</sup>

## Диверсификация и отбор (MMR и др.)

При формировании набора контекста требуется высокая релевантность и низкая избыточность. Классическая функция Maximal Marginal Relevance выбирает следующий фрагмент с учётом близости к запросу и *наибольшему* сходству с уже выбранными (штраф за дубликаты):

${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/wiki/Packaging_%26_Context_Handling#cite_note-mmr-11)</sup>

Комбинирование сигналов: гибридный ретрив (BM25 + dense) → фьюжн (например, Reciprocal Rank Fusion, RRF) → переранжирование кросс‑энкодером/ColBERT:

- **RRF**: простая и эффективная несупервизорная схема слияния ранжировок разнородных ретриверов.<sup>[\[12\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rrf-12)</sup>
- **Кросс‑энкодерные реранкеры** ([BERT](https://systems-analysis.info/wiki/BERT "BERT")/MonoT5/совр. коммерческие API) значительно повышают точность топ‑k, но добавляют латентность.<sup>[\[13\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-nogueira2019-13)[\[14\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-cohere-rerank-14)</sup>
- **Мультивекторный ретривер** ColBERT (*late interaction*) часто служит эффективным реранкером/ретривером первого уровня на больших корпусах.<sup>[\[15\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-colbert-15)</sup>
- **Гибридный поиск** (BM25F+вектор) реализован в промышленных движках и библиотеках с настраиваемым весом/фьюжном (альфа, RRF и т. п.).<sup>[\[16\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-weav-hybrid-16)[\[17\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-pine-hybrid-17)</sup>

## Компрессия контекста

Сокращение объёма контекста без потери фактов критично для стоимости и латентности:

- **Экстрактивная компрессия** (извлечение ключевых предложений/фраз); **абстрактивная суммаризация** (перефразирование/сжатие). Классическая перспектива — Nenkova & McKeown.<sup>[\[18\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-nenkova2011-18)</sup>
- **Query‑guided / instruction‑guided** сжатие: суммирование под запрос/задачу (выделение доказательств и удаления нерелевантного).
- **Prompt/context compression** средствами LLM‑фильтрации/прюнинга токенов (напр., LLMLingua/LLMLingua‑2) уменьшает токен‑бюджет при малой потере качества, но требует аккуратной валидации *faithfulness*.<sup>[\[19\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llmlingua-19)</sup>
- Компрессия — это компромисс *качество↔стоимость↔латентность*: агрессивное сжатие повышает риск пропуска нюансов/предпосылок и ухудшает атрибуцию фактов.<sup>[\[20\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-ji2023-20)</sup>

## Стратегии упаковки (stuff/map‑reduce/refine/tree)

Ниже — четыре базовые схемы раскладки источников в промпте и типовые сценарии их применения (см. также таблицу сравнения).

**Stuff** (прямая подача)  
Склеить выбранные фрагменты (после возможной компрессии) и подать их целиком. Просто и быстро, но ограничено объёмом и подвержено *lost‑in‑the‑middle* на длинном вводе.<sup>[\[2\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-langchain-sum-2)</sup>

**Map‑Reduce**  
На этапе *map* локально ответить/суммировать по каждому фрагменту/документу, затем *reduce* агрегирует (сравнение, голосование, слияние). Хорошо масштабируется по числу источников, снижая нагрузку на единичный промпт; риск потери перекрёстных связей между источниками при наивной агрегации.<sup>[\[2\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-langchain-sum-2)[\[21\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-fid-21)</sup>

**Refine**  
Последовательное улучшение: начальный ответ по первому фрагменту, затем итеративное *refine* с учётом следующего фрагмента (добавление/исправление). Удобно, когда важен порядок источников; риск «залипнуть» на ранних ошибках и накопить искажения.<sup>[\[22\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llama-refine-22)</sup>

**Tree‑of‑chunks**  
Иерархическое сжатие/сводка: локальные резюме по чанкам → свёртки на уровне разделов → итоговая сводка. Полезно для длинных документов; требует аккуратной передачи идентификаторов источников между уровнями для корректной атрибуции.<sup>[\[23\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llama-tree-23)</sup>

| Стратегия          | Идея                              | Стоимость/латентность           | Риск потери контекста                            | Когда применять                          | Источники                                                                                                                                                                                                        |
|--------------------|-----------------------------------|---------------------------------|--------------------------------------------------|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Stuff**          | Все фрагменты сразу в один промпт | Низкая (до лимита контекста)    | Высокий на длинных вводах (*lost‑in‑the‑middle*) | Небольшой объём, простые вопросы         | <sup>[\[2\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-langchain-sum-2)[\[3\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lostmiddle-3)</sup> |
| **Map‑Reduce**     | Локальные ответы → агрегация      | Средняя/высокая (много вызовов) | Средний (зависит от качества reduce)             | Много источников, нужна масштабируемость | <sup>[\[2\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-langchain-sum-2)[\[21\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-fid-21)</sup>      |
| **Refine**         | Последовательное улучшение ответа | Средняя                         | Зависимость от порядка, риск закрепления ошибок  | Когда важен порядок/эволюция ответа      | <sup>[\[22\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llama-refine-22)</sup>                                                                                                 |
| **Tree‑of‑chunks** | Иерархические сводки              | Средняя/высокая                 | Потеря деталей на верхних уровнях                | Длинные документы/сборники               | <sup>[\[23\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llama-tree-23)</sup>                                                                                                   |

Сравнение стратегий упаковки

## Порядок и позиционирование источников

LLM хуже используют сведения из середины длинного контекста; полезные факты лучше располагать в начале/конце, группировать по темам/источникам и маркировать заголовками и ID. Переранжирование с учётом *query‑aware* важности и диверсификации помогает выносить ключевые фрагменты ближе к началу.<sup>[\[3\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lostmiddle-3)[\[13\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-nogueira2019-13)</sup>

## Интеграция в пайплайн RAG (fusion → rerank → packaging)

Типичный многостадийный конвейер: **hybrid retrieval** (BM25 + dense) → **fusion** (RRF/взвешенная смесь) → **rerank** (Cross‑Encoder/ColBERT) → **packaging** (одна из стратегий) → **генерация** + **цитирование**. Гибридный поиск и RRF устойчивы к несопоставимости скорингов разных ретриверов; кросс‑энкодер повышает прецизионность входа в LLM, экономя токены.<sup>[\[16\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-weav-hybrid-16)[\[12\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rrf-12)[\[14\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-cohere-rerank-14)[\[15\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-colbert-15)</sup>

## Оценка качества и абляции

Оценивание проводят на уровнях ретрива, упаковки и генерации:

- **Ретрив**: Recall@k, nDCG@k, MRR — стандартные метрики ИП.<sup>[\[24\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-manning2008-24)</sup>
- **Faithfulness/groundedness**: доля утверждений, поддержанных цитатами; автоматические фреймворки (RAGAS, TruLens) + ручная валидация атрибуции.<sup>[\[25\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-ragas-25)[\[26\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-trulens-26)[\[27\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rashkin2023-27)</sup>
- **End‑to‑end QA**: EM/F1/[ROUGE](https://systems-analysis.info/wiki/ROUGE "ROUGE") в зависимости от задачи/датасета (NQ/HotpotQA и т. д.).<sup>[\[1\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lewis2020-1)</sup>
- **Эффективность**: latency p50/p95, число токенов, \$‑стоимость; сравнение стратегий упаковки и уровней компрессии по *качество↔стоимость*.
- **Абляции**: отключение MMR/дедупликации/компрессии/изменение порядка для измерения вклада каждого компонента (по состоянию на 2025‑09‑10 практика RAG‑исследований рекомендует отчётливо фиксировать k, λ, размеры чанков и лимиты токенов).<sup>[\[28\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rag-survey-28)</sup>

## Практические рекомендации и чек‑лист

- **k и диверсификация**: начинайте с k=20–40 кандидатов из гибридного ретрива; применяйте MMR с \lambda≈0.5–0.8; жёстко штрафуйте дубликаты по URL/ID/хешу текста.<sup>[\[11\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-mmr-11)[\[16\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-weav-hybrid-16)</sup>
- **Чанкование**: 200–400 токенов с 10–20% overlap при фиксированном чанковании; для юридико‑технических документов чаще помогает sentence/window схема.<sup>[\[4\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lc-splitters-4)[\[7\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-haystack-sentwin-7)</sup>
- **Компрессия**: используйте экстрактивную фильтрацию по запросу и осторожную абстракцию; LLMLingua‑подобные методы снижайте/повышайте в зависимости от *faithfulness* на ваших данных (обязательно A/B‑валидация).<sup>[\[19\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-llmlingua-19)[\[27\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rashkin2023-27)</sup>
- **Порядок**: важные/высокоуверенные фрагменты — в начале промпта; группируйте по источникам/темам, явно помечайте ID и заголовки; учитывайте эффект *lost‑in‑the‑middle* (дублирование ключевого факта в начале и конце может помочь).<sup>[\[3\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lostmiddle-3)</sup>
- **Реранк**: если разрешает бюджет, добавляйте Cross‑Encoder/ColBERT на топ‑k (k≈50–200) перед упаковкой — это экономит токены генерации и повышает точность.<sup>[\[13\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-nogueira2019-13)[\[15\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-colbert-15)</sup>
- **Fallback‑стратегии**: (1) нехватка фактов → запрос дополнительных источников; (2) превышение лимита токенов → переключение *stuff→refine* или включение компрессии; (3) низкая уверенность/противоречия → ответ‑отказ с явным списком недостающих ID (см. шаблон ниже).

### Псевдокод конвейера упаковки

    # Input: query q
    cands = retrieve(q, K_sparse, K_dense)          # поиск BM25, DPR etc.
    cands = diversify_MMR(cands, lambda=0.7)        # диверсификация (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 с цитатами

### Скелет prompt‑шаблона (фрагмент)

    [ЗАПРОС ПОЛЬЗОВАТЕЛЯ]
    {q}

    [ИСТОЧНИКИ]
    {# Каждый фрагмент с ID, названием и ссылкой #}
    - [{id}] {title} — {url}
    {content_snippet}

    [ТРЕБОВАНИЯ]
    1) Используй только факты из источников, ссылайся на [ID].
    2) Если данных недостаточно, скажи об этом и попроси уточнения/доп.источники.
    3) Сохраняй структуру ответа и укажи список использованных [ID].

## Ограничения и открытые вопросы

- **Галлюцинации и агрегация** в map‑reduce/refine: абстрактивные сводки могут вводить новые факты; критичны чёткие инструкции об атрибуции и механизмы проверки цитат.<sup>[\[20\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-ji2023-20)[\[27\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rashkin2023-27)</sup>
- **Потеря деталей** при агрессивной компрессии/иерархическом сжатии; важно хранить обратные ссылки до первоисточника/страницы/смещения.
- **Доменная переносимость** ретриверов/реранкеров и компрессоров; требуется адаптация/тонкая настройка на доменных корпусах.<sup>[\[28\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rag-survey-28)</sup>
- **Приватность/PII** и меморизация LLM: при генерации без строгого *grounding* возможна утечка приватных строк; применяйте фильтры, приватные хранилища и политику отказа.<sup>[\[29\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-carlini-29)[\[30\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-shokri-30)</sup>
- **Тренируемые «упаковщики»**, адаптивный порядок/раскладка, [RLHF](https://systems-analysis.info/wiki/RLHF "RLHF")/feedback‑петли для повышения *faithfulness*, мультиязычный и сверхдлинный контекст — активные направления исследований.<sup>[\[28\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-rag-survey-28)[\[3\]](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_note-lostmiddle-3)</sup>

## См. также

- [RAG-паттерны](https://systems-analysis.info/wiki/RAG-%D0%BF%D0%B0%D1%82%D1%82%D0%B5%D1%80%D0%BD%D1%8B "RAG-паттерны")
- [Большие языковые модели](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели")
- [Automatic Prompt Engineer (APE)](https://systems-analysis.info/wiki/Automatic_Prompt_Engineer_(APE) "Automatic Prompt Engineer (APE)")
- [Chain-of-Thought Prompting](https://systems-analysis.info/wiki/Chain-of-Thought_Prompting "Chain-of-Thought Prompting")
- [Chain-of-Verification](https://systems-analysis.info/wiki/Chain-of-Verification "Chain-of-Verification")

## Ссылки

- 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>

## Литература

- 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.

## Примечания

1.  <span id="cite_note-lewis2020-1">↑ <sup>[1,0](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-lewis2020_1-0)</sup> <sup>[1,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-lewis2020_1-1)</sup> <sup>[1,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-langchain-sum_2-0)</sup> <sup>[2,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-langchain-sum_2-1)</sup> <sup>[2,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-langchain-sum_2-2)</sup> <sup>[2,3](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-langchain-sum_2-3)</sup> <sup>[2,4](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-langchain-sum_2-4)</sup> LangChain Docs. *Summarization* (stuff/map_reduce/refine/map_rerank). (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-lostmiddle_3-0)</sup> <sup>[3,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-lostmiddle_3-1)</sup> <sup>[3,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-lostmiddle_3-2)</sup> <sup>[3,3](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-lostmiddle_3-3)</sup> <sup>[3,4](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-lc-splitters_4-0)</sup> <sup>[4,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-lc-splitters_4-1)</sup> LangChain Docs. *Text splitters* (RecursiveCharacter/TokenTextSplitter). (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-llama-splitters_5-0) LlamaIndex Docs. *SentenceSplitter / TokenTextSplitter / SemanticSplitter*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-llama-sem_6-0) LlamaIndex Docs. *SemanticSplitterNodeParser*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-haystack-sentwin_7-0)</sup> <sup>[7,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-haystack-sentwin_7-1)</sup> Haystack Docs. *SentenceWindowRetriever*. (доступ: 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/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-haystack-pre_9-0) Haystack Docs. *PreProcessors / DocumentSplitter*. (доступ: 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/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-mmr_11-0)</sup> <sup>[11,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-rrf_12-0)</sup> <sup>[12,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-nogueira2019_13-0)</sup> <sup>[13,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-nogueira2019_13-1)</sup> <sup>[13,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-cohere-rerank_14-0)</sup> <sup>[14,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-cohere-rerank_14-1)</sup> Cohere Docs. *Rerank API overview*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-colbert_15-0)</sup> <sup>[15,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-colbert_15-1)</sup> <sup>[15,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-weav-hybrid_16-0)</sup> <sup>[16,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-weav-hybrid_16-1)</sup> <sup>[16,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-weav-hybrid_16-2)</sup> Weaviate Docs. *Hybrid search (BM25F + vector)*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-pine-hybrid_17-0) Pinecone Docs. *Hybrid search*. (доступ: 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/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-llmlingua_19-0)</sup> <sup>[19,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-ji2023_20-0)</sup> <sup>[20,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-fid_21-0)</sup> <sup>[21,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-llama-refine_22-0)</sup> <sup>[22,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-llama-refine_22-1)</sup> LlamaIndex Docs. *Response Synthesizers: refine*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-llama-tree_23-0)</sup> <sup>[23,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-llama-tree_23-1)</sup> LlamaIndex Docs. *Tree Summarize*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-manning2008_24-0) Manning, C. D., Raghavan, P., Schütze, H. (2008). *Introduction to Information Retrieval*. Cambridge Univ. Press. (см. главы о 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/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-trulens_26-0) TruLens Docs. *Evaluating RAG (groundedness, relevance)*. (доступ: 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/wiki/Packaging_%26_Context_Handling#cite_ref-rashkin2023_27-0)</sup> <sup>[27,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-rashkin2023_27-1)</sup> <sup>[27,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#cite_ref-rag-survey_28-0)</sup> <sup>[28,1](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#cite_ref-rag-survey_28-1)</sup> <sup>[28,2](https://systems-analysis.info/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#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/wiki/Packaging_%26_Context_Handling#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>
