Guide / retrieval

Контекст и RAG

Длинный контекст — это не только размер окна, но и стратегия retrieval, chunking и budget.

Budget model

Разделите budget на части

Резервируйте место под system prompt, retrieved chunks, вопрос, history и ответ. Если сумма превышает окно, уменьшайте retrieval первым — это обычно сохраняет полезность ответа.

КомпонентДоляКомментарий
System5–10%Стабильные инструкции и формат
Retrieval45–65%Только релевантные chunks
Question10–20%Переформулируйте длинный вопрос
Answer20–30%Ограничьте max tokens
Pipeline

Локальный RAG pipeline

Ingest

Разбейте документ на chunks с сохранением заголовка, source и page number.

Index

Используйте Mica-Embed или совместимый encoder. Сохраняйте embedding revision.

Retrieve

Сначала выбирайте top-k по similarity, затем rerank-ите по структуре и смыслу.

Answer

Передавайте источники в prompt и просите модель ссылаться на chunk IDs.

Chunking

Практические ориентиры

  • Начинайте с 500–800 токенов на chunk для технических документов.
  • Не разрывайте таблицы и списки без overlap.
  • Храните source path, page и heading вместе с embedding.
  • Для больших документов используйте map-reduce, а не один огромный prompt.
retrieval: top_k: 8 chunk_tokens: 768 overlap_tokens: 96 rerank: lexical + semantic
Quality check

Измеряйте retrieval отдельно

Если ответ меняется, сначала проверьте, попал ли нужный chunk в top-k. Качество генератора и качество поиска — разные слои диагностики.

Минимальный eval: 20 вопросов с ожидаемым source ID, отдельно 10 вопросов без релевантного документа.