← Ко всем open source проектам

llama.cpp

ggml-org/llama.cpp

llama.cpp запускает большие языковые модели локально: от командной строки до совместимого с OpenAI API сервера.

Форки 19,283
Автор ggml-org
Язык C++
Лицензия MIT
Обновлено 2026-06-07

Что это такое

llama.cpp — низкоуровневая среда для вывода языковых моделей, написанная на C и C++. Она стала популярной там, где нужен не очередной облачный сервис, а понятный исполняемый файл: скачать модель в формате GGUF, запустить ее на своей машине и получить ответы без передачи данных наружу.

Главная идея проекта — сделать запуск моделей доступным на очень разном железе. Внутри есть поддержка CPU, Apple Silicon через Metal, CUDA для NVIDIA, Vulkan, SYCL и гибридные режимы, когда часть вычислений уходит на видеокарту, а часть остается на процессоре.

Как появился и почему прижился

Проект вырос из практической задачи: после выхода открытых весов LLaMA разработчикам понадобился быстрый способ запускать такие модели локально. llama.cpp быстро стал экспериментальной площадкой вокруг библиотеки ggml и формата GGUF, где проверяются квантизация, новые типы моделей и способы ускорения.

Популярность объясняется не только скоростью. llama.cpp удобен как общий слой между моделями, железом и приложениями: его можно использовать как утилиту командной строки, как библиотеку и как сервер с API, похожим на OpenAI. Поэтому проект часто оказывается в основе локальных помощников, редакторских расширений и внутренних прототипов.

Что лежит внутри

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

Базовый запуск модели

Пример показывает две роли llama.cpp: интерактивный запуск локального файла и подъем совместимого API-сервера для приложений.

Язык: Bash
llama-cli -m ./models/model.gguf -p "Кратко объясни, что такое квантизация"

llama-server -m ./models/model.gguf --host 127.0.0.1 --port 8080
curl http://127.0.0.1:8080/v1/models

Где полезен

llama.cpp особенно хорош для локальных сценариев: прототипов без внешнего API, инструментов для документов, помощников в редакторе, приватных экспериментов с весами и серверов, где нужно контролировать стоимость каждого запроса.

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

Сильные стороны и ограничения

Сильная сторона llama.cpp — ширина поддержки: разные платформы, разные ускорители, командные утилиты и серверный режим в одном проекте. Это делает его не только конечной программой, но и инфраструктурным кирпичом для других инструментов.

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