S.P.

S.P. 

Разработка прикладного ПО для российской ОС Аврора

8subscribers

116posts

goals1
$33.69 of $135 raised
Свободное ПО денег не приносит, но приносит пользу как минимум разработчику. В РФ донаты непопулярны пока, но думаю ситуация может измениться. Гранты)

Небольшая доработка шаблона проекта llama.cpp для ОС Аврора 5.1+

Недавно был опубликован проект запуска llama.cpp на ОС Аврора от ОМП:
https://hub.mos.ru/auroraos/examples-extra/llm-runner
Я немного его доработал (в основном внешний вид) и выкладываю исходный код и сборку aarch64 для устройств с количеством ОЗУ больше 6 Гб:
Исходники (для сборки нужен установленный Conan в IDE):
zip
LLMrunner_KVADRA-sources.zip746.09 Kb
Установка Conan в IDE:
https://hub.mos.ru/auroraos/conan/ConanClientRpm 
(я ставил по шагу 1, проверьте, может в шаге 1 пункт 1 и 2 не нужны)
Готовая сборка aarch64 для ОС Аврора 5.1+ (сборка SDK 5.1.1.60):
rpm
ru.auroraos.LlmRunner-1.0.0-1.aarch64.rpm2.11 Mb
Устанавливаем / собираем приложение и качаем модель (2.84 Гб) в папку Downloads или Documents пользователя:
Модель: https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-4B-GGUF/tree/main
Имя файла (скачать по ссылке выше и поместить в папку Downloads или Documents):
NVIDIA-Nemotron-3-Nano-4B-Q4_K_M.gguf
Список небольших доработок:
  • следование за выводом (прокрутка listview к выводу - к низу последнего элемента в списке, где формируется ответ модели)
  • Label заменены на TextArea, теперь можно копировать текст промтов и ответов модели
  • доработка обложки
  • небольшие изменения в интерфейсе 
  • более полная русификация (доработка перевода)
Назначение приложения: исследование возможностей LLM на мобильных устройствах, развлечение
Модель включена сюда думающая, сначала идут размышления (заканчиваются, когда увидите </think>). Размышления хорошо отображают качество запроса (промта) - по содержанию размышлений вы сможете дополнить или изменить запрос (промт). Либо по размышлениям вы сможете понять, каким качественно будет ответ - знает модель материал вопроса или не знает.
Практическое применение: подготовка кода (например, QML, C++, JS) по шаблону (шаблон вставляется в виде текста в промт), подготовка sql-запросов, создание кусков кода на требуемом языке (я пробовал qml и c++, но модель по многим вопросам плавает), просто генерация текста по запросу.
Сами спросите, что она может: "Расскажи подробнее о себе"
Известные баги:
- само размышление не выделяется, о его окончании говорит только </think>
- форматирование вывода модели пока не происходит, то есть нет форматирования таблиц, выделений элементов как в оригинальной веб-версии llama.cpp
- иногда уходит в зацикливание, но не часто (всё-таки это ужатая версия до 2.8 Гб)
- это не баг, а особенность - при работе кушац батарею и греемся, ну вы понимаете, вычислительная нагрузка достаточно высокая для мобильного устройства 
Помощь при сборке проекта и консультации оказал Даниил Маркевич из ОМП - огромное спасибо за это великолепное приложение, я всего лишь чууточку его доработал (самую малость)!
P.S. Сборку armv7 для устройств типа T1, T800 не выкладываю - эта модель там работать не будет, есть модель для этих устройств поменьше, на днях выложу
Go up