llama.cpp — это легковесная библиотека на C/C++, позволяющая запускать большие языковые модели (LLM) локально без сложных зависимостей. Это идеальный инструмент для практиков, которые хотят использовать свои ресурсы (CPU, NVIDIA GPU, Apple Silicon) для инференса моделей в формате GGUF. Инструмент оптимизирован для работы на слабом железе, поддерживает квантование и работает офлайн, что критично для безопасности данных и работы из РФ.
01Требования
Для работы llama.cpp не требуется Python или CUDA Toolkit (если вы используете готовые бинарники). Однако понимание аппаратных ограничений необходимо для выбора модели.
Аппаратное обеспечение
- ОС: Windows, macOS, Linux.
- RAM/VRAM: Зависит от размера модели и квантования. llama.cpp поддерживает гибридный режим (CPU+GPU), если модель не помещается в видеопамять.
Программные требования
- Git: Для клонирования репозитория (опционально, можно скачать бинарники).
- Компилятор: GCC/Clang/MSVC (только при сборке из исходников). Для Windows пользователей проще всего использовать Winget или скачать pre-built бинарники.
02Установка
Существует три основных способа установки. Выберите тот, который подходит под вашу ОС.
Способ 1: Windows (Winget)
Самый простой способ для пользователей Windows. Откройте PowerShell от имени администратора:
winget install ggml-org.llama.cppСпособ 2: macOS (Homebrew)
Для пользователей Mac с чипами Apple Silicon это оптимальный вариант, так как Homebrew автоматически соберет версию с поддержкой Metal.
brew install llama.cppСпособ 3: Сборка из исходников (Linux / Windows / macOS)
Если вам нужна максимальная производительность или специфические бэкенды (например, CUDA для NVIDIA GPU), соберите проект вручную.
git clone https://github.com/ggml-org/llama.cpp
# Перейдите в папку проекта
cd llama.cpp
# Соберите проект с поддержкой CUDA (для NVIDIA GPU)
# Для AMD GPU используйте -DGGML_HIP=ON, для Apple Silicon -DGGML_METAL=ON
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release03Первый запуск
После установки вам нужна модель в формате GGUF. llama.cpp позволяет скачивать модели напрямую с Hugging Face, что упрощает первый запуск.
Запуск через терминал (CLI)
Используйте утилиту llama-cli для общения с моделью. Ниже пример запуска небольшой модели Gemma 3 1B (очень легкая, подойдет даже для слабых CPU).
llama-cli -hf ggml-org/gemma-3-1b-it-GGUFФлаг -hf указывает на то, что модель будет загружена с Hugging Face. После загрузки вы сможете вводить промпты в терминал.
Запуск API-сервера
Для интеграции с другими приложениями (например, Open WebUI, LangChain или ваш собственный скрипт) запустите сервер:
llama-server -hf ggml-org/gemma-3-1b-it-GGUFСервер запустится по умолчанию на стандартном порту. Вы можете получить доступ к документации API по локальному адресу.
Запуск локальной модели
Если вы скачали файл модели вручную (например, my_model.gguf), укажите путь к нему:
llama-cli -m my_model.gguf04Частые проблемы
- Ошибка "CUDA error" или "Metal error". Если вы используете GPU, но модель не запускается, проверьте, была ли библиотека собрана с нужным флагом (
-DGGML_CUDA=ONили-DGGML_METAL=ON). Стандартные бинарники из Winget/Homebrew обычно уже имеют правильные настройки. - Нехватка памяти (OOM). Если модель не помещается в VRAM, llama.cpp попытается использовать CPU. Это работает, но скорость инференса резко упадет. Попробуйте выбрать модель с меньшим квантованием (например, Q4 вместо Q8) или меньший размер модели.
- Проблемы с загрузкой с Hugging Face. В РФ доступ к Hugging Face может быть нестабильным. Используйте прокси или скачивайте GGUF-файлы вручную через браузер и запускайте их через флаг
-m path/to/model.gguf.
05Кому подойдёт
- Разработчикам: Для локального тестирования промптов и интеграции LLM в свои проекты без облачных API.
- Энтузиастам AI: Для тех, кто хочет "играться" с моделями на своем домашнем ПК или ноутбуке.
- Работникам, ограниченным в доступе: Для работы с моделями офлайн, в условиях блокировок или требований к конфиденциальности данных.
- Владельцам слабых устройств: Благодаря оптимизациям, llama.cpp может запускать модели даже на старых CPU и мобильных чипах.
Источник: llama.cpp (офиц. документация) ↗
