Repolode
mybigday

mybigday/llama.rn

React Native-обёртка для llama.cpp, позволяющая запускать GGUF-модели на устройствах iOS и Android.

Звёзды
1,059
Форки
132
Открытые issues
23
Последний коммит
5 часов назад

Что это?

llama.rn оборачивает llama.cpp, чтобы приложения на React Native могли загружать языковые модели GGUF и выполнять инференс прямо на телефоне, без сервера. Библиотека предоставляет JavaScript API для чата и генерации текста, эмбеддингов, реранкинга, токенизации и сохранения/загрузки сессий.

Библиотека поддерживает не только генерацию обычного текста. Для мультимодальных моделей доступны входные данные изображений и аудио через проекторы mmproj, вызов инструментов с помощью шаблонов чата Jinja и структурированный вывод на основе грамматик GBNF или JSON-схем. Также предусмотрены параллельная обработка запросов с помощью слотов и спекулятивное декодирование MTP. Для ускорения на GPU используются Metal на iOS и OpenCL на поддерживаемых устройствах Qualcomm Adreno, а на новых чипах Snapdragon экспериментально поддерживается NPU Hexagon.

Экспериментальная функция преобразования текста в речь запускает несколько семейств нейросетевых TTS-моделей через бэкенд codec.cpp и поддерживает клонирование голоса по образцу аудио. Начиная с v0.10 библиотеке требуется New Architecture в React Native; старые версии доступны в отдельной ветке.

Ключевые возможности

  • 01Запускает GGUF-модели на iOS и Android через JavaScript API React Native.
  • 02Поддерживает ускорение на GPU с помощью Metal на iOS и OpenCL на поддерживаемых устройствах Qualcomm.
  • 03Обрабатывает изображения и аудио для мультимодальных моделей с помощью файлов mmproj.
  • 04Поддерживает вызов инструментов и структурированный вывод с помощью шаблонов Jinja и грамматик GBNF или JSON Schema.
  • 05Предоставляет параллельную генерацию с использованием слотов, эмбеддинги и реранкинг.

Сценарии использования

  • Создание ориентированного на конфиденциальность чат-бота, который полностью работает на телефоне без подключения к сети.
  • Добавление в мобильное приложение поиска по документам на устройстве с использованием эмбеддингов и реранкинга.
  • Создание прототипов функций распознавания изображений или аудио в приложении React Native без бэкенда.

Быстрый старт

  1. 1

    Установите пакет из npm

    npm install llama.rn
  2. 2

    Повторно выполните pod install для iOS

    npx pod-install
  3. 3

    Загрузите модель GGUF и запустите completion с помощью initLlama

Что важно знать

  • Начиная с v0.10 требуется New Architecture в React Native. Для Old Architecture нужна ветка v0.9.
  • Нативные бинарные файлы загружаются из релизов GitHub во время postinstall, поэтому для установки нужен доступ к сети; возможно, потребуется скачать их вручную.
  • Ускорение с помощью GPU и NPU (OpenCL, Hexagon) доступно только на некоторых устройствах Qualcomm, а Hexagon находится в экспериментальном статусе.
  • Поддержка преобразования текста в речь является экспериментальной.

Темы

Частые вопросы

Что такое llama.rn?
React Native-обёртка для llama.cpp, позволяющая запускать GGUF-модели на устройствах iOS и Android. llama.rn оборачивает llama.cpp, чтобы приложения на React Native могли загружать языковые модели GGUF и выполнять инференс прямо на телефоне, без сервера. Библиотека предоставляет JavaScript API для чата и генерации текста, эмбеддингов, реранкинга, токенизации и сохранения/загрузки сессий.
llama.rn можно использовать бесплатно? Какая у него лицензия?
llama.rn распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
llama.rn всё ещё поддерживается?
Активно поддерживается. Последний коммит в llama.rn — 21 окт. 2026 г..
Для чего можно использовать llama.rn?
Создание ориентированного на конфиденциальность чат-бота, который полностью работает на телефоне без подключения к сети. Добавление в мобильное приложение поиска по документам на устройстве с использованием эмбеддингов и реранкинга. Создание прототипов функций распознавания изображений или аудио в приложении React Native без бэкенда.
Как установить llama.rn?
Установите пакет из npm: npm install llama.rn Повторно выполните pod install для iOS: npx pod-install Загрузите модель GGUF и запустите completion с помощью initLlama
Где скачать llama.rn?
Исходный код и инструкции по установке — на GitHub: https://github.com/mybigday/llama.rn

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты