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

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

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

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

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

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

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

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

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

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

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

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

  1. FROM qwen3:0.6b
  2. PARAMETER temperature 0
  3. PARAMETER num_predict 80
  4. SYSTEM Отвечай по-русски. Если данных недостаточно, скажи, чего не хватает.

Здесь FROM выбирает исходный тег, temperature уменьшает случайность генерации, а num_predict ограничивает количество генерируемых токенов — не слов. В примере нет TEMPLATE и MESSAGE: мы не подменяем формат диалога модели и не записываем выдуманную историю общения. Инструкция в SYSTEM — пожелание, которое надо проверять на собственном наборе запросов, а не обещание безошибочных ответов. Значение num_ctx намеренно не зафиксировано: если нужен длинный ввод, подберите его по задаче и проверьте память отдельно. s1 s5 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 s4 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 s4 s8

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

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

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

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

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

Следующий шаг: создайте один вариант, сохраните вывод show --modelfile и пару ответов с digest; затем пройдите проверку контекста и размещения Ollama на своём устройстве. s1 s4 s5

Источники

  1. Ollama: Modelfile Reference — Живой Markdown и HTML сохранены 07.10.2026; SHA-256 в manifest.json.. Получено 07.10.2026.
  2. Ollama API: Create a model — Контракт создания модели и параметры API; снимки и SHA-256 в manifest.json.. Получено 07.10.2026.
  3. Ollama API: Generate a response — Локальный /api/generate, stream=false и options; снимки в evidence.. Получено 07.10.2026.
  4. Ollama API: List models — Имя локального тега и digest; снимки в evidence.. Получено 07.10.2026.
  5. Ollama FAQ: context, GPU and proxy — Контекст задаётся и через API options, а ollama ps показывает размещение.. Получено 07.10.2026.
  6. Ollama: Importing a Model — Импорт GGUF — отдельный случай FROM с файлом, не предмет текущего маршрута.. Получено 07.10.2026.
  7. Ollama Library: qwen3:0.6b — Наблюдаемый тег qwen3:0.6b и указанный на карточке digest с началом 7df6b6e09427; тег может измениться.. Получено 07.10.2026.
  8. Ollama repository: Modelfile reference, pinned — revision b3f78b77328bccc4f5af336d16efee69407dbcb1; Закреплённый Git-файл; снимок s8.mdx и SHA-256 в manifest.json; не утверждается, что сайт docs развёрнут на этом SHA.. Получено 07.10.2026.