# llama.cpp LoRA adapter: как подключить и сравнить ответ модели

Источник: https://modelium.tech/zhurnal/llama-cpp-lora-adapter/

В llama.cpp LoRA-адаптер можно подать отдельным GGUF-файлом вместе с базовой моделью через параметр `--lora`. Для первого опыта возьмите два файла из одного репозитория автора, запустите тот же вопрос сначала без адаптера, затем с ним и сравните тон ответа. Этот англоязычный пример показывает способ подключения, а не гарантирует улучшение качества или совместимость произвольных файлов.

**Инструкция по документации на 8 октября 2026 года, не воспроизведённый запуск Modelium.** Пара файлов взята из одной закреплённой версии репозитория автора, команды сверены с llama.cpp на commit `06cad0b`. Мы не скачивали веса, не запускали модель и не измеряли эффект адаптера. [s1](#src-s1) [s3](#src-s3) [s5](#src-s5)

## Что даст подключение адаптера?

Допустим, вы хотите увидеть, как меняется тон ответа одной и той же локальной модели. **LoRA-адаптер** — отдельный небольшой файл с изменениями поведения, который подключают к подходящей базовой модели; он не является самостоятельной нейросетью. Здесь базой служит Qwen2.5-1.5B-Instruct, а автор демонстрационного адаптера заявляет об англоязычном неформальном стиле. Сначала получите обычный ответ, затем ответ с адаптером на один и тот же вопрос. Возможный иной стиль — **критерий сравнения для вас**, а не результат теста Modelium. [s1](#src-s1) [s3](#src-s3) [s4](#src-s4)

Этот пример **инженерного уровня**: потребуются терминал Linux и сборка программы из исходников. Он не предназначен для деловых писем по-русски: автор адаптера прямо ограничивает его английским и предупреждает о повторяющихся сленговых оборотах; даже заметная смена тона не доказывает правильность фактов. [s2](#src-s2) [s3](#src-s3)

## Что нужно подготовить?

Основной маршрут — **Ubuntu/Linux, процессор (CPU)**. Нужны Git, CMake, компилятор C/C++ и `curl`, подключение к интернету для исходного кода и двух файлов GGUF. GGUF — формат весов для llama.cpp. На Ubuntu инструменты можно поставить через `sudo apt update && sudo apt install -y git cmake build-essential curl`; затем проверьте свободное место и память на своём устройстве. Документированного **минимума RAM, видеопамяти и свободного диска для этой пары на вашем компьютере мы не нашли**; заявленный автором Mac с 16 ГБ — его среда, не минимальное требование для Linux. Размер файла не равен необходимой оперативной памяти. После скачивания локальный CPU-запуск не нуждается в облачном API, но редакция не проверяла отсутствие сетевых соединений на живом стенде. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3)

Базовый файл `**qwen2.5-1.5b-instruct-q4_k_m.gguf**` и адаптер `**bestie-lora.gguf**` находятся в **одной закреплённой ревизии** репозитория автора `c547cb380653a0b7ef19089509bf57fea48f7dca`. Карточка связывает пару с Qwen2.5-1.5B-Instruct; официальная карточка Qwen помечает исходный GGUF как Apache-2.0, а автор адаптера также указывает Apache-2.0 для своей публикации. Это маркировка авторов, не отдельное юридическое заключение о каждом способе использования. **Не подменяйте базу другой версией или другой моделью**: адаптер подготавливался для указанной базы, а совместимость иных пар мы не подтверждали. [s3](#src-s3) [s4](#src-s4) [s5](#src-s5)

## Как сравнить два ответа на одном вопросе?

- Откройте терминал Ubuntu. Выполните `git clone https://github.com/ggml-org/llama.cpp.git`, затем `cd llama.cpp && git checkout 06cad0b9e77315bd2930bd4f70a6d7b37b2a01c1`. Команда `git rev-parse HEAD` должна показать этот полный commit: так версия программы не поменяется незаметно. [s2](#src-s2)

- Выполните `cmake -B build -DCMAKE_BUILD_TYPE=Release` и `cmake --build build --config Release -j 2`. Команда `./build/bin/llama-cli --help` должна показать `--lora`, `-ngl` и `-st`. Если сборка не прошла, сначала исправьте её ошибку по [гайду llama.cpp](/zhurnal/llama-cpp/); сравнивать ответы пока нечем. [s1](#src-s1) [s2](#src-s2)

- Создайте папку: `mkdir -p models`. Скачайте **только базу** командой `curl -fL 'https://huggingface.co/Snaseem2026/bestie-genz-qwen2.5-1.5b-lora-gguf/resolve/c547cb380653a0b7ef19089509bf57fea48f7dca/qwen2.5-1.5b-instruct-q4_k_m.gguf' -o models/qwen2.5-1.5b-instruct-q4_k_m.gguf`. Затем скачайте адаптер: `curl -fL 'https://huggingface.co/Snaseem2026/bestie-genz-qwen2.5-1.5b-lora-gguf/resolve/c547cb380653a0b7ef19089509bf57fea48f7dca/bestie-lora.gguf' -o models/bestie-lora.gguf`. Убедитесь, что обе загрузки закончились без ошибки и оба файла существуют; не используйте готовый `bestie-merged-q4_k_m.gguf` как базу, иначе сравнение отдельного адаптера теряет смысл. [s3](#src-s3) [s5](#src-s5)

- Задайте один учебный вопрос на английском: **“Explain why the sky looks blue in two sentences.”** В папке llama.cpp выполните `./build/bin/llama-cli -m models/qwen2.5-1.5b-instruct-q4_k_m.gguf -ngl 0 -st -n 120 --temp 0 -p 'Explain why the sky looks blue in two sentences.'`. Запишите полученный обычный ответ. `-ngl 0` оставляет слои на CPU, `-st` завершает один ход. **Текст ответа заранее неизвестен:** мы не выдаём примерный ответ за вывод модели. [s1](#src-s1) [s3](#src-s3)

- С тем же вопросом и параметрами выполните `./build/bin/llama-cli -m models/qwen2.5-1.5b-instruct-q4_k_m.gguf --lora models/bestie-lora.gguf -ngl 0 -st -n 120 --temp 0 -p 'Explain why the sky looks blue in two sentences.'`. Программа должна загрузить адаптер или показать ошибку; **успешный запуск не гарантирует конкретную формулировку**. Сравните два реально полученных ответа: сохранился ли смысл объяснения и появился ли неформальный тон, заявленный автором. Проверяйте факты независимо. [s1](#src-s1) [s3](#src-s3)

## Как проверить результат и что делать при ошибке?

Успех здесь — **два сохранённых ответа при одинаковой базовой модели и запросе** плюс факт, что запуск с `--lora` завершился без ошибки загрузки. Если стиль не отличается, это не повод выдумывать эффект: сохраняйте версию программы, имена файлов, параметры и оба ответа и повторите на другом коротком английском вопросе. По одному примеру нельзя судить об общем качестве адаптера. [s1](#src-s1) [s3](#src-s3)

Если файл не найден, проверьте `models/` и завершение обоих `curl`; если llama.cpp сообщает о несовместимости или нехватке памяти, **не называйте размер GGUF минимумом RAM** и не подменяйте незаметно один из файлов. Удалить пример можно после выхода из программы: из каталога проекта выполните `rm -f models/bestie-lora.gguf`; это убирает адаптер, не изменяя базовые веса. Для понимания того, что именно может менять такой файл, откройте [объяснение LoRA](/zhurnal/doobuchenie-i-lora/). [s1](#src-s1) [s3](#src-s3)

## Источники

1. [llama.cpp: документация llama-cli, закреплённый commit](https://github.com/ggml-org/llama.cpp/blob/06cad0b9e77315bd2930bd4f70a6d7b37b2a01c1/tools/cli/README.md) — получено 2026-10-08
2. [llama.cpp: документация сборки CPU, закреплённый commit](https://github.com/ggml-org/llama.cpp/blob/06cad0b9e77315bd2930bd4f70a6d7b37b2a01c1/docs/build.md) — получено 2026-10-08
3. [Snaseem2026: карточка демонстрационного GGUF LoRA и базовой модели](https://huggingface.co/Snaseem2026/bestie-genz-qwen2.5-1.5b-lora-gguf/blob/c547cb380653a0b7ef19089509bf57fea48f7dca/README.md) — получено 2026-10-08
4. [Qwen: официальная карточка Qwen2.5-1.5B-Instruct-GGUF](https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/blob/91cad51170dc346986eccefdc2dd33a9da36ead9/README.md) — получено 2026-10-08
5. [Hugging Face: API-файловый список демонстрационной пары на ревизии](https://huggingface.co/api/models/Snaseem2026/bestie-genz-qwen2.5-1.5b-lora-gguf/revision/c547cb380653a0b7ef19089509bf57fea48f7dca) — получено 2026-10-08
