# Ollama Modelfile: свой вариант модели, параметры и шаблон

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

Ollama Modelfile описывает вариант уже выбранной модели: базовый тег задаётся через FROM, инструкции поведения — через SYSTEM, параметры генерации — через PARAMETER. Сохраните файл, выполните ollama create и сравните конфигурацию и ответ нового тега с исходным. Создание такого варианта не является дообучением; пользовательский TEMPLATE требует проверки формата конкретной модели.

**Источники проверены 7 октября 2026 года.** Ни Ollama, ни модель Modelium в этом материале не запускал. Зафиксируйте свою версию Ollama и digest исходного тега перед повторением; официальный сайт может меняться независимо от закреплённого Git-файла документации. [s1](#src-s1) [s4](#src-s4) [s8](#src-s8)

## Что меняет Modelfile и когда он нужен?

Modelfile — текстовое описание варианта модели для Ollama. Обязательная директива `FROM` выбирает базу; `SYSTEM` задаёт системную инструкцию; `PARAMETER` настраивает генерацию; `TEMPLATE` управляет полным форматом промпта. Создание варианта не обучает веса заново: здесь меняются инструкции и конфигурация обслуживания поверх существующего тега. Это полезно, если приложению нужен отдельный именованный вариант с фиксированной стартовой инструкцией, например для черновиков ответов на русском языке. [s1](#src-s1) [s2](#src-s2) [s8](#src-s8)

Не называйте Modelfile механизмом защиты данных или гарантией поведения: системная инструкция не заменяет внешнюю проверку результата. Для импорта готового GGUF `FROM` указывает путь к файлу, а не существующий тег; это другой маршрут со своей проверкой совместимости. Для изменения параметра лишь в одном запросе можно передать `options` в локальном API, не создавать новый тег. [s1](#src-s1) [s3](#src-s3) [s6](#src-s6)

## Что подготовить до создания своего тега?

Установите Ollama по [стартовому руководству](/zapusk/ollama/). Выберите уже доступный базовый тег и проверьте его: для демонстрации подходит показанный в официальной библиотеке `qwen3:0.6b`. Команда `ollama pull qwen3:0.6b` загружает модель; `ollama list` и `curl http://127.0.0.1:11434/api/tags` позволяют сверить наличие имени и фактический digest. На просмотренной карточке digest начинается с `7df6b6e09427`; совпадение этого префикса у вашей установки не гарантировано при изменении тега. Загрузка требует соединения с реестром и не является офлайн-шагом. [s4](#src-s4) [s7](#src-s7)

Небольшой размер файла на карточке не следует переводить в минимум RAM/VRAM: реальная потребность зависит от выбранного контекста, исполнения и устройства. Перед запуском на своей машине проверьте собственное размещение через `ollama ps`; при увеличении `num_ctx` возможен дополнительный расход памяти. Качество на русских документах и требуемое железо этим примером не установлены. [s5](#src-s5) [s7](#src-s7)

## Как составить Modelfile без замены шаблона?

Создайте в отдельном рабочем каталоге обычный текстовый файл с точным именем `Modelfile` и четырьмя строками, каждая с новой строки:

- `FROM qwen3:0.6b`

- `PARAMETER temperature 0`

- `PARAMETER num_predict 80`

- `SYSTEM Отвечай по-русски. Если данных недостаточно, скажи, чего не хватает.`

Здесь `FROM` выбирает исходный тег, `temperature` уменьшает случайность генерации, а `num_predict` ограничивает количество генерируемых токенов — не слов. В примере нет `TEMPLATE` и `MESSAGE`: мы не подменяем формат диалога модели и не записываем выдуманную историю общения. Инструкция в `SYSTEM` — пожелание, которое надо проверять на собственном наборе запросов, а не обещание безошибочных ответов. Значение `num_ctx` намеренно не зафиксировано: если нужен длинный ввод, подберите его по задаче и проверьте память отдельно. [s1](#src-s1) [s5](#src-s5) [s8](#src-s8)

В каталоге с файлом выполните `ollama create local-ru-draft -f ./Modelfile`. Документация задаёт форму команды `ollama create <name> -f <path>` и затем `ollama run <name>`. Имя `local-ru-draft` используется только как ваш локальный тег; не отправляйте его через `ollama push` без отдельного решения о содержимом, лицензии и правах. Если сервер недоступен, сначала проверьте его запуск и `GET /api/tags`, а не повторяйте создание под новым именем вслепую. [s1](#src-s1) [s4](#src-s4) [s6](#src-s6)

## Как проверить конфигурацию и реальный ответ?

Сначала выполните `ollama show --modelfile local-ru-draft` и проверьте наличие `SYSTEM`, `PARAMETER temperature 0` и `PARAMETER num_predict 80`. Вывод может включать сгенерированную строку `FROM` с локальным blob-путём и унаследованный шаблон; не копируйте чужой абсолютный путь в переносимый файл. Сверьте `local-ru-draft` в `ollama list` или `GET /api/tags` и запишите его digest: это проверка создания тега, **не** доказательство качества ответа. [s1](#src-s1) [s4](#src-s4) [s8](#src-s8)

Затем запустите `ollama run local-ru-draft` и задайте пару контролируемых вопросов: один с известным вам фактом и один с заведомо отсутствующим контекстом. Сохраните ответ вместе с моделью, digest, вопросом и настройками, вручную отметьте язык, наличие лишних утверждений и случай обрыва после установленного лимита. Сравните те же вопросы с исходным `qwen3:0.6b`; одиночное удачное совпадение с `SYSTEM` не доказывает строгого соблюдения инструкции. У модели с режимом рассуждения лимит токенов может повлиять на видимую длину ответа — если результат обрезан, проверьте конфигурацию и [отдельное руководство по thinking](/zhurnal/ollama-thinking-mode/). [s1](#src-s1) [s3](#src-s3) [s7](#src-s7)

Для программной проверки используйте локальный `POST http://127.0.0.1:11434/api/generate` с полями `model: local-ru-draft`, `prompt: <ваш тестовый вопрос>` и `stream: false`: в этом режиме API возвращает единый JSON-ответ. Если передадите в запросе `options` (например, другое `temperature`), фактический запрос уже отличается от настроек Modelfile: фиксируйте это различие при сравнении. Не подменяйте сетевой тест просмотром файла: он показывает намерение конфигурации, а не фактический маршрут процесса. [s3](#src-s3) [s1](#src-s1)

## Когда нужен TEMPLATE и что делать при ошибке?

`TEMPLATE` заменяет полный шаблон промпта; его переменные включают `.System`, `.Prompt` и `.Response`, но синтаксис может быть специфичен для модели. Поэтому сначала изучите `ollama show --modelfile qwen3:0.6b` и документацию подходящего варианта. Если ваши изменения требуют особого протокола токенов, тестируйте новый вариант отдельно на входах с системной инструкцией и несколькими репликами; не переносите демонстрационный шаблон другого семейства в Qwen3 вслепую. Если нужна лишь настройка поведения, оставьте исходный TEMPLATE унаследованным. [s1](#src-s1) [s8](#src-s8)

Если `ollama create` сообщает об отсутствии базы, проверьте точное имя тега и результат `ollama list`; если модель отвечает иначе, чем ожидалось, сопоставьте вывод `show --modelfile`, фактический API-запрос и переданные `options`. При обрыве ответа пересмотрите `num_predict`, контекст и собственный тестовый вопрос, затем повторите тест. Для закрытого контура отдельно контролируйте сеть: локальный адрес API и Modelfile сами по себе не доказывают отсутствие внешнего трафика. Modelium не запускал ни одну из перечисленных проверок на реальной модели. [s1](#src-s1) [s3](#src-s3) [s4](#src-s4) [s5](#src-s5)

**Следующий шаг:** создайте один вариант, сохраните вывод `show --modelfile` и пару ответов с digest; затем пройдите [проверку контекста и размещения Ollama](/zhurnal/ollama-kontekst-dlya-agenta/) на своём устройстве. [s1](#src-s1) [s4](#src-s4) [s5](#src-s5)

## Источники

1. [Ollama: Modelfile Reference](https://docs.ollama.com/modelfile) — получено 2026-10-07
2. [Ollama API: Create a model](https://docs.ollama.com/api/create) — получено 2026-10-07
3. [Ollama API: Generate a response](https://docs.ollama.com/api/generate) — получено 2026-10-07
4. [Ollama API: List models](https://docs.ollama.com/api/tags) — получено 2026-10-07
5. [Ollama FAQ: context, GPU and proxy](https://docs.ollama.com/faq) — получено 2026-10-07
6. [Ollama: Importing a Model](https://docs.ollama.com/import) — получено 2026-10-07
7. [Ollama Library: qwen3:0.6b](https://ollama.com/library/qwen3:0.6b) — получено 2026-10-07
8. [Ollama repository: Modelfile reference, pinned](https://raw.githubusercontent.com/ollama/ollama/b3f78b77328bccc4f5af336d16efee69407dbcb1/docs/modelfile.mdx) — получено 2026-10-07
