Перейти к содержанию
modelium.
Начать с задачи
←

Ollama num_predict: ограничить длину одного ответа

`num_predict` задаёт верхний предел генерируемых токенов — небольших частей текста — для одного запроса Ollama. Передайте число в `options` локального API и посмотрите `eval_count` в ответе. Модель может остановиться раньше, а короткий лимит способен оборвать фразу; настройка не увеличивает размер входного контекста.

Если локальная Ollama отвечает слишком длинно, можно ограничить один ответ через num_predict, не создавая нового варианта модели. Это число токенов — небольших частей текста, а не слов или предложений. Ниже учебный запрос на Linux: вы увидите ответ и счётчик сгенерированных токенов; длину текста и его смысл всё равно проверяет человек. s1 s2

Проверено по источникам 31 октября 2026 года: Ollama v0.40.13, локальный API (адрес программы для запросов из других приложений) и тег qwen2.5:1.5b, указанный в официальной библиотеке на эту дату. Нужны Linux с установленной Ollama, терминал, curl, свободное место под выбранную модель и достаточная оперативная или видеопамять для её запуска; универсальный минимум памяти здесь неизвестен. Интернет нужен для установки и первой загрузки модели, запрос отправляется на адрес вашего компьютера 127.0.0.1. Редакция сверила документацию и структуру команды, но не скачивала веса и не запускала модель: это инструкция по источникам, а не тест Modelium. s1 s4

Как ограничить один ответ и увидеть результат?

Откройте терминал Linux. Если Ollama ещё не установлена, начните с гайда запуска. На установленной программе выполните ollama pull qwen2.5:1.5b: дождитесь окончания загрузки, затем ollama list и найдите именно этот тег. Тег и его файлы в публичном реестре могут меняться; для повторяемого исследования запишите фактический идентификатор модели из своей установки. Если загрузка не удалась, не переходите к запросу; ошибка нехватки памяти может проявиться только при попытке запуска модели. s4

Отправьте один запрос командой curl -fsS http://127.0.0.1:11434/api/generate -H 'Content-Type: application/json' -d '{"model":"qwen2.5:1.5b","prompt":"Назови два способа сберечь заряд ноутбука одним коротким предложением.","stream":false,"options":{"num_predict":64}}'. curl обращается к локальной Ollama; stream:false просит один ответ в формате JSON (текст с именованными полями) вместо потока отдельных строк. В нём найдите response (полученный текст), done:true (завершение ответа) и eval_count (сколько токенов сгенерировано). Сверьте, отвечает ли текст на вопрос, а не только счётчик; конкретные слова модели заранее неизвестны. s1 s2 s4

При исправном ответе eval_count не должен превышать заданный предел 64, но может быть меньше: модель вправе завершить ответ раньше. В ответе этой версии done_reason: "length" указывает остановку по пределу; его отсутствие не делает текст проверенным. num_predict задаёт потолок вывода, а не требование выдать ровно столько токенов и не гарантирует полного предложения. Сохраните исходный текст и полученный ответ, прежде чем менять параметр на своей задаче. s1 s2 s6

Чем это отличается от контекста и Modelfile?

num_ctx — настройка окна контекста, то есть того, сколько токенов модель учитывает в запросе и истории; num_predict — предел генерируемого ответа. Увеличение второго не делает длинный документ допустимым входом, а слишком малое значение может оборвать фразу. Не используйте -1 из настройки по умолчанию как обещание бесконечной генерации: реальный ответ ограничивают и другие условия выполнения. s2 s3

Поле options меняет параметр только в приведённом запросе: в коде v0.40.13 настройки запроса применяются после настроек модели, а сама команда не создаёт новый тег. Если нужен отдельный именованный вариант модели с сохранённой настройкой, это другая операция — Ollama Modelfile. Для первого опыта с одним ответом новый тег не нужен. Если локальный адрес не отвечает, проверьте запуск Ollama и установленный тег; если ответ внезапно обрывается, поднимите num_predict для нового запроса и снова проверьте текст, не выдавая увеличение лимита за гарантию качества. s1 s2 s5

Что проверить перед использованием ответа?

На учебном вопросе проверьте два понятных совета; на своём тексте отдельно сверяйте все факты с исходными данными. Этот предел регулирует объём вывода, а не точность ответа, защиту данных или сетевую изоляцию. Для разбора того, почему два одинаково длинных русских предложения могут занимать разное число токенов, откройте объяснение токенов. s1 s2

Источники

  1. Ollama v0.40.13 — API: generate, options, stream и eval_count — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; Закреплённый docs/api.md, строки 34–59 и 98–158; копия и SHA в research/raw/2026-10-31/seo/ollama-num-predict/.. Получено 31.10.2026.
  2. Ollama v0.40.13 — параметры Modelfile — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; num_predict и num_ctx — разные параметры; сохранённая копия и SHA.. Получено 31.10.2026.
  3. Ollama v0.40.13 — типы Options и DefaultOptions — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; NumPredict в Options и дефолт -1 в версии; не означает бесконечную память или гарантию завершения.. Получено 31.10.2026.
  4. Официальная библиотека Ollama — тег qwen2.5:1.5b — Текущая карточка и manifest тега сохранены с SHA; тег может измениться после даты наблюдения.. Получено 31.10.2026.
  5. Ollama v0.40.13 — приоритет options отдельного запроса — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; Параметры запроса применяются после дефолтов и настроек модели, не изменяя Modelfile; исходник и SHA сохранены.. Получено 31.10.2026.
  6. Ollama v0.40.13 — передача num_predict в runner и счётчик ответа — revision 04088e7c9d41cba5d33bafbf788d87a465c79d5b; Также строки 1862–1876: n_predict передаётся runner, PredictN в EvalCount, stop type limit переводится в reason length; копия и SHA сохранены.. Получено 31.10.2026.