Быстрый старт с LLM моделью tinyllama. Освоим инструмент ollama за 15 минут! Всё, что вы хотели знать о локальных LLM, но боялись спросить. В этой статье развернем Windows Server 2016, установим ollama и протестируем LLM модели tinyllama, deepseek-r1:1.5b, qwen3-vl:2b.
Давно хотелось погрузиться в волшебный мир LLM моделей. Прикоснуться к божественному. Почувствовать себя на вершине цивилизации. Вот, наконец, выдалась свободная минутка бессонная ночь, под руку попался хороший мануал, и завертелось!
Что ты такое, ollama
ollama.com — проект с открытым исходным кодом, предоставляет утилиту для локального запуска больших языковых моделей (LLM), таких как Llama, Mistral, DeepSeek и др. Утилита доступна для Windows, Linux, Maс. На сайте представлеена библиотека моделей, от самых маленьких (<1Гб) до огромных (>500Гб).
Для целей данной статьи приглянулись следующие мини-модели размером 1-2Гб:
tinyllama
qwen3-vl:2b
deepseek-r1:1.5b
Тестовый сервер. Сколько кушает LLM
Ходили слухи, что LLM весьма прожорливы. Слухи оказались правдой. Минимальная конфигурация сервера на который ollama и наши испытуемые модели любезно согласилась устновиться получилась такой:
| CPU | 2×2.2ГГц |
| RAM | 4Гб |
| HDD | 40Гб |
| Операционная система | Windows Server 2016 (из домашних ОС ориентируйтесь на Windows 10 и выше) |
При такой конфигурации нам обеспечены невероятные торможения всего и вся и полное расходование оперативной памяти во время работы модели. Но в целом, работет.
Так же стоит отметить, что стоимость такого сервера в месяц в облаке обойдется от 2000 рублей (цены 2025 года).
Установка ollama
Здесь всё просто. Идём на сайт https://ollama.com скачиваем дистрибутив, устанавливаем.

После установки, запускаем счастливого барашка(счастливую Ламу) из меню Пуск.

Теперь идём в командную строку или Power Shell и пишем волшебные слова
> ollama

Установка и запуск LLM модели
Открываем библиотеку моделей https://ollama.com/search и подбираем подходящую. Например, tinyllama. Супер компактная LLM, размером всего 638 мегабайт.

Для установки модели, открываем командную строку или Power Shell и пишем команду
> ollama run tinyllama

Если модель не установлена в системе, ollama автоматически выполнит скачивание и установку LLM модели. При помощи команды list можно вывести на экран список всех установленных в системе моделей.
> ollama list

Для запуска модели используй команду run
> ollama run your_llm_model_name

После выполнения команды run, ollama предлагает начать общение с LLM моделью через командную строку. Всё просто. Пишем вопрос, нажимаем enter, LLM генерирует ответ и выводит на экран. Главное, чтобы хватило процессора и оперативной памяти.
Тест моделей tinyllama, qwen3-vl:2b, deepseek-r1:1.5b
Для тестов мы решили использовать идею о том, что нашему проекту домашней бухгалтерии PhoBO Money неплохо было бы обзавестись ИИ агентом для заведения доходов и расходов на основе диалога с пользователем. Например, диалог мог бы выглядеть так
— Привет, PhoBO Money!
— Сегодня я потратил 500 рублей на автомойке, купил кофе и гамбургер за 300, на работе пообедал на 600, на обратном пути зашел в магазин и потратил 1500.
— PhoBO Money: Принято! Автомобиль — 500, Фастфуд — 300, Обеды — 600, Продукты — 1500.
После общения со старшими братьями ИИ моделей, был сформирован вот такой промт
Ответь кратко и прямо. Не показывай ход рассуждений. Не объясняй, как ты пришла к ответу. Выведи только итог. Выполни сопоставление категорий со списком покупок. Категории: - Еда - Продукты - Развлечения. Список покупок: - Гамбургер 500 - Магазин 3000 - Кино 1000. Ответ запиши в формат XML с тегами: <name>, <category>, <sum>.
На выходе мы ожидали увидеть упорядоченный список в формате XML, который можно принять на вход и обработать любым языком программирования.
Результаты тестов. tinyllama и младшая модель deepseek(удивительно) — не справились с задачей. Лучший результат выдала модель qwen3-vl:2b. После долгих рассуждений, она таки вернула заветный <xml>. Скорость qwen3 на нашем железе не впечатлила, ответа пришлось ждать несколько минут. Она же расходовала больше всего памяти и в конечном итоге подвесила сервер намертво. Самой легкой и шустрой оказалась tinyllama. Младшая модель deepseek довольно неплохо и шустро выдавала ответы на общие темы.

В итоге всё сводится к промтам и эспериментам. Есть уверенность, что tinyllama можно заставить возвращать нужный результат, но для этого вероятно потребуется Fine-tuning (дообучение/тонкая настройка). Но это тема отдельной статьи.
Сервер с tinyllama
Поговорим о практическом примененим локальных LLM моделей. ollama умеет работать в режиме сервера. По умолчанию сервер ollama должен слушать порт по адресу 127.0.0.1:11434
Если сервер не отзывается по стандартному адресу или есть необходимость поменять настройки, настройте переменную окружения OLLAMA_HOST = «127.0.0.1:11435»

И запустите сервер
> ollama serve
Теперь мы можем обратиться к нашему LLM серверу по API (http://localhost:11435/api/generate). Ниже приведен пример на Power Shell
#Шаг1. Готовим сообщение, конвертируем в Json и сохраняем в переменной $body. В переменной model указываем имя LLM модели, которая должна обработать промт.
$body = @{
model = "tinyllama"
prompt = "say hello"
max_tokens = 50
} | ConvertTo-Json
#Шаг2. Выполняем запрос и сохраняем ответ сервера в переменной $response
$response = Invoke-RestMethod -Uri "http://localhost:11435/api/generate" -Method Post -ContentType "application/json" -Body $body -TimeoutSec 300
#Шаг3. Преобразуем ответ в массив $lines для дальнейшей обработки
$lines = $response -split "`n"
#Шаг4. Извлекаем данные из тега response и собираем текст в переменную $fullText
$fullText = ($lines | ForEach-Object { ($_ | ConvertFrom-Json).response }) -join ""
#Шаг5. Выводим на экран ответ
Write-Host $fullText

Спасибо, что дочитали до конца! Надеюсь, это было полезно! До новых встреч!