Что такое контекстное окно нейросети
Контекстное окно — сколько текста языковая модель может учесть за один раз. Измеряется оно в токенах — кусочках текста (справка Что такое токен в нейросети). Всё, что модель «видит», должно поместиться в это окно; что не поместилось, для неё не существует.
Что входит в окно
- ваши сообщения за весь разговор;
- ответы модели — они тоже занимают место;
- вставленные документы, файлы, страницы;
- скрытые инструкции сервиса (системный промпт).
Модель не помнит прошлые разговоры сама по себе: каждый новый чат начинается с пустого окна. Если сервис «помнит» что-то о вас между чатами, это его отдельная функция — он сам подкладывает эти заметки в контекст.
Что бывает в длинном чате
Когда разговор перерастает окно, сервис что-то делает с лишним — зависит от сервиса: убирает самые старые сообщения, заменяет их кратким пересказом или сообщает, что чат слишком длинный. Со стороны это выглядит так, будто модель «забыла» начало разговора.
Даже если текст помещается, в очень длинном контексте модель хуже замечает отдельные детали, особенно в середине. Поэтому:
- для новой задачи начинайте новый чат;
- в длинной работе попросите краткий итог («перечислите, что уже решено») и начните новый чат с этого итога;
- вставляйте не весь документ, а нужную часть;
- важное условие повторите рядом с вопросом.
Сколько помещается
Размер окна у моделей разный, от нескольких тысяч до сотен тысяч токенов и больше. Его указывают в описании модели. Большое окно удобно для длинных документов, но и обрабатывается дольше.
Контекст у локальной модели
На своём компьютере размер окна задаёте вы, и чем оно больше, тем больше нужно памяти (справка Сколько видеопамяти нужно для нейросети).
- Ollama — по умолчанию окно в несколько тысяч токенов (точное значение — в документации вашей версии). Для всех моделей его меняет переменная окружения
OLLAMA_CONTEXT_LENGTH, для отдельного запроса через API — параметрnum_ctx. - llama.cpp — ключ
-cпри запуске, например-c 8192; значение0— взять размер, заданный в самой модели.
Если модель вдруг стала отвечать не по документу, который вы вставили, первым делом проверьте, не больше ли документ размера окна.