Локальный ИИ · Своя модель

Своя нейросеть: 5 строк в файле, и она отвечает по вашим правилам

Страница модели qwen2.5 в библиотеке Ollama: метки размеров от 0.5b до 72b и команда запуска

Вам нужно, чтобы модель не называла цен, держалась тона и не лезла куда не просят. Своя нейросеть для этого не обучается с нуля: берут готовую модель и кладут поверх файл из 5 строк со своими правилами. Бесплатно и на вашем компьютере, первый вход 5-7 минут со скачиванием, сборка поверх скачанного за доли секунды

Поставьте Ollama с ollama.com/download, откройте окно команд: на Mac Программы, Утилиты, Терминал, на Windows Пуск и PowerShell

Первая: ollama pull qwen2.5:7b, ждите success. Вторая заводит папку и файл: mkdir -p ~/moya-neyroset && cd ~/moya-neyroset && touch Modelfile. Третья открывает его: open -a TextEdit Modelfile, на Windows notepad Modelfile (все команды под Windows собраны в своём разделе)

Впишите вот это, своё правило вместо моего, и сохраните:

FROM qwen2.5:7b

SYSTEM """
Цены не называй: отвечай «цену скажет мастер».
"""

PARAMETER temperature 0.3

Четвёртая: ollama create pomoshnik-salona -f Modelfile, ждите success, дальше ollama run pomoshnik-salona

Поставьте Ollama с ollama.com/download и скачайте готовую модель командой ollama pull qwen2.5:7b. Рядом создайте файл с именем Modelfile без расширения и впишите 5 строк: FROM qwen2.5:7b, затем SYSTEM с вашими правилами внутри тройных кавычек, затем PARAMETER temperature 0.3. Запустите ollama create со своим именем и ключом -f Modelfile, дождитесь слова success и наберите ollama run с тем же именем: модель начнёт отвечать по вашим правилам. Первый вход занимает 5-7 минут вместе со скачиванием самой модели, а своя модель поверх уже скачанной собирается за доли секунды

Как понять, что получилось

Ждать вам придётся дважды, и числа у этих ожиданий разные. Первый раз, пока на диске нет ещё ничего: установщик Ollama 190 МБ, дальше модель качается 2-3 минуты на обычном домашнем канале (у меня 815 МБ приехали за 72 секунды, модель на 2,5 ГБ за 150 секунд). Второй раз, когда модель уже лежит: сборка своей модели заняла 0,05 секунды, ответ приходит за 0,3 секунды. Почти весь вечер уйдёт не на команды и не на скачивание, а на то, чтобы сформулировать правила так, как вы их понимаете

Скачивание тоже кончается не на первой похожей строке: после ollama pull пробегают verifying sha256 digest и writing manifest, и только потом приходит success. Смотрите на последние строки в окне: после ollama create программа печатает writing manifest, а следом success. Значит своя модель собрана и лежит рядом с готовыми

Программа отвечает восемью строками. Вот весь её ответ из моего прогона, без единой выброшенной строки:

gathering model components
using existing layer sha256:2bada8a7450677000f678be90653b85d364de7db25eb5ea54136ada5f3933730
using existing layer sha256:eb4402837c7829a690fa845de4d7f3fd842c2adee476d5341da8a46ea9255175
using existing layer sha256:832dd9e00a68dd83b3c3fb9f5588dad7dcf337a0db50f7d9483f310cd292e92e
using existing layer sha256:4f851b7f93dc586b8935e1be24f9f54660023da27bfab053ca2dddd056b743f6
using existing layer sha256:2dd8b8f832aed529d85bab2e28fb249e2ac02645643aefb91dd4a2fe1b7010e9
writing manifest
success

Длинные строки с sha256 у вас будут свои, и часть из них скажет не using existing layer, а creating new layer: это как раз ваши правила, которых на диске ещё не было. У меня они уже лежали от прошлой сборки, поэтому все пять строк одинаковые. Сверять эти строки не нужно, важны только две последние

Последняя строка success и есть ответ на вопрос «получилось ли». Сборка занимает меньше секунды, потому что сама модель уже лежит на диске, а сверху добавляется только слой с вашими правилами

Проверить себя можно и раньше, на самой первой странице. Я открывал страницу загрузки под двумя системами и снял оба экрана: под Mac на ней стоит кнопка Download for macOS и подпись paste this in terminal, под Windows - Download for Windows и paste this in PowerShell. Если вы видите кнопку под чужую систему, переключатель вверху страницы стоит не на вашей: нажмите на нужный

Страница загрузки Ollama в версии для Mac с кнопкой Download for macOS и строкой команды установки
Страница загрузки под Mac: переключатель macOS вверху, строка команды в рамке и чёрная кнопка Download for macOS
Та же страница загрузки Ollama под Windows с кнопкой Download for Windows и своей строкой команды
Та же страница под Windows: переключатель Windows, своя строка команды и кнопка Download for Windows

Дальше проверьте не сборку, а сами правила: задайте вопрос, который правило прямо запрещает. Формулировка в ответе должна совпасть с вашей формулировкой из файла

Прогон с правилом «цены не называй никогда, отвечай "точную цену скажет мастер на записи"» дал на вопрос «сколько стоит у вас маникюр с покрытием?» ответ Точную цену скажет мастер на записи. По этому и узнаёте, что правило встало: модель отдала вашу фразу дословно, а не выдумала цену

Правило про длину проверяется так же и наоборот: попросите то, что правило запрещает. На просьбу «расскажи подробно историю маникюра с древнего Египта до наших дней» модель с правилом «не больше трёх предложений» ответила ровно тремя предложениями, хотя её просили подробно

Если ответ пришёл не по правилам, дело почти всегда в формулировке, а не в модели. Таблица переформулировок лежит ниже, в памятке

Модель у вас теперь своя, а сама она пока обычная готовая - как устроены эти готовые модели и чем они друг от друга отличаются, разобрано в гайде что такое нейросеть и в разборе локальных моделей

Как выглядит сам файл целиком

В начале статьи файл стоял с одним правилом, чтобы не тормозить вас на первом шаге. Вот он целиком, дословно тот, по которому собрана модель из моего прогона, с четырьмя правилами сразу:

FROM qwen2.5:7b

SYSTEM """
Ты помощник администратора маникюрного салона. Отвечай коротко, не больше трёх предложений.
Говори на «вы».
Цены не называй никогда: на вопрос о цене отвечай «точную цену скажет мастер на записи».
Про здоровье, лекарства и медицинские противопоказания не консультируй: отвечай «это вопрос к врачу».
"""

PARAMETER temperature 0.3

Строка FROM берёт готовую модель: имя вместе с меткой размера, ровно как на странице библиотеки. Блок SYSTEM это ваши правила, и тройные кавычки """ стоят до и после них, потому что правил больше одной строки. Последняя строка PARAMETER temperature 0.3 держит модель близко к правилам: заводское значение 0.8, и на нём она вольничает заметно сильнее

Правил может быть сколько угодно, по одному в строке. Пишите их запретом плюс заменой: не «не говори о ценах», а «цены не называй никогда: на вопрос о цене отвечай так-то». Запрет без замены модель часто обходит, а запрет с готовой фразой она отдаёт дословно

Вы на Windows или файл получился Modelfile.txt

В PowerShell папка и пустой файл заводятся четырьмя командами подряд, по одной на строку: cd ~, затем mkdir moya-neyroset, затем cd moya-neyroset, затем New-Item Modelfile. Последняя напечатает строку с именем созданного файла. Дальше открывайте его любым текстовым редактором и вписывайте правила

Ловушка тут одна и общая для всех редакторов Windows: в окне Сохранить как поле Тип файла по умолчанию стоит на текстовом документе, и система дописывает к имени .txt. Получается Modelfile.txt, а команда сборки такой файл не видит и отвечает Error: no Modelfile or safetensors files found - то же самое сообщение, что при запуске не из той папки. Проверено прогоном: в папке лежал только файл с расширением, и команда его не нашла

Лечится в том же окне: в поле Тип файла выберите Все файлы, тогда имя сохранится ровно таким, как вы его напечатали, и впишите Modelfile без точки и без расширения. На Mac этой ловушки нет: файл заводится командой touch, она берёт имя дословно

Проверить имя можно не выходя из окна: напечатайте ls на Mac или dir на Windows. В списке должна стоять строка Modelfile, а не Modelfile.txt

Вторая частая мель - папка. Команда ollama create берёт файл из ТОЙ папки, где вы стоите прямо сейчас. Вернуться в свою папку из любого места можно одной строкой: cd ~/moya-neyroset на Mac, cd ~\moya-neyroset на Windows

Вам надо выбрать модель под свой компьютер

Имя модели в строке FROM берётся не по памяти, а со страницы библиотеки. Откройте ollama.com/library и найдите нужное семейство: у каждой модели там своя страница с метками размеров

Страница модели qwen2.5 в библиотеке Ollama с метками размеров от 0.5b до 72b и командой запуска
Страница модели: метки 0.5b, 1.5b, 3b, 7b и дальше - это размеры. Имя для строки FROM собирается из названия и метки, например qwen2.5:7b

Правило выбора одно: файл модели целиком уезжает в оперативную память, и сверху нужен запас на систему. Сомневаетесь - берите меньше: лёгкая модель отвечает быстрее, а правила она держит так же

Сколько памяти у компьютераКакую метку братьЧто это даёт
8 ГБдо 3bкороткие ответы по правилам, без длинных рассуждений
16 ГБ7b или 8bрабочая середина: помощник, разбор писем, ответы клиентам
32 ГБ и большедо 14bдлинные тексты, ответы ближе к облачным
не знаете сколькосамую маленькую меткузапустится точно, дальше можно взять больше

Таблица прокручивается вбок →

Своя модель весит ровно столько же, сколько базовая: слой с правилами занимает килобайты, а не гигабайты. Что именно потянет ваша машина, разобрано отдельно в гайде про локальные нейросети, а если нужен русский язык - у Qwen с ним хорошо

Вам некуда ставить: компьютер слабый или это рабочая машина

Тогда своя нейросеть собирается не файлом, а инструкциями внутри того сервиса, которым вы уже пользуетесь. Механика называется проектом: это отдельное рабочее пространство, у которого есть свои постоянные инструкции и своя база загруженных документов. Инструкции проекта играют ровно ту же роль, что блок SYSTEM в файле, и правила туда пишутся теми же словами

Интерфейс у каждого сервиса свой, и названий кнопок здесь не будет: экрана вашего сервиса я не вижу и выдумывать его меню не стану. Ищите у себя раздел с названием вроде проектов, пространств или собственных инструкций

Одно я проверил за вас и скажу прямо: без входа в аккаунт этот раздел не открывается нигде. Я открыл три сервиса анонимно, без единого логина, и вот что они пишут на экране. Qwen без входа даёт только поле «Спросить Qwen» и две кнопки в углу, «Войти» и «Зарегистрироваться»; адрес раздела проектов анонимного гостя просто возвращает на ту же пустую страницу. Алиса без входа держит поле «Спросите о чём угодно», а слева написано «Войдите в аккаунт, чтобы создавать новые чаты и хранить их историю»; её раздел персонажей встречает строкой «Авторизуйтесь, чтобы начать». ChatGPT без входа показывает «Войдите в систему, чтобы получать ответы на основе сохраненных чатов». Разовый вопрос везде можно задать гостем, а постоянные правила, которые держатся сами, живут за входом. Значит аккаунт в выбранном сервисе завести придётся, и с него эта ветка начинается

Текст правил при этом у вас уже готов - тот же самый, что идёт в SYSTEM. Возьмите его из памятки ниже и вставьте туда, где ваш сервис принимает инструкции

У этого варианта есть цена: материалы уходят на чужой сервер. Персональные данные клиентов, паспорта и медицинские сведения туда не кладут - что именно можно отдавать нейросети, разобрано отдельно. Если вам важна приватность, возвращайтесь к варианту с файлом: локальная модель не отправляет наружу ничего

Ваша модель не знает вашей темы

Правила задают поведение. Знания они не добавляют: если модель путается в ваших услугах, ценах или внутренних терминах, правилами это не лечится, ей нужны сами материалы

Есть два выхода, и переобучение в них не нужно. Первый: сложить материалы в базу знаний проекта, и модель начнёт отвечать по ним. Второй: вставлять нужный кусок прямо в вопрос, тогда она отвечает по тексту перед глазами, а не по памяти

Дообучение модели на своих документах существует, но это недели работы и оплата видеокарт, а обучение модели с нуля закрывается одним числом: у младшей Llama 3.1 на 8 миллиардов параметров на обучение ушло 1,46 миллиона часов работы видеокарты. Начинать с этого не надо

Что ломается и что с этим делать

Пять ошибок из собственного прогона, экранный текст приведён дословно, так, как вы его увидите

В строке FROM написана модель, которой нет. Программа отвечает Error: pull model manifest: file does not exist. Программа не нашла такое имя у себя и пошла искать его в интернете, где его тоже нет. Имя берут со страницы библиотеки и копируют вместе с меткой размера, а не пишут по памяти

Файл Modelfile лежит не в той папке, из которой запущена команда. Ответ будет такой: Error: no Modelfile or safetensors files found. Программа ищет файл в текущей папке. Сначала зайдите в папку с файлом командой cd и её именем, потом собирайте

Опечатка в имени своей модели при запуске. Текст ошибки тот же самый: Error: pull model manifest: file does not exist. Он одинаковый и для опечатки, и для несуществующей модели, поэтому сверьте имя командой ollama list - она печатает всё, что у вас есть

Окно терминала было открыто ДО установки Ollama. Вылезет env: ollama: No such file or directory, на Windows похожее сообщение про нераспознанное имя. Старое окно про свежепоставленную программу не знает. Закройте его и откройте заново

Правила в SYSTEM написаны в несколько строк без тройных кавычек. Придёт длинная строка Error: (line 3): command must be one of "from", "license", "template", "system", "adapter", "draft", "renderer", "parser", "parameter", "message", or "requires". Вторая строка правил прочиталась как новая команда. Многострочные правила всегда заключают в тройные кавычки """ в начале и в конце

Отдельный случай без всякой ошибки на экране: команда собралась, success напечаталось, а модель правила игнорирует. Первым делом проверьте, что файл сохранён: ollama create читает сохранённый файл с диска, и несохранённые правки редактора до неё не доходят. Файл сохранён, а правила всё равно не работают - дело в формулировке, разбор в таблице памятки

Если модель вообще отвечает не то, о чём её спрашивали, причина обычно шире файла правил - шесть причин, почему модель делает не то

Две таблицы ниже закрывают оба случая: когда ошибка на экране есть и когда её нет

Правило не сработало такЧто переформулировать
правила не работают вообще, ни однофайл не сохранён: сборка читает его с диска, нажмите Cmd+S (на Windows Ctrl+S) и запустите ollama create ещё раз
модель всё равно называет ценыправило было запретом без замены: добавьте готовую фразу в кавычках, которую она обязана выдать вместо цены
отвечает длинно, хотя просили коротков правиле нет числа: поставьте «не больше трёх предложений»
слушается через разPARAMETER temperature выше 0.5: поставьте 0.3
правило работает в первом ответе и забывается дальшеправило лежало в вопросе, а не в SYSTEM: перенесите его в файл
путается в ваших услугах и терминахэто не правило, а знание: кладите материалы в базу знаний или вставляйте нужный кусок в вопрос
отвечает на английскомдобавьте отдельным правилом «отвечай всегда по-русски»

Таблица прокручивается вбок →

Что написано на экранеЧто делать
Error: pull model manifest: file does not existимя модели неверное: сверьте со страницей библиотеки или командой ollama list
Error: no Modelfile or safetensors files foundвы не в той папке: зайдите в папку с файлом командой cd
env: ollama: No such file or directoryокно открыто до установки: закройте его и откройте заново
Error: (line 3): command must be one of "from", "license"...многострочные правила без тройных кавычек: оберните блок SYSTEM в """
ошибки нет, но правила игнорируютсядело в формулировке правила: смотрите таблицу выше

Таблица прокручивается вбок →

Источники

Ваш Modelfile и что делать, когда правило не сработало

Эта памятка работает без статьи рядом: в ней есть и сам скелет файла, и разбор случаев, когда правило не сработало, и экранные тексты ошибок с выходом из каждой. Сохраните её отдельно

Сохрани себе

  • СКЕЛЕТ ФАЙЛА. Создайте файл с именем Modelfile без расширения и впишите: FROM qwen2.5:7b · пустая строка · SYSTEM """ · ваши правила по одному в строке · """ · пустая строка · PARAMETER temperature 0.3
  • ЧТО ТУТ ЧТО. FROM - имя готовой модели со страницы библиотеки вместе с меткой размера. SYSTEM - ваши правила, они действуют в каждом ответе. Тройные кавычки нужны, потому что правил больше одной строки. PARAMETER temperature 0.3 - насколько модель вольничает: 0.3 держит её близко к правилам, заводское значение 0.8 даёт больше отсебятины
  • ПРАВИЛА ПИШУТ ТАК. Запрет плюс замена: не «не говори о ценах», а «цены не называй никогда: на вопрос о цене отвечай "точную цену скажет мастер на записи"». Длину задают числом: «отвечай коротко, не больше трёх предложений». Обращение задают прямо: «говори на "вы"»
  • СБОРКА И ЗАПУСК. Зайдите в папку с файлом, запустите ollama create имя -f Modelfile, дождитесь success, затем ollama run имя. Поменяли правила - запустите ollama create ещё раз с тем же именем, файл перечитается
  • ПРАВИЛО НЕ СРАБОТАЛО, ЧТО ПЕРЕФОРМУЛИРОВАТЬ. Не работает вообще ни одно правило - файл не сохранён, сборка читает его с диска: сохраните и соберите заново. Называет цены - правило было запретом без замены, добавьте готовую фразу в кавычках вместо цены. Отвечает длинно - в правиле нет числа, поставьте «не больше трёх предложений». Слушается через раз - PARAMETER temperature выше 0.5, поставьте 0.3. Забывает правило после первого ответа - оно лежало в вопросе, перенесите в SYSTEM. Путается в ваших услугах - это знание, а не правило: кладите материалы в базу знаний. Отвечает по-английски - добавьте правило «отвечай всегда по-русски»
  • ЭКРАННЫЕ ОШИБКИ, ЧТО ДЕЛАТЬ. Error: pull model manifest: file does not exist - имя модели неверное, сверьте со страницей библиотеки или командой ollama list. Error: no Modelfile or safetensors files found - вы не в той папке либо у файла расширение .txt, зайдите командой cd и проверьте имя. env: ollama: No such file or directory - окно открыто до установки, закройте и откройте заново. Error: (line 3): command must be one of "from", "license"... - правила без тройных кавычек, оберните блок SYSTEM в """

Завтра к этому файлу

Правила вы написали, а работать они будут только пока вы рядом

У вас на диске лежит собственная модель, которая держит ваши правила: не называет цен, не лезет в чужую зону, отвечает так, как вы записали. Пять экранных ошибок вы теперь узнаёте в лицо, а таблица переформулировок чинит правило, которое сработало не так

Работает всё это ровно до момента, когда вы закрываете окно терминала. Помощник не открывает вашу почту, не смотрит в заявки, не заполняет вашу таблицу: он ждёт, пока вы придёте и спросите. Вся ваша настоящая работа остаётся снаружи и по-прежнему делается руками

За три дня Лагеря этот помощник перестаёт ждать. К вашему Modelfile прирастает то, что читает входящие и пишет в ваши файлы, и дальше правила из вашего файла работают, пока вы заняты другим. Я свои проекты держу на такой же связке: файл с правилами, а вокруг него агенты, которые делают работу

Забрать путёвку в ИИ-Лагерь

Это заявка в мой закрытый канал, не оплата. Впускаю сразу, дальше бот в личке отдаёт путёвку на три дня

Частые вопросы

Можно ли создать свою нейросеть бесплатно?

Да. Программа Ollama бесплатна, готовые модели в её библиотеке тоже, а свой файл правил вы пишете сами. Платить не нужно ни за что: всё работает на вашем компьютере

Своя нейросеть онлайн - это то же самое?

Почти. Вместо файла SYSTEM вы пишете те же правила в инструкции проекта внутри сервиса, и модель начинает их держать. Разница в том, где лежат ваши материалы: в первом случае на вашем диске, во втором на чужом сервере

Сколько нужно памяти, чтобы запустить свою модель?

Модель целиком уезжает в оперативную память, поэтому смотрите на метку размера. На 8 ГБ памяти живёт метка до 3b, на 16 ГБ до 7b, на 32 ГБ до 14b. Своих правил сверху нужны килобайты

Нужно ли уметь программировать?

Нет. Вы печатаете четыре команды и пишете свои правила обычными словами по-русски. Ни одной строки кода в Modelfile нет: там имя модели и ваш текст

Будет ли своя модель умнее ChatGPT?

Нет, и задача другая. Умнее её делает не файл правил, а размер: модель на 7 миллиардов параметров слабее облачных. Зато она держит ваши границы дословно и работает без интернета

Можно ли научить модель на своих документах?

Правилами - нет, они меняют поведение, а не знания. Материалы либо кладут в базу знаний проекта, либо вставляют нужный кусок прямо в вопрос. Дообучение тоже существует, но это недели и оплата видеокарт

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

Смотрите на формулировку. Чаще всего правило написано запретом без замены, в нём нет числа для длины или стоит высокая temperature. Все три случая с переформулировками лежат в памятке выше

Данные точно не уходят наружу?

В варианте с файлом на компьютере - да, модель работает локально и в интернет за ответом не ходит. В варианте с проектом в сервисе материалы уходят на его сервер, и это надо учитывать при выборе

Если дочитал до конца

Дальше я пишу в своём канале

Я соло-предприниматель и работаю один: всё собираю Claude, Claude Code и агентами. В канале выкладываю внутрянку своих проектов по отдельности - что собрал на этой неделе, что из этого поехало в работу, а что развалилось и по какой причине. Разборов там заметно больше, чем доезжает до сайта

Заходи в мой канал

Это заявка на вход в мой закрытый канал, одобряю сразу. Бесплатно