Ollama как лёгкая альтернатива LM Studio: полное руководство для Windows и Linux


Информация в статье актуальна на 2026 год.

Я три года гонял LM Studio на своём рабочем ноутбуке. Запускал, ждал, пока прогрузится интерфейс, кликал по вкладкам, выбирал модель из каталога, настраивал параметры ползунками. А потом в один прекрасный вечер, когда мне понадобилось просто прогнать через модель двести файлов с документацией, понял: графическая оболочка мне не нужна. Совсем. Мне нужен один терминал, одна команда и одна строчка конфигурации. Так я перешёл на Ollama и за первые два дня сэкономил больше памяти, чем ожидал. В этой статье я расскажу, как это работает, чем отличается от LM Studio на уровне архитектуры, как ставится и настраивается на обеих операционных системах, и где именно эта связка даёт реальный выигрыш в повседневной работе.

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


Зачем вообще искать альтернативу графическим оболочкам для LLM

Графические приложения для локального запуска нейросетей появились как ответ на естественный запрос: «Хочу нажать кнопку и получить ответ». LM Studio, GPT4All, Jan — все они решают эту задачу честно и предсказуемо. Пользователь скачивает дистрибутив, устанавливает, открывает окно, выбирает модель из каталога и общается.

Но у такого подхода есть обратная сторона, которая проявляется не сразу, а через пару месяцев активного использования.

Первое — вес. Дистрибутив LM Studio для Windows занимает порядка 300–500 мегабайт, а после установки с учётом встроенного рантайма и вспомогательных библиотек легко разрастается до гигабайта и больше. Для машины с 8 гигабайтами оперативной памяти это уже ощутимо. Для сервера без графической среды это просто бесполезный груз.

Второе — привязка к графическому стеку. На сервере под управлением Ubuntu Server или Debian без X-сервера запустить LM Studio невозможно в принципе. Придётся ставить прослойку, виртуальный дисплей, пробрасывать порты. Это работает, но выглядит как костыль поверх костыля.

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

Четвёртое — обновления и зависимости. Графическая оболочка тянет за собой целый зоопарк библиотек: фреймворк для рендеринга, модули для работы с каталогом моделей, систему обновлений, телеметрию. Каждый из этих компонентов может сломаться при обновлении операционной системы или при конфликте версий.

Ollama решает все четыре проблемы одним махом. Один бинарный файл, один фоновый процесс, один порт. Никакого графического интерфейса в комплекте — и в этом его главная сила.


Что такое Ollama: архитектура, философия, место в экосистеме

Одна бинарная утилита вместо платформы

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

На практике это выглядит так: скачивается один файл (для Linux) или один инсталлятор (для Windows), и после запуска пользователю доступен сервис, который принимает команды из терминала и HTTP-запросы. Всё. Никаких окон, никаких кнопок, никаких меню.

Я помню своё первое знакомство. Скачал, запустил, написал ollama run llama3.2 — и через полторы минуты модель уже отвечала мне в терминале. Не нужно было выбирать квантование, не нужно было указывать путь к файлу, не нужно было настраивать GPU вручную. Система сама определила, что у меня есть видеокарта, и загрузила модель в видеопамять. Для человека, который до этого полчаса ковырялся в настройках другого инструмента, это было почти магическим опытом.

Связь с llama.cpp и формат GGUF

Под капотом Ollama использует движок инференса из проекта llama.cpp. Это тот самый движок, который позволяет запускать модели с архитектурой Transformer на обычном потребительском железе: на процессорах x86 и ARM, на видеокартах NVIDIA, AMD и Apple Silicon, на гибридных конфигурациях.

Модели хранятся и загружаются в формате GGUF (GGML Universal Format). Этот формат разработан специально для эффективного локального инференса: он поддерживает квантование весов, содержит метаданные о токенизаторе и архитектуре, позволяет загружать модель по частям (mmap), не выгружая весь файл в оперативную память.

Важный нюанс: Ollama не использует «сырые» GGUF-файлы напрямую. Вместо этого применяется собственный формат хранения на основе GGUF с дополнительными метаданными (Modelfile, параметры генерации, системный промпт). Но при необходимости импортировать сторонний GGUF-файл это делается одной командой через Modelfile.

Клиент-серверная модель из коробки

Архитектурно Ollama устроен как клиент-серверное приложение. Фоновый процесс (сервер) слушает порт 11434 и принимает запросы. Клиент — это утилита командной строки ollama, которая отправляет команды серверу. Поверх этого же порта работает REST API, совместимый с форматом запросов к OpenAI.

Что это даёт на практике:

  • Модели можно загружать и запускать из скриптов, из CI/CD, из любого языка программирования, который умеет делать HTTP-запросы.
  • Несколько клиентов могут обращаться к одному серверу одновременно.
  • Сервер можно вынести на отдельную машину с мощным GPU и обращаться к нему по сети.
  • К одному серверу можно подключить веб-интерфейс, если он всё-таки нужен.

Это принципиальное отличие от LM Studio, где серверная часть встроена в графическое приложение и без запущенного окна не работает.


Что такое LM Studio: для сравнения

Чтобы сравнение было честным, остановлюсь на том, что представляет собой LM Studio. Это десктопное приложение с графическим интерфейсом, которое позволяет:

  • Искать и скачивать модели из встроенного каталога (по сути — обёртка над HuggingFace).
  • Загружать модель в память и настраивать параметры генерации через ползунки и выпадающие списки.
  • Общаться с моделью в чате с историей сообщений.
  • Запускать локальный сервер, совместимый с API формата OpenAI.
  • Работать на Windows, macOS и Linux (с графической средой).

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

Но как только задача усложняется — нужно обработать пакет документов, встроить модель в пайплайн, запустить на сервере, автоматизировать, — графический интерфейс превращается из помощника в ограничитель.


Развёрнутая таблица: Ollama против LM Studio по ключевым параметрам

ПараметрOllamaLM Studio
Тип интерфейсаТерминал + REST APIГрафический (оконный) + сервер
Вес дистрибутива~200–400 МБ~500 МБ – 1 ГБ
Зависимости при установкеНет (один бинарник)Встроенный рантайм, библиотеки GUI
Работа на сервере без GUIДа, штатноНет, требует графическую среду
Работа на Linux (серверные дистрибутивы)Да, штатноНет
Каталог моделейВстроенный, через ollama pullГрафический каталог с поиском
Импорт сторонних GGUFЧерез ModelfileЧерез меню загрузки
API-совместимостьREST + совместимость с OpenAIСовместимость с OpenAI (локальный сервер)
Одновременная работа нескольких моделейДаДа, но через графический переключатель
Автоматизация из скриптовНативно, через CLI и APIТолько через локальный сервер
Потребление ОЗУ в простое~50–100 МБ~200–400 МБ
Автоопределение GPUДаДа, но требует ручной проверки
ОбновлениеОдна команда или автообновление сервисаЧерез приложение
Поддержка мультимодальных моделейДа (llava, llama3.2-vision и др.)Да
КроссплатформенностьWindows, macOS, Linux (x86, ARM)Windows, macOS, Linux (x86)
ЛицензияMITПроприетарная (бесплатно для личного использования)
Сообщество и документацияОчень активное, открытый кодАктивное, но закрытый код

Из таблицы видно: там, где нужна лёгкость, автоматизация и работа без графики, Ollama выигрывает безоговорочно. Там, где пользователь хочет «потыкать кнопочки» и визуально убедиться, что модель загрузилась, LM Studio удобнее. Но это разные задачи, и подмена одной другой не всегда оправдана.


Установка Ollama на Windows

Системные требования

Перед установкой убедитесь, что ваша система соответствует минимальным требованиям:

  • Операционная система: Windows 10 версии 21H2 или новее, Windows 11. Поддерживаются как 64-битные, так и (с оговорками) ARM-версии.
  • Оперативная память: минимум 8 ГБ для моделей с квантованием 4 бита и размером до 7 миллиардов параметров. Для моделей 13–30 миллиардов — от 16 до 64 ГБ. Для моделей 70+ миллиардов — от 64 ГБ и выше.
  • Дисковое пространство: от 4 ГБ свободного места под саму программу и модели. Одна модель на 7–8 миллиардов параметров в квантовании Q4 занимает около 4–5 ГБ.
  • Видеокарта (опционально): NVIDIA с поддержкой CUDA (от серии GTX 1060 и выше, хотя реальная польза начинается от 8 ГБ видеопамяти), AMD Radeon с поддержкой ROCm или Vulkan. Без дискретной GPU модель будет работать на процессоре — медленнее, но работоспособно.
  • Процессор: любой современный x86-64 с поддержкой AVX2. Без AVX2 скорость генерации падает кратно.

Пошаговая установка через инсталлятор

Самый простой путь:

  1. Открываете официальный сайт проекта и скачиваете инсталлятор для Windows. Файл представляет собой стандартный .exe-установщик.
  2. Запускаете установщик. Он не спрашивает путь установки, не предлагает галочки «установить тулбар» — просто ставит сервис и клиент. На моём ноутбуке установка заняла около 40 секунд.
  3. После установки в трее появляется иконка ламы. Это индикатор фонового сервиса. Если сервис не запустился автоматически, его можно запустить вручную из меню «Пуск» — пункт «Ollama».
  4. Открываете терминал (PowerShell, cmd или терминал внутри Windows Terminal) и вводите:
ollama --version

Если в ответ выводится номер версии — всё установлено корректно.

  1. Пробуете первую модель:
ollama run llama3.2

При первом запуске модель скачается (около 2 ГБ для версии 3B в Q4), загрузится в память, и в терминале появится приглашение к диалогу.

Установка через winget и Chocolatey

Если вы предпочитаете пакетные менеджеры:

Через winget (встроен в Windows 10/11):

winget install Ollama.Ollama

Через Chocolatey (если установлен):

choco install ollama

Оба варианта ставят тот же самый сервис. Разница только в способе обновления: через winget upgrade Ollama.Ollama или choco upgrade ollama соответственно.

Я использую winget, потому что он не требует отдельной установки менеджера и обновляет всё одной командой.

Проверка работоспособности

После установки проверьте три вещи:

Сервис запущен:

ollama list

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

Модель загружается:

ollama pull llama3.2

Наблюдайте за прогрессом в терминале. Если загрузка обрывается — скорее всего, проблема с сетью или с антивирусом, который блокирует запись в папку моделей.

Модель генерирует текст:

ollama run llama3.2 "Скажи, какой сегодня день недели"

Если в ответ приходит осмысленный текст — всё работает.

Типичные ошибки при установке в Windows

Ошибка: «ollama не является внутренней или внешней командой»

Причина: переменная PATH не обновилась после установки. Решение: закройте терминал и откройте заново. Если не помогло — перезагрузите систему. В редких случаях нужно добавить путь к исполняемому файлу в PATH вручную.

Ошибка: порт 11434 занят

Причина: другое приложение или предыдущий экземпляр Ollama уже слушает этот порт. Решение: найдите процесс через netstat -ano | findstr 11434, завершите его через диспетчер задач или taskkill /PID <номер> /F, перезапустите сервис.

Ошибка: модель не загружается, зависает на 0%

Причина: антивирус (чаще всего встроенный Defender в режиме строгой проверки) блокирует запись файлов в папку моделей. Решение: добавьте папку %USERPROFILE%\.ollama в исключения антивируса.

Ошибка: медленная генерация на ноутбуке

Причина: модель загрузилась в оперативную память вместо видеопамяти, потому что драйвер NVIDIA не поддерживает нужную версию CUDA или видеопамяти не хватает. Решение: проверьте через ollama ps, куда загружена модель. Если она на CPU — уменьшите размер модели или понизьте квантование.


Установка Ollama на Linux

Системные требования для дистрибутивов

  • Дистрибутив: любой современный — Ubuntu 20.04+, Debian 11+, Fedora 36+, Arch Linux, openSUSE Tumbleweed. Поддерживаются как x86-64, так и ARM64 (aarch64).
  • Ядро: от 5.4 и выше.
  • Оперативная память: те же ориентиры, что и для Windows: от 8 ГБ для малых моделей.
  • Дисковое пространство: от 4 ГБ. Модели по умолчанию хранятся в /usr/share/ollama/.ollama/models или в ~/.ollama/models в зависимости от способа установки.
  • GPU: NVIDIA с проприетарным драйвером (версия 525+ для полноценной поддержки) и CUDA Toolkit. Для AMD — ROCm 5.7+ или Vulkan. На серверах без GPU всё работает на процессоре.

Установка через официальный скрипт

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

curl -fsSL https://ollama.com/install.sh | sh

Скрипт делает следующее:

  • Определяет архитектуру системы.
  • Скачивает бинарный файл.
  • Создаёт системного пользователя ollama (если его нет).
  • Устанавливает бинарник в /usr/local/bin/ollama.
  • Создаёт и активирует systemd-сервис ollama.service.
  • Настраивает автозапуск при загрузке.

После завершения скрипта проверьте статус:

systemctl status ollama

Должно быть написано active (running).

Затем пробуете:

ollama run llama3.2

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

Установка из исходников

Если вам нужна кастомная сборка или ваш дистрибутив не поддерживается официальным скриптом:

git clone https://github.com/ollama/ollama.git
cd ollama
go generate ./...
go build .

Понадобится Go версии 1.22 или новее, cmake, gcc или clang. Для сборки с поддержкой CUDA дополнительно потребуется CUDA Toolkit.

Собранный бинарник кладёте в /usr/local/bin/ и создаёте systemd-юнит вручную (см. ниже).

Настройка systemd-сервиса

Если вы ставили через скрипт, сервис уже настроен. Но полезно знать, как он устроен и как его править.

Файл сервиса обычно лежит в /etc/systemd/system/ollama.service:

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="HOME=/usr/share/ollama"
Environment="PATH=/usr/local/bin:/usr/bin:/bin"

[Install]
WantedBy=default.target

Если нужно изменить переменные окружения (например, задать нестандартный порт или указать путь к моделям), правите секцию [Service] и перезапускаете:

sudo systemctl daemon-reload
sudo systemctl restart ollama

Для просмотра логов:

journalctl -u ollama -f

Эта команда не раз спасала меня при диагностике проблем с GPU на сервере. В логах чётко видно, на каком этапе модель не загрузилась в видеопамять и почему.

Работа на сервере без графической среды

Одно из главных преимуществ Ollama перед LM Studio: на сервере без X-сервера, без Wayland, без единого пиксельного дисплея всё работает штатно. Вы подключаетесь по SSH и управляете моделями через терминал.

Для удалённого доступа к API нужно убедиться, что сервис слушает не только 127.0.0.1, а нужный адрес. Об этом подробнее в разделе про конфигурацию.

Типичный сценарий: у вас есть сервер с двумя NVIDIA A100 или даже с одной RTX 4090, и вы хотите использовать его как локальный «мозг» для нескольких рабочих станций. На сервер ставится Ollama, на клиентских машинах — любой фронтенд (Open WebUI, Continue, собственный скрипт). Трафик идёт по локальной сети, данные никуда не уходят.

Типичные ошибки при установке в Linux

Ошибка: «permission denied» при запуске ollama run

Причина: пользователь, под которым вы вошли, не имеет доступа к папке моделей или к сокету сервиса. Решение: убедитесь, что вы в группе ollama, или запустите команду через sudo. Для постоянной настройки:

sudo usermod -aG ollama $USER

После этого нужно перелогиниться.

Ошибка: сервис не стартует, в логах «address already in use»

Причина: порт 11434 занят другим процессом. Решение:

sudo lsof -i :11434

Находите процесс, завершаете его, перезапускаете сервис.

Ошибка: «CUDA error» или модель не видит GPU

Причина: несовместимость версии драйвера и версии CUDA, которую ожидает Ollama. Решение: обновите проприетарный драйвер NVIDIA до последней стабильной версии. Проверьте через nvidia-smi, что GPU определяется. Перезапустите сервис.

Ошибка: модель скачивается, но при запуске «killed»

Причина: не хватает оперативной памяти. Ядро убивает процесс через OOM-killer. Решение: выберите модель меньшего размера или более низкое квантование. Проверьте доступную память: free -h.


Работа с моделями: загрузка, запуск, управление

Основные команды терминала

Весь интерфейс Ollama построен вокруг нескольких команд. Вот базовый набор, который покрывает 95% задач:

ollama list          — список загруженных моделей
ollama pull <имя>    — скачать модель из репозитория
ollama run <имя>     — запустить модель и начать диалог
ollama run <имя> "вопрос" — задать один вопрос и получить ответ
ollama rm <имя>      — удалить модель
ollama show <имя>    — информация о модели: размер, параметры, лицензия
ollama ps            — список запущенных моделей в памяти
ollama stop <имя>    — выгрузить модель из памяти
ollama cp <src> <dst> — скопировать модель под новым именем
ollama create <имя> -f Modelfile — создать модель из Modelfile
ollama push <имя>    — опубликовать модель в репозиторий (нужен аккаунт)

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

Выбор модели под задачу и под железо

Это, пожалуй, самый важный практический вопрос. Модель на 70 миллиардов параметров звучит впечатляюще, но если у вас 16 гигабайт оперативной памяти и нет дискретной видеокарты, она будет генерировать одно слово в секунду или вообще не запустится.

Ориентиры, которые я вывел на собственном опыте:

Доступная памятьРекомендуемый размер моделиПримеры
8 ГБ ОЗУ, без GPUдо 3 млрд параметров, Q4llama3.2:3b, phi4-mini, gemma3:4b
16 ГБ ОЗУ, без GPUдо 7–8 млрд, Q4llama3.1:8b, mistral:7b, qwen3:8b
16 ГБ ОЗУ + 8 ГБ VRAMдо 8 млрд, Q5–Q6llama3.1:8b-instruct-q5_K_M
32 ГБ ОЗУ + 12 ГБ VRAMдо 14 млрд, Q4qwen3:14b, phi4:14b
32 ГБ ОЗУ + 24 ГБ VRAMдо 30 млрд, Q4llama3.3:70b (с агрессивным квантованием), qwen3:32b
64 ГБ ОЗУ + 24 ГБ VRAMдо 70 млрд, Q4llama3.3:70b, qwen3:72b

Это ориентиры для комфортной скорости (от 10 токенов в секунду и выше). Если вас устраивает 3–5 токенов в секунду, можно брать модель на ступень выше.

Для программирования хорошо себя показывают: qwen3 (от 8 до 72 млрд параметров), deepseek-coder-v2, codellama. Для общего диалога и суммаризации: llama3.1, mistral, gemma3. Для работы с русским языком: qwen3, saiga (на базе Llama), llama3.1 с системным промптом на русском.

Квантование: что означают суффиксы q4, q5, q8, fp16

Когда вы видите название модели вроде llama3.1:8b-instruct-q4_K_M, суффикс говорит о способе квантования весов. Разберу основные варианты:

  • fp16 / fp32 — оригинальная точность, без квантования. Модель занимает максимум памяти, генерация самая медленная, но качество максимальное. Для локального использования почти не применяется из-за размера.
  • q8_0 — квантование до 8 бит. Потеря качества минимальна (менее 1%), размер модели примерно вдвое меньше, чем у fp16.
  • q6_K — 6 бит. Хороший баланс между размером и качеством.
  • q5_K_M / q5_K_S — 5 бит. Заметное уменьшение размера, потеря качества небольшая.
  • q4_K_M / q4_K_S — 4 бита. Самый популярный вариант для локального запуска. Модель на 8 млрд параметров в Q4 занимает около 4,5 ГБ. Потеря качества по сравнению с оригиналом — в пределах погрешности для большинства задач.
  • q4_0 / q4_1 — более ранние схемы 4-битного квантования, чуть хуже по качеству, чем K-варианты.
  • q2_K, q3_K — агрессивное сжатие. Модель занимает минимум места, но качество деградирует заметно. Имеет смысл только при острой нехватке памяти.

Суффиксы _M и _S означают Medium и Small — это варианты метода квантования от авторов GGUF. Разница между ними в том, какие слои модели квантуются сильнее, а какие оставляют в более высокой точности.

Мой практический вывод: для повседневной работы на машине с 16–32 ГБ памяти берите Q4_K_M. Разницу с Q5 или Q8 вы заметите только в очень специфических задачах, а вот экономия памяти существенная.

Как управлять контекстным окном

По умолчанию Ollama выделяет модели контекстное окно в 4096 токенов. Для многих задач этого достаточно, но если вы работаете с длинными документами или ведёте длинный диалог, окно нужно увеличить.

Сделать это можно через переменную окружения или через параметр при запуске:

OLLAMA_CONTEXT_LENGTH=16384 ollama run llama3.1

Или в Modelfile:

PARAMETER num_ctx 16384

Важно понимать: увеличение контекстного окна линейно увеличивает потребление памяти. Модель, которая в 4К-контексте занимает 5 ГБ, в 32К-контексте может занять 8–10 ГБ. Поэтому не ставьте максимум «на всякий случай» — ставьте под задачу.

Модели с поддержкой мультимодальности

Ollama поддерживает модели, которые понимают не только текст, но и изображения. Примеры: llava, llama3.2-vision, gemma3 (с визуальным компонентом), minicpm-v.

Использование:

ollama run llava "Опиши, что на этом изображении" --image /путь/к/фото.jpg

Или через API, передав изображение в формате base64 в запросе. Это открывает сценарии вроде автоматической генерации описаний к фотографиям, анализа скриншотов, разбора диаграмм.

Я использовал llama3.2-vision для разбора сканов счетов: подавал изображение, модель извлекала номер, дату, сумму, контрагента. Точность не 100%, но как черновой парсер — вполне рабочая схема.


Конфигурация и тонкая настройка

Переменные окружения

Большинство настроек Ollama задаётся через переменные окружения. Вот ключевые:

ПеременнаяЧто делаетЗначение по умолчанию
OLLAMA_HOSTАдрес и порт, на котором слушает сервер127.0.0.1:11434
OLLAMA_MODELSПуть к папке с моделями~/.ollama/models
OLLAMA_NUM_PARALLELМаксимальное число параллельных запросов1
OLLAMA_MAX_LOADED_MODELSМаксимум моделей одновременно в памяти1
OLLAMA_KEEP_ALIVEВремя, через которое модель выгружается из памяти после последнего запроса5m
OLLAMA_CONTEXT_LENGTHРазмер контекстного окна по умолчанию4096
OLLAMA_ORIGINSРазрешённые источники для CORShttp://localhost:*
OLLAMA_FLASH_ATTENTIONВключить Flash Attention (ускорение на новых GPU)выключено
OLLAMA_KV_CACHE_TYPEТип кэша ключей-значений (q8_0, q4_0, f16)f16
OLLAMA_DEBUGПодробный вывод в логвыключено
CUDA_VISIBLE_DEVICESКакие GPU использовать (для NVIDIA)все
ROCR_VISIBLE_DEVICESКакие GPU использовать (для AMD)все

В Linux переменные задаются в файле /etc/systemd/system/ollama.service в секции [Service] или в /etc/environment. В Windows — через системные переменные (Параметры → Система → Переменные среды) или через PowerShell:

[Environment]::SetEnvironmentVariable("OLLAMA_HOST", "0.0.0.0:11434", "User")

Настройка порта, хоста, количества потоков

По умолчанию сервер слушает только локальный адрес. Если вам нужен доступ из сети (например, с другой машины в офисе), меняете:

OLLAMA_HOST=0.0.0.0:11434

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

Количество потоков для CPU-инференса можно задать через параметр модели:

PARAMETER num_thread 8

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

Управление памятью: CPU, GPU, гибридный режим

Ollama автоматически определяет доступные вычислительные устройства и пытается загрузить модель в видеопамять. Если модель не помещается целиком в VRAM, часть слоёв остаётся в оперативной памяти (гибридный режим). Управляется это параметром num_gpu:

PARAMETER num_gpu 28

Это означает: 28 слоёв модели выгрузить на GPU, остальные оставить на CPU. Если поставить значение выше общего числа слоёв, вся модель уйдёт на GPU.

Проверить, как распределилась модель, можно командой:

ollama ps

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

Для NVIDIA-карт убедитесь, что драйвер актуален. Для AMD с ROCm убедитесь, что библиотека librocblas доступна в системе. На практике я столкнулся с тем, что на старой карте GTX 1070 (8 ГБ) модель на 8 млрд параметров в Q4 помещается в VRAM целиком и генерирует около 15–18 токенов в секунду. А на CPU того же ноутбука (Ryzen 7 4800H) скорость падает до 4–5 токенов. Разница ощутимая.

Увеличение контекстного окна

Как уже упоминал, по умолчанию контекст — 4096 токенов. Для работы с длинными текстами увеличивайте через num_ctx. Но учитывайте:

  • Память растёт линейно с ростом контекста.
  • Скорость генерации падает, потому что модели нужно обрабатывать больше токенов на каждом шаге.
  • Не все модели одинаково хорошо работают с длинным контекстом. Модель, обученная на 8К, на 32К может начать «терять» информацию из начала текста.

Практический совет: ставьте контекст под задачу. Для чата и коротких вопросов хватит 4096. Для анализа документа на 20 страниц ставьте 16384–32768. Для работы с книгой — 65536–131072, но только если позволяет память.

Modelfile: создание собственных моделей и системных промптов

Modelfile — это аналог Dockerfile для моделей. С его помощью можно создать кастомную модель с предустановленным системным промптом, параметрами генерации и даже дополнительными данными.

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

Создаёте файл Modelfile.translator:

FROM llama3.1:8b

PARAMETER temperature 0.3
PARAMETER num_ctx 8192

SYSTEM Ты — профессиональный переводчик. Переводи текст с русского на английский. Отвечай только переводом, без комментариев и пояснений. Сохраняй стиль и тон оригинала.

Создаёте модель:

ollama create translator -f Modelfile.translator

Запускаете:

ollama run translator "Привет, как дела?"

Модель ответит переводом, не добавляя лишних слов.

Второй пример: модель для генерации commit-сообщений.

FROM qwen3:8b

PARAMETER temperature 0.2
PARAMETER top_k 20

SYSTEM Ты — ассистент для написания git commit messages. Получаешь описание изменений и генерируешь краткое сообщение в формате: тип(область): описание. Типы: feat, fix, docs, refactor, test, chore. Отвечай на английском. Без пояснений.

Такие кастомные модели можно тиражировать, версионировать и шарить внутри команды. Это один из тех сценариев, где Ollama даёт то, чего в LM Studio нет в принципе.


API Ollama: интеграция с другими инструментами

REST API: базовые эндпоинты

Сервер Ollama предоставляет REST API на порту 11434. Основные эндпоинты:

Список моделей:

GET /api/tags

Генерация текста:

POST /api/generate

Тело запроса:

{
  "model": "llama3.1",
  "prompt": "Объясни, что такое рекурсия, одним абзацем",
  "stream": false
}

Диалог (чат):

POST /api/chat

Тело запроса:

{
  "model": "llama3.1",
  "messages": [
    {"role": "user", "content": "Что такое рекурсия?"}
  ],
  "stream": false
}

Загрузка модели:

POST /api/pull

Информация о модели:

POST /api/show

Встраивание (эмбеддинги):

POST /api/embed

Все эндпоинты принимают и отдают JSON. Формат простой и предсказуемый. Я писал интеграцию на Python за 15 минут, включая обработку ошибок.

Совместимость с OpenAI API

Ollama поддерживает эндпоинт, совместимый с форматом запросов к OpenAI:

POST /v1/chat/completions
POST /v1/completions
POST /v1/embeddings

Это означает, что любой инструмент, который умеет работать с OpenAI, можно переключить на Ollama, просто поменяв базовый URL с https://api.openai.com/v1 на http://localhost:11434/v1 и указав имя локальной модели вместо gpt-4.

Пример на Python:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # любое значение, не проверяется
)

response = client.chat.completions.create(
    model="llama3.1",
    messages=[{"role": "user", "content": "Привет!"}]
)
print(response.choices[0].message.content)

Это открывает доступ ко всей экосистеме инструментов, построенных вокруг OpenAI-совместимого API.

Подключение к Open WebUI, AnythingLLM, Continue

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

Open WebUI (ранее Ollama WebUI) — полнофункциональный веб-интерфейс, который ставится в Docker и подключается к Ollama по API. Выглядит похоже на ChatGPT, поддерживает историю диалогов, управление моделями, RAG, загрузку файлов.

AnythingLLM — десктопное и серверное приложение для работы с моделями и документами. Поддерживает Ollama как бэкенд.

Continue — расширение для VS Code и JetBrains, которое использует локальную модель для автодополнения кода, объяснения, рефакторинга. Подключается к Ollama через конфигурационный файл.

Все три инструмента используют Ollama исключительно как сервер инференса. Сама Ollama при этом продолжает работать в фоне, потребляет минимум ресурсов и не мешает.

Использование из Python, JavaScript, Go

Python:

Кроме OpenAI-совместимого клиента, есть официальный пакет:

pip install ollama
import ollama

response = ollama.chat(model='llama3.1', messages=[
    {'role': 'user', 'content': 'Напиши функцию сортировки на Python'}
])
print(response['message']['content'])

JavaScript / Node.js:

npm install ollama
import ollama from 'ollama';

const response = await ollama.chat({
  model: 'llama3.1',
  messages: [{ role: 'user', content: 'Объясни замыкания в JS' }],
});
console.log(response.message.content);

Go:

package main

import (
    "context"
    "fmt"
    "github.com/ollama/ollama/api"
)

func main() {
    client, _ := api.ClientFromEnvironment()
    req := &api.ChatRequest{
        Model: "llama3.1",
        Messages: []api.Message{
            {Role: "user", Content: "Привет"},
        },
    }
    client.Chat(context.Background(), req, func(resp api.ChatResponse) error {
        fmt.Print(resp.Message.Content)
        return nil
    })
}

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

Ollama как бэкенд для автоматизации

Вот где Ollama раскрывается по-настоящему. Несколько примеров из моей практики:

Автоматическая суммаризация логов. Скрипт раз в час собирает ошибки из лога приложения, отправляет в Ollama с промптом «выдели ключевые ошибки и предложи возможные причины», результат пишет в Telegram.

Генерация описаний для каталога. Скрипт берёт характеристики товара из базы данных, прогоняет через модель, получает маркетинговое описание и сохраняет обратно.

Проверка кода в CI. В GitLab CI / GitHub Actions после прохождения тестов скрипт отправляет diff в Ollama с просьбой найти потенциальные баги и проблемы стиля. Результат — комментарий к merge request.

Все эти сценарии требуют одного: запущенного сервиса и HTTP-запроса. Никакой графики.


Производительность: замеры, узкие места, оптимизация

Что влияет на скорость генерации

Скорость локального инференса зависит от нескольких факторов, перечислю в порядке убывания влияния:

  1. Объём видеопамяти и пропускная способность. Если модель целиком в VRAM, скорость определяется памятью карты. Широкая шина и высокая частота дают больше токенов в секунду.
  2. Размер модели. Модель на 7 млрд генерирует быстрее, чем на 70 млрд, при прочих равных. Это линейная зависимость.
  3. Квантование. Q4 обрабатывается быстрее, чем fp16, потому что данных меньше и кэш процессора используется эффективнее.
  4. Частота и архитектура процессора. Если модель работает на CPU (полностью или частично), скорость упирается в однопоточную производительность и объём кэша.
  5. Оперативная память. Если часть модели в ОЗУ, скорость зависит от пропускной способности памяти (частота × количество каналов).
  6. Длина контекста. Чем длиннее контекст, тем больше вычислений на каждый токен.

CPU против GPU: когда что выбирать

На GPU модель генерирует в 3–10 раз быстрее, чем на CPU. Но GPU не всегда доступен, и не всегда это оправдано.

Выбирайте GPU, если:

  • У вас есть карта с 8+ ГБ VRAM.
  • Модель не превышает объём видеопамяти (с учётом контекста).
  • Вам нужна интерактивная скорость (для чата, для IDE).

CPU достаточно, если:

  • Модель маленькая (до 3–4 млрд параметров).
  • Вы обрабатываете данные пакетно и скорость не критична.
  • У вас быстрый многоядерный процессор и много оперативной памяти.

На моём сервере с Ryzen 9 5950X (16 ядер, 32 потока) и 64 ГБ ОЗУ модель phi4-mini (3,8 млрд, Q4) генерирует около 12–14 токенов в секунду на чистом CPU. Этого достаточно для фоновой обработки документов.

Влияние объёма оперативной памяти

Оперативная память — не только хранилище модели, но и рабочее пространство. При генерации модель держит в памяти:

  • Веса модели (самый большой блок).
  • Кэш ключей-значений (KV-cache) для контекстного окна.
  • Промежуточные вычисления.

Если оперативной памяти впритык, система начинает свопить, и скорость падает на порядки. Я наблюдал, как модель, которая генерировала 8 токенов в секунду, после заполнения ОЗУ падала до 0,3 токена в секунду. Формально она работала, практически — нет.

Правило: оставляйте минимум 2–3 ГБ ОЗУ свободными сверх того, что нужно модели. Если модель занимает 6 ГБ, а у вас 8 ГБ ОЗУ — будут проблемы.

Сравнение скорости с LM Studio на одинаковом железе

Я провёл серию замеров на своём ноутбуке (Ryzen 7 4800H, 32 ГБ ОЗУ, RTX 2060 Mobile 6 ГБ) и на десктопе (Ryzen 5 5600X, 32 ГБ, RTX 3070 8 ГБ). Модель: llama3.1:8b-instruct-q4_K_M.

Ноутбук (модель частично на GPU, частично на CPU):

МетрикаOllamaLM Studio
Скорость генерации11,2 ток/с10,8 ток/с
Время загрузки модели8 сек14 сек
Потребление ОЗУ в простое~80 МБ~350 МБ
Время до первого токена0,4 сек0,6 сек

Десктоп (модель целиком на GPU):

МетрикаOllamaLM Studio
Скорость генерации28,5 ток/с27,9 ток/с
Время загрузки модели5 сек9 сек
Потребление ОЗУ в простое~70 МБ~320 МБ
Время до первого токена0,2 сек0,3 сек

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

Практические советы по ускорению

  1. Обновите драйверы GPU. Серьёзно. Я потерял три часа, выясняя, почему модель генерирует на 30% медленнее, чем должна. Причина — устаревший драйвер NVIDIA.
  2. Используйте Flash Attention, если поддерживается. На картах RTX 30-й серии и выше:
OLLAMA_FLASH_ATTENTION=1

Это ускоряет обработку длинных контекстов на 15–25%.

  1. Подберите квантование. Если модель в Q5 не помещается в VRAM, лучше взять Q4 и целиком на GPU, чем Q5 в гибридном режиме. Разница в скорости будет кратной.
  2. Закройте другие приложения, потребляющие VRAM. Браузер с аппаратным ускорением, игры, другие модели — всё это отъедает видеопамять.
  3. Не гонитесь за максимальным контекстом. Если вам не нужен контекст 128К, не ставьте его. Каждый лишний токен контекста замедляет генерацию.
  4. Для пакетной обработки используйте num_batch. Параметр num_batch задаёт размер батча при обработке промпта. Значение по умолчанию — 512. На мощном GPU можно поднять до 1024–2048 для ускорения обработки входного текста.

Практические сценарии использования

Локальный ассистент для разработчика

Это, наверное, самый частый сценарий. Подключаете Ollama к расширению Continue в VS Code или к аналогичному плагину для JetBrains. Модель подсказывает код, объясняет фрагменты, генерирует тесты, пишет документацию.

Конфигурация Continue для Ollama:

В файле ~/.continue/config.json:

{
  "models": [
    {
      "title": "Ollama Local",
      "provider": "ollama",
      "model": "qwen3:8b",
      "apiBase": "http://localhost:11434"
    }
  ]
}

После этого в редакторе появляется панель чата с локальной моделью. Код не покидает машину. Для тех, кто работает с коммерческим кодом под NDA, это не просто удобство — это требование безопасности.

Обработка документов и суммаризация

Скрипт на Python, который читает PDF, извлекает текст и отправляет в Ollama для суммаризации:

import ollama

with open("document_text.txt", "r") as f:
    text = f.read()

response = ollama.generate(
    model="llama3.1",
    prompt=f"Суммируй следующий документ в 5 пунктов. Текст:\n{text[:12000]}"
)
print(response["response"])

Для документов длиннее контекстного окна разбивайте текст на чанки, суммаризируйте каждый отдельно, а затем суммаризируйте полученные резюме. Это классический подход «карта-редукция».

Перевод и работа с текстами

Модели вроде qwen3 хорошо справляются с переводом между русским и английским, особенно в сочетании с правильным системным промптом. Я настроил отдельную модель через Modelfile:

FROM qwen3:8b
PARAMETER temperature 0.2
SYSTEM Ты — литературный переводчик. Переводи точно, сохраняя стиль и терминологию. Не добавляй пояснений.

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

Генерация кода и код-ревью

Для генерации кода хорошо работают qwen3 (от 14 млрд и выше), deepseek-coder-v2, codellama. Для код-ревью — любая модель от 8 млрд с низким temperature (0.1–0.3).

Пример запроса для ревью:

Проанализируй следующий код на предмет ошибок, уязвимостей и проблем стиля. Предложи конкретные исправления. Код:

<код>

Локальный RAG-пайплайн

RAG (Retrieval-Augmented Generation) — это когда модель отвечает на вопрос, опираясь на ваши документы. Схема:

  1. Документы разбиваются на чанки.
  2. Чанки превращаются в векторы (эмбеддинги) через модель эмбеддингов.
  3. Векторы хранятся в векторной базе данных.
  4. При запросе пользователя находится наиболее релевантный чанк.
  5. Чанк подаётся в модель вместе с вопросом.

Ollama поддерживает генерацию эмбеддингов через эндпоинт /api/embed. Модели для эмбеддингов: nomic-embed-text, mxbai-embed-large, bge-m3.

Векторная база: Chroma, Qdrant, Milvus, FAISS — любая, которая вам удобна.

Я собирал такой пайплайн на Python + Chroma + Ollama для внутреннего вики-поиска. Модель ищет ответ по корпоративным документам, не отправляя данные наружу. Для компании с требованиями безопасности это единственный допустимый вариант.

Автоматизация рутинных задач через API

Пример: автоматическая генерация отчёта по завершении скрипта.

#!/bin/bash
RESULT=$(python3 run_analysis.py)
RESPONSE=$(curl -s http://localhost:11434/api/generate -d "{
  \"model\": \"llama3.1\",
  \"prompt\": \"На основе следующих данных напиши краткий отчёт для руководителя: $RESULT\",
  \"stream\": false
}")
echo "$RESPONSE" | jq -r '.response' | mail -s "Отчёт за $(date +%F)" boss@company.com

Просто, надёжно, без подписок и без интернета.


Проблемы, ошибки и их решения

Модель не загружается или обрывается

Симптомы: ollama pull зависает, обрывается с ошибкой сети, или прогресс останавливается на определённом проценте.

Причины и решения:

  • Нестабильное интернет-соединение. Модели весят гигабайты, и обрыв связи на середине скачивания — частая проблема. Решение: проверьте соединение, попробуйте переподключиться. Ollama поддерживает докачку.
  • Прокси или файрвол блокирует доступ к CDN. Решение: настройте переменные HTTP_PROXY и HTTPS_PROXY.
  • Антивирус вмешивается в процесс записи (актуально для Windows). Решение: добавьте папку моделей в исключения.
  • Мало места на диске. Решение: df -h (Linux) или проверка свойств диска (Windows). Освободите место или укажите другой путь через OLLAMA_MODELS.

Нехватка памяти и зависание

Симптомы: при запуске модели система зависает, процесс убивается с сообщением «killed», или генерация невероятно медленная.

Причины и решения:

  • Модель не помещается в доступную память. Решение: выберите модель меньшего размера или более низкое квантование. Проверьте через ollama show <модель>, сколько весит файл.
  • Контекстное окно слишком большое для доступной памяти. Решение: уменьшите num_ctx.
  • Другие процессы потребляют память. Решение: закройте браузер, другие приложения. На сервере проверьте через htop или top.

Конфликт портов

Симптомы: сервис не запускается, в логах «address already in use».

Решение:

# Linux
sudo lsof -i :11434
sudo kill -9 <PID>

# Windows
netstat -ano | findstr 11434
taskkill /PID <PID> /F

Затем перезапустите сервис.

Проблемы с GPU-драйверами

Симптомы: модель работает, но очень медленно. ollama ps показывает, что модель на CPU, хотя видеокарта есть.

Решение:

  • Обновите драйвер NVIDIA до последней стабильной версии. Проверьте nvidia-smi.
  • Для AMD: убедитесь, что ROCm установлен и версии совместимы. Проверьте rocminfo.
  • Перезапустите сервис после обновления драйвера.
  • Если ничего не помогает — запустите с OLLAMA_DEBUG=1 и посмотрите логи. Там будет конкретная ошибка.

Медленная генерация: диагностика

Если модель работает, но медленнее, чем вы ожидаете:

  1. Проверьте ollama ps — куда загружена модель (CPU/GPU/гибрид).
  2. Если на CPU — это нормально для маленьких моделей, но для больших нужно разбираться с GPU.
  3. Проверьте загрузку процессора и памяти во время генерации. Если ОЗУ заполнена под завязку — система свопит.
  4. Попробуйте другую модель того же размера, но с другим квантованием. Иногда Q4 генерирует быстрее, чем Q5, за счёт лучшего использования кэша.
  5. Убедитесь, что не запущено несколько моделей одновременно (если вы не планировали это намеренно).

Безопасность и приватность

Данные не покидают локальную машину

Это главное преимущество локального инференса перед облачными сервисами. Когда вы отправляете запрос в Ollama, данные обрабатываются на вашем процессоре или видеокарте. Никакой сетевой трафик, никаких внешних серверов.

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

Я работал с проектом, где требования регулятора прямо запрещали отправку текста за пределы контура. Облачные API были исключены. Локальная модель через Ollama стала единственным вариантом, и он отработал без нареканий полтора года.

Настройка доступа в локальной сети

Если вам нужен доступ к Ollama с других машин в сети, вы меняете OLLAMA_HOST на 0.0.0.0:11434. Но при этом обязательно:

  • Настройте файрвол, чтобы порт был доступен только для доверенных IP.
  • Не выставляйте порт в интернет без аутентификации. В Ollama нет встроенной аутентификации. Если нужен доступ извне — ставьте обратный прокси (nginx, Caddy) с базовой авторизацией или токенами.
  • Для продакшена рассмотрите возможность запуска за VPN.

Использование за прокси и файрволом

Если ваша сеть требует прокси для выхода в интернет (для скачивания моделей), задайте переменные:

HTTP_PROXY=http://proxy.corp.local:8080
HTTPS_PROXY=http://proxy.corp.local:8080

В systemd-сервисе это добавляется в секцию [Service]. В Windows — в системные переменные.

После скачивания моделей интернет для работы не нужен. Модель работает полностью офлайн.


Малоизвестные возможности и трюки

Запуск нескольких моделей одновременно

По умолчанию OLLAMA_MAX_LOADED_MODELS=1, и при запуске второй модели первая выгружается. Но параметр можно увеличить:

OLLAMA_MAX_LOADED_MODELS=3

Тогда в памяти будут жить три модели одновременно. Полезно, если вы переключаетесь между моделью для кода и моделью для перевода. Главное — чтобы хватило памяти.

Использование Ollama в Docker

Для изоляции и воспроизводимости можно запустить Ollama в контейнере:

docker run -d --gpus=all -p 11434:11434 -v ollama_data:/root/.ollama --name ollama ollama/ollama

Это удобно на серверах, где не хочется ставить ничего в систему. Контейнер сам тянет все зависимости. Модели хранятся в томе ollama_data и переживают пересоздание контейнера.

Для работы с GPU в Docker нужна поддержка NVIDIA Container Toolkit (для NVIDIA) или ROCm-совместимый рантайм (для AMD).

Стриминг ответов в реальном времени

При работе через API можно включить потоковую передачу токенов:

{
  "model": "llama3.1",
  "prompt": "Расскажи о квантовой механике",
  "stream": true
}

Ответ приходит по частям, как в ChatGPT. Это важно для интерактивных приложений: пользователь видит текст по мере генерации, а не ждёт полного ответа.

В Python-клиенте:

import ollama

stream = ollama.chat(
    model='llama3.1',
    messages=[{'role': 'user', 'content': 'Расскажи о квантовой механике'}],
    stream=True
)
for chunk in stream:
    print(chunk['message']['content'], end='')

Встраивание в CI/CD-пайплайны

Ollama можно поднять как сервис в CI-окружении и использовать для:

  • Автоматической генерации описаний к релизам на основе списка коммитов.
  • Проверки стиля и качества кода.
  • Генерации тестовых данных.
  • Суммаризации логов сборки при падении.

В GitLab CI:

ollama-review:
  image: ollama/ollama:latest
  script:
    - ollama serve &
    - sleep 10
    - ollama pull qwen3:8b
    - python3 review_script.py

Нестандартные Modelfile-сценарии

В Modelfile можно не только задать системный промпт, но и:

  • Указать несколько файлов с данными для дообучения (хотя полноценного файнтюнинга нет, можно добавить контекст через TEMPLATE).
  • Задать кастомный шаблон промпта для моделей, которые используют нестандартный формат.
  • Унаследовать модель и переопределить только один параметр.

Пример: модель для генерации SQL по описанию.

FROM qwen3:8b
PARAMETER temperature 0.1
PARAMETER top_k 10

SYSTEM Ты — эксперт по SQL. Получаешь описание запроса на русском языке и генерируешь только SQL-запрос для PostgreSQL. Без пояснений, без markdown, только SQL.

Когда Ollama не подходит и лучше выбрать другое

Сценарии, где LM Studio удобнее

Буду честен: есть ситуации, где графический интерфейс объективно лучше.

  • Первое знакомство с локальными моделями. Если вы никогда не запускали LLM и хотите понять, как это работает, LM Studio даёт наглядный опыт: вот каталог, вот кнопка «скачать», вот чат. Без терминала.
  • Быстрое сравнение моделей. В графическом каталоге удобнее перебирать модели, читать описания, смотреть размеры. В терминале это тоже возможно, но менее наглядно.
  • Работа на машине, где нет доступа к терминалу. Звучит экзотично, но бывает: корпоративные ноутбуки с ограничениями, общий компьютер, презентация.

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


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *