Локальный ИИ · Своя модель
Своя нейросеть: 5 строк в файле, и она отвечает по вашим правилам
Вам нужно, чтобы модель не называла цен, держалась тона и не лезла куда не просят. Своя нейросеть для этого не обучается с нуля: берут готовую модель и кладут поверх файл из 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. Если вы видите кнопку под чужую систему, переключатель вверху страницы стоит не на вашей: нажмите на нужный
Дальше проверьте не сборку, а сами правила: задайте вопрос, который правило прямо запрещает. Формулировка в ответе должна совпасть с вашей формулировкой из файла
Прогон с правилом «цены не называй никогда, отвечай "точную цену скажет мастер на записи"» дал на вопрос «сколько стоит у вас маникюр с покрытием?» ответ Точную цену скажет мастер на записи. По этому и узнаёте, что правило встало: модель отдала вашу фразу дословно, а не выдумала цену
Правило про длину проверяется так же и наоборот: попросите то, что правило запрещает. На просьбу «расскажи подробно историю маникюра с древнего Египта до наших дней» модель с правилом «не больше трёх предложений» ответила ровно тремя предложениями, хотя её просили подробно
Если ответ пришёл не по правилам, дело почти всегда в формулировке, а не в модели. Таблица переформулировок лежит ниже, в памятке
Модель у вас теперь своя, а сама она пока обычная готовая - как устроены эти готовые модели и чем они друг от друга отличаются, разобрано в гайде что такое нейросеть и в разборе локальных моделей
Как выглядит сам файл целиком
В начале статьи файл стоял с одним правилом, чтобы не тормозить вас на первом шаге. Вот он целиком, дословно тот, по которому собрана модель из моего прогона, с четырьмя правилами сразу:
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 и найдите нужное семейство: у каждой модели там своя страница с метками размеров
Правило выбора одно: файл модели целиком уезжает в оперативную память, и сверху нужен запас на систему. Сомневаетесь - берите меньше: лёгкая модель отвечает быстрее, а правила она держит так же
| Сколько памяти у компьютера | Какую метку брать | Что это даёт |
|---|---|---|
| 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 в """ |
| ошибки нет, но правила игнорируются | дело в формулировке правила: смотрите таблицу выше |
Таблица прокручивается вбок →
Источники
- Ollama, страница загрузки - установщики под macOS, Windows и Linux, команды установки для каждой системы
- Ollama, справочник Modelfile - список инструкций FROM, SYSTEM, PARAMETER, TEMPLATE и других, назначение SYSTEM и заводское значение temperature 0.8
- Ollama, страница модели Qwen2.5 - метки размеров 0.5b, 1.5b, 3b, 7b, 14b, 32b, 72b и команда запуска
- Ollama, репозиторий проекта - лицензия MIT, поддержка macOS, Windows, Linux и Docker
- Meta, карточка модели Llama 3.1 8B на Hugging Face - 1,46 млн часов работы видеокарты на обучение младшей модели линейки
- Microsoft Learn, справочник PowerShell New-Item - создание файла в текущей папке и вывод строки с именем созданного файла
Ваш 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 и агентами. В канале выкладываю внутрянку своих проектов по отдельности - что собрал на этой неделе, что из этого поехало в работу, а что развалилось и по какой причине. Разборов там заметно больше, чем доезжает до сайта
Это заявка на вход в мой закрытый канал, одобряю сразу. Бесплатно