# Ollama top_p: как сравнить разнообразие локальных ответов

Источник: https://modelium.tech/zhurnal/ollama-top-p-api/

`top_p` ограничивает набор возможных продолжений текста при генерации ответа. В Ollama его можно задать для отдельного запроса и сравнить результаты на одном вопросе. Это не настройка достоверности: различия между двумя ответами сами по себе не доказывают действие параметра.

Допустим, вы попросили локальную модель предложить идеи для вечера, а ответы кажутся однообразными. `top_p` позволяет изменить набор возможных продолжений ответа для **одного** запроса. Ниже — способ сравнить два значения на одном задании, а не обещание получить более оригинальные или правильные советы. [s1](#src-s1) [s2](#src-s2)

**Уровень — работа с терминалом Linux.** Инструкция сверена по документации и исходникам Ollama v0.40.13 на 31 октября 2026 года. Понадобятся установленная Ollama, `curl`, место на диске для тега `qwen2.5:1.5b` и достаточная память для его запуска; универсальный минимум оперативной и видеопамяти для этого примера не измерен. Интернет требуется для установки и загрузки модели, а сами запросы направляются на `127.0.0.1` вашего компьютера. Редакция модель не запускала и не измеряла разнообразие ответов. [s2](#src-s2) [s6](#src-s6)

## Как отправить два одинаковых задания?

Если программу ещё не поставили, начните с [гайда по Ollama](/zapusk/ollama/). В терминале Linux выполните `ollama pull qwen2.5:1.5b`, дождитесь загрузки и найдите этот тег в выводе `ollama list`. Тег в библиотеке может обновляться; для точного повторения позже сохраните сведения о фактически скачанной модели и версии Ollama. Если загрузка прошла, это ещё не доказывает достаточность памяти для ответа. [s6](#src-s6)

Отправьте первый запрос: `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":{"top_p":0.5,"top_k":40,"temperature":0.8}}'`. Здесь локальный API — адрес программы для запросов других программ, а JSON — текстовый набор полей. `stream:false` возвращает один объект вместо потока частей ответа. Найдите в нём поле `response` и запишите фактические пять идей; если их меньше или они повторяются, отметьте это, не сочиняя ожидаемый ответ за модель. [s1](#src-s1) [s2](#src-s2)

Повторите вопрос, изменив только `top_p`: `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":{"top_p":0.95,"top_k":40,"temperature":0.8}}'`. Сравните реальные идеи: сколько разных, сколько повторов и соответствуют ли они условию «без покупок». Сохранённые значения `top_k` и `temperature` позволяют не менять эти две настройки между запросами, но одна пара ответов **не доказывает**, что вся разница вызвана `top_p`: попробуйте несколько повторов каждого варианта на той же модели и версии. [s1](#src-s1) [s2](#src-s2)

## Что меняет top_p, а что остаётся прежним?

По описанию Ollama, более высокое `top_p` допускает более разнообразное продолжение, низкое — более сосредоточенное; параметр работает вместе с `top_k`, другим ограничителем выбора продолжения. Это описание разработчика, а не измерение редакции на выбранном теге. Высокое значение не делает сведения точнее и не гарантирует, что все пять советов окажутся полезными. [s1](#src-s1)

В v0.40.13 базовое `top_p` в исходном коде — `0.9`, но настройки скачанной модели могут его заменить. В двух командах значение задано явно в `options`: код Ollama применяет параметры запроса после настроек модели и передаёт результат в программу выполнения. Эти запросы **не сохраняют** новый вариант модели; если нужен собственный тег с постоянными настройками, это отдельная операция с [Modelfile](/zhurnal/ollama-modelfile/). [s3](#src-s3) [s4](#src-s4) [s5](#src-s5)

## Что проверить, если ответ не появился или не подходит?

Если нет соединения, проверьте, запущена ли Ollama и есть ли тег в `ollama list`; изменение `top_p` не исправит отсутствие сервера или нехватку памяти. Если ответ есть, но идеи повторяются, не повышайте число бесконечно: сравните несколько ответов и оцените их по условиям задания. Отдельно [прочтите о температуре](/zhurnal/ollama-temperature-api/), которая тоже влияет на выбор продолжения: меняйте её в другом опыте, а не одновременно с `top_p`. Факты и полезность советов всегда проверяет человек; локальный адрес сам по себе не доказывает полную сетевую изоляцию всех компонентов. [s1](#src-s1) [s2](#src-s2)

## Источники

1. [Ollama v0.40.13 — Modelfile, top_p и top_k](https://github.com/ollama/ollama/blob/04088e7c9d41cba5d33bafbf788d87a465c79d5b/docs/modelfile.mdx#valid-parameters-and-values) — получено 2026-10-31
2. [Ollama v0.40.13 — Generate API и options](https://github.com/ollama/ollama/blob/04088e7c9d41cba5d33bafbf788d87a465c79d5b/docs/api.md#generate-a-completion) — получено 2026-10-31
3. [Ollama v0.40.13 — Options и DefaultOptions](https://github.com/ollama/ollama/blob/04088e7c9d41cba5d33bafbf788d87a465c79d5b/api/types.go#L573-L590) — получено 2026-10-31
4. [Ollama v0.40.13 — порядок настроек модели и запроса](https://github.com/ollama/ollama/blob/04088e7c9d41cba5d33bafbf788d87a465c79d5b/server/routes.go#L139-L172) — получено 2026-10-31
5. [Ollama v0.40.13 — передача top_p в runner](https://github.com/ollama/ollama/blob/04088e7c9d41cba5d33bafbf788d87a465c79d5b/llm/llama_server.go#L1702-L1708) — получено 2026-10-31
6. [Официальная библиотека Ollama — qwen2.5:1.5b](https://ollama.com/library/qwen2.5:1.5b) — получено 2026-10-31
