Guide / retrieval
Контекст и RAG
Длинный контекст — это не только размер окна, но и стратегия retrieval, chunking и budget.
Budget model
Разделите budget на части
Резервируйте место под system prompt, retrieved chunks, вопрос, history и ответ. Если сумма превышает окно, уменьшайте retrieval первым — это обычно сохраняет полезность ответа.
| Компонент | Доля | Комментарий |
|---|---|---|
| System | 5–10% | Стабильные инструкции и формат |
| Retrieval | 45–65% | Только релевантные chunks |
| Question | 10–20% | Переформулируйте длинный вопрос |
| Answer | 20–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 + semanticQuality check
Измеряйте retrieval отдельно
Если ответ меняется, сначала проверьте, попал ли нужный chunk в top-k. Качество генератора и качество поиска — разные слои диагностики.
Минимальный eval: 20 вопросов с ожидаемым source ID, отдельно 10 вопросов без релевантного документа.