Если top k слишком маленький, система может не найти нужный фрагмент, даже если он есть в базе знаний. Если top k слишком большой, в контекст попадает шум: похожие, но лишние chunks, старые документы, дубли и противоречивые куски. Это ухудшает ответ, увеличивает стоимость и может повышать риск галлюцинаций.
Top k нельзя выбирать “на глаз” один раз навсегда. Его подбирают на тестовом наборе вопросов: смотрят, находится ли нужный источник, сколько мусора попадает в контекст, хватает ли context window и как меняется качество ответа после reranking.
На практике top k часто работает вместе с другими настройками: similarity threshold, metadata filters, hybrid search, reranker, chunk size, overlap и ограничением общего контекстного бюджета. Поэтому хорошая RAG-настройка — это баланс recall, precision, скорости и стоимости.
Примеры
- Если top k = 3, RAG берет три самых похожих chunk из векторной базы и передает их модели.
- Для короткой FAQ-базы top k = 3 может быть достаточно, а для большой базы договоров иногда нужно top k = 10 или reranker.
- При top k = 20 модель получает много лишних фрагментов, начинает путаться и цитирует не тот документ.
- Команда увеличила top k с 5 до 12, а затем добавила reranker, чтобы не потерять нужный фрагмент и убрать шум перед ответом.
- Для запроса с фильтром по клиенту top k считается только внутри документов этого клиента, а не по всей базе.
Где используется
- Настроить качество поиска в RAG-системе.
- Подобрать баланс между полнотой поиска и шумом в контексте.
- Проверить, почему агент не нашел нужный документ.
- Снизить стоимость и размер контекста за счет меньшего числа chunks.
- Улучшить ответы через связку top k, reranker и metadata filters.
- Сравнить качество retrieval на eval-наборе вопросов.
- Настроить внутренний поиск по базе знаний, договорам или документации.
Связанные термины
Частые вопросы
Что такое top k простыми словами?
Это сколько результатов поиск должен вернуть. Например, top k = 5 означает: взять пять самых похожих фрагментов из базы и передать их дальше.
Какой top k выбрать для RAG?
Универсального числа нет. Часто начинают с 3-8, затем проверяют на реальных вопросах: найден ли нужный источник, не слишком ли много шума и помещается ли контекст в модель.
Что будет, если top k слишком маленький?
RAG может пропустить нужный chunk. Тогда модель ответит неполно, скажет “не знаю” или начнет опираться на менее подходящий источник.
Что будет, если top k слишком большой?
В контекст попадет много лишних фрагментов. Ответ может стать хуже, дороже и длиннее, а модель может смешать данные из разных документов.
Top k и similarity threshold — это одно и то же?
Нет. Top k задает количество результатов, а similarity threshold задает минимальную похожесть. Их часто используют вместе: сначала найти кандидатов, затем отфильтровать слабые совпадения.