Как запустить LLM локально: Ollama, LM Studio и llama.cpp
Пошаговый запуск языковой модели на своём компьютере: Ollama, LM Studio и llama.cpp, выбор GGUF, настройка GPU, API и типичные ошибки.
Запустить модель можно за десять минут, если не гнаться за максимальным качеством. Сначала нужен рабочий сценарий «скачал — запустил — получил ответ», потом уже квантование, контекст и API.
Ниже три пути: простой (Ollama), наглядный (LM Studio) и полный контроль (llama.cpp). Все три работают на Windows, macOS и Linux, но с разными оговорками.
Что выбрать
| Инструмент | Кому подойдёт | Плюсы | Минусы |
|---|---|---|---|
| Ollama | Новичкам, скриптам, API | Одна команда, сервер, OpenAI-совместимый API | Меньше настроек, свои теги моделей |
| LM Studio | Тем, кто любит графический интерфейс | Каталог моделей, настройка слоёв, чат | Закрытый исходный код, больше памяти |
| llama.cpp | Тем, кто хочет control | Гибкость, скорость, GGUF, сервер | Сборка и флаги, интерфейс минимальный |
| vLLM | Серверам с NVIDIA | Высокая пропускная способность | Linux, сложнее, не для дома |
Совет
Начните с Ollama. Если чего-то не хватает — переходите на LM Studio или llama.cpp. Модели в GGUF можно использовать во всех трёх.
Вариант 1: Ollama
Ollama — это локальный сервер и CLI, который сам скачивает модель, подбирает квантование и держит её в памяти. Установщик есть для Windows, macOS и Linux.
Установка
- Скачайте установщик с ollama.com.
- Запустите и дождитесь, пока иконка появится в трее.
- Откройте терминал и проверьте:
ollama --version
На Linux удобна установка скриптом с официального сайта. На macOS есть версия для Apple Silicon, которая использует Metal.
Первая модель
ollama pull qwen3:8b
ollama run qwen3:8b
pull скачивает модель, run запускает чат. Внутри чата работают команды /bye для выхода, /clear для очистки истории, /set parameter num_ctx 16384 для изменения контекста.
Полезные команды:
ollama list # что скачано
ollama ps # что загружено в память
ollama rm qwen3:8b # удалить модель
ollama serve # запустить сервер вручную
Модели хранятся в системной папке Ollama. На Windows это обычно %USERPROFILE%\.ollama\models, на macOS и Linux — ~/.ollama/models. Папку можно перенести переменной OLLAMA_MODELS.
Контекст и параметры
По умолчанию контекст может быть меньше, чем хочется. Для длинных документов создайте Modelfile:
FROM qwen3:8b
PARAMETER num_ctx 16384
PARAMETER temperature 0.6
PARAMETER top_p 0.9
Затем:
ollama create qwen3-16k -f Modelfile
ollama run qwen3-16k
Другой способ — задать параметры при запуске через API или в клиенте, который их поддерживает. Помните: большой контекст съедает VRAM.
API
Ollama поднимает сервер на http://127.0.0.1:11434. У него есть свой API и OpenAI-совместимый endpoint:
curl http://127.0.0.1:11434/api/chat -d "{\"model\":\"qwen3:8b\",\"messages\":[{\"role\":\"user\",\"content\":\"Привет\"}],\"stream\":false}"
curl http://127.0.0.1:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d "{\"model\":\"qwen3:8b\",\"messages\":[{\"role\":\"user\",\"content\":\"Привет\"}]}"
Второй вариант позволяет подключить Ollama к OpenCode, Cursor-подобным редакторам и любым библиотекам, которые умеют OpenAI API.
Переменные окружения
OLLAMA_HOST— адрес и порт, например127.0.0.1:11434.OLLAMA_MODELS— папка с моделями.OLLAMA_NUM_PARALLEL— число одновременных запросов.OLLAMA_MAX_LOADED_MODELS— сколько моделей держать в памяти.OLLAMA_KEEP_ALIVE— сколько держать модель после запроса.OLLAMA_FLASH_ATTENTION— включает flash attention, если поддерживается.OLLAMA_KV_CACHE_TYPE— тип кэша, напримерq8_0.
На Windows переменные задаются через «Параметры системы» → «Переменные среды». После изменения перезапустите Ollama.
Важно
Не выставляйте OLLAMA_HOST=0.0.0.0 без пароля и файрвола. Так вы откроете модель всей локальной сети, а иногда и интернету. Для доступа с других устройств используйте reverse proxy с авторизацией.
Вариант 2: LM Studio
LM Studio — графическое приложение: каталог моделей, чат, настройка загрузки и локальный сервер. Исходный код закрыт, но для знакомства удобно.
Порядок действий
- Скачайте LM Studio с официального сайта и установите.
- Откройте вкладку поиска моделей, введите название, например
Qwen3 8B. - Выберите квантование. Для 8 ГБ VRAM — Q4_K_M, для 16 ГБ — Q5_K_M или Q6_K.
- Скачайте модель и откройте чат.
- В настройках загрузки проверьте:
- Context Length — 8k–16k для начала;
- GPU Offload — максимум слоёв, которые помещаются в VRAM;
- Flash Attention — включить, если доступно.
- Отправьте тестовый запрос и посмотрите на скорость в токенах в секунду.
Локальный сервер
На вкладке Developer (или Local Server) включите сервер. По умолчанию он слушает http://127.0.0.1:1234 и совместим с OpenAI API. В OpenCode или другом клиенте укажите base URL http://127.0.0.1:1234/v1.
Можно включить требование API-токена — сделайте это, если к серверу есть доступ из сети.
Когда LM Studio лучше Ollama
- Нужно наглядно увидеть, сколько слоёв уходит на GPU.
- Хочется быстро сравнить несколько квантований.
- Нужен чат с историей и параметрами без командной строки.
Вариант 3: llama.cpp
llama.cpp — движок, на котором работают многие GUI. Он читает GGUF-файлы и даёт точный контроль над памятью и скоростью.
Установка
Для Windows и macOS проще скачать готовый архив со страницы релизов проекта на GitHub: ищите сборку под свою видеокарту (CUDA, Vulkan, Metal, CPU). Распакуйте в отдельную папку.
Для сборки из исходников нужны CMake и компилятор:
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j
Для CPU используйте сборку без GGML_CUDA, для AMD — -DGGML_HIP=ON или Vulkan.
Где взять GGUF
Модели в формате GGUF лежат на Hugging Face. Ищите репозитории с суффиксом GGUF и файлами вида model-Q4_K_M.gguf. Скачайте файл и положите в папку models.
Один файл — одна модель. Дополнительные файлы вроде mmproj нужны для мультимодальных моделей.
Запуск в консоли
llama-cli -m models/qwen3-8b-Q4_K_M.gguf -c 8192 -ngl 99 -p "Объясни, что такое RAG"
-m— путь к модели;-c— размер контекста;-ngl— сколько слоёв отдать на GPU (99 — все, если хватает памяти);-p— промпт;-t— число потоков CPU;-fa— flash attention;--cache-type-k q8_0 --cache-type-v q8_0— сжатие KV-кэша.
Если модель не влезает, уменьшайте -ngl, пока не исчезнет ошибка выделения памяти. Часть слоёв останется на CPU, скорость упадёт.
Сервер
llama-server -m models/qwen3-8b-Q4_K_M.gguf -c 16384 -ngl 99 --host 127.0.0.1 --port 8080
Сервер совместим с OpenAI API: http://127.0.0.1:8080/v1. Есть веб-интерфейс по тому же адресу.
Полезные флаги:
-np 2— два параллельных слота;-b 2048 -ub 512— размер батча и микробатча;--mlock— не выгружать модель в swap (нужны права и память);--no-mmap— загрузить целиком, иногда быстрее на старте.
Замер скорости
llama-bench -m models/qwen3-8b-Q4_K_M.gguf -p 512 -n 128
Утилита покажет скорость обработки промпта и генерации. Это полезнее субъективного «вроде быстро».
Другие клиенты
- Jan — открытый десктопный клиент с поддержкой локальных и облачных моделей.
- GPT4All — простой офлайн-клиент для небольших моделей.
- KoboldCpp — ориентирован на творческие тексты, есть сервер.
- text-generation-webui — много настроек и расширений, порог входа выше.
- vLLM — серверный движок для NVIDIA на Linux, высокий throughput, но не для домашнего ноутбука.
Первый тест
После запуска проверьте не «здравствуй», а рабочую задачу:
- Попросите пересказать текст на 2–3 тысячи знаков.
- Дайте таблицу с ошибкой и попросите найти её.
- Попросите ответить по-русски и по-английски.
- Проверьте, не обрывается ли ответ на длинном контексте.
- Замерьте скорость и сравните с ожиданиями.
Если модель путает факты — это нормально. Если она выдаёт бессвязный текст, скорее всего, проблема в шаблоне чата или квантовании.
Типичные ошибки
OOM (out of memory). Уменьшите контекст, квант или число слоёв на GPU. Закройте браузер и другие программы, которые держат VRAM.
Медленно. Проверьте, что модель действительно на GPU. В Ollama — ollama ps, в llama.cpp — строки загрузки. Возможно, выбран CPU-режим.
Бессвязный ответ. Проверьте chat template. Модели Instruct требуют специального формата; если движок его не знает, качество рушится. В llama.cpp используйте --chat-template или файл шаблона.
Модель не видит длинный документ. Контекст по умолчанию часто 4k. Увеличьте num_ctx или -c, но следите за памятью.
Порт занят. Ollama — 11434, LM Studio — 1234, llama-server — 8080. Смените порт или остановите старый процесс.
Приложение не подключается к API. Проверьте, что сервер слушает 127.0.0.1, а не только внутри контейнера или другого интерфейса. Для Docker нужен проброс порта.
Безопасность
- Держите сервер на
127.0.0.1, если не нужен удалённый доступ. - Если нужен — поставьте reverse proxy с HTTPS и авторизацией.
- Не отправляйте в локальную модель чужие персональные данные без оснований: они остаются в логах и истории.
- Проверяйте лицензию модели перед коммерческим использованием.
- Скачивайте GGUF только из проверенных репозиториев.
Что дальше
Когда базовая модель работает, переходите к выбору модели и настройке: контекст, квантование, API и RAG дают больше прироста, чем апгрейд железа.
Редакция НейроСеть. Инструкции проверены на практике. Характеристики моделей и требования к железу меняются — сверяйтесь с документацией проекта и карточкой модели. Если заметили ошибку — напишите нам.