ngxson/wllama

WebAssembly-биндинг для llama.cpp - обеспечение работы LLM-инференса прямо в браузере

Инференс⭐ 1 267TypeScriptпоследний релиз: 3.6.1
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

wllama — это WebAssembly-обертка для llama.cpp, позволяющая запускать большие языковые модели (LLM) прямо в браузере пользователя без необходимости использовать серверную часть.

Зачем нужен

Инструмент решает задачу локального инференса LLM на стороне клиента (client-side), что обеспечивает полную конфиденциальность данных и снижает нагрузку на серверы. Он полезен для создания автономных веб-приложений, где модели работают на устройствах пользователей, поддерживая как CPU, так и WebGPU.

Что можно реализовать

  • Чат-боты и ассистенты, работающие полностью офлайн или в локальной сети
  • Генерация эмбеддингов (embeddings) и вычисление косинусного сходства прямо в браузере
  • Мультимодальные приложения с поддержкой анализа изображений и аудио
  • Интеграция LLM в SPA (React/Vue) с использованием OpenAI-совместимого API
  • Приложения с поддержкой Tool Calling для выполнения действий от имени пользователя

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

  • Поддержка WebGPU для ускорения инференса на видеокартах
  • Мультимодальность: работа с текстом, изображениями и аудио
  • OpenAI-compatible API для простой интеграции с существующим кодом
  • Поддержка Tool Calling (вызов инструментов) и кастомизация параметров модели
  • Возможность загрузки моделей из Hugging Face Hub и разбивки на чанки для оптимизации памяти

👤 Кому подойдёт: Frontend-разработчики, создающие автономные веб-приложения; разработчики, заинтересованные в снижении серверных затрат за счет клиентского инференса; исследователи, тестирующие LLM в браузере.

Релизы

3.6.1minorbreaking
🕐 24 дн назад · релиз на GitHub ↗

Синхронизация с актуальной версией llama.cpp и удаление предварительно собранных WASM-файлов из репозитория.

  • Breaking: Удалены предварительно собранные WASM-файлы из репозитория.
  • Added: Синхронизирована последняя версия llama.cpp.
  • Added: Обновлены зависимости до актуального состояния upstream.
3.6.0minor
🕐 1 мес назад · релиз на GitHub ↗

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

  • Added: Синхронизация с последними изменениями исходного кода llama.cpp
  • Added: Корректная поддержка параметра n_parallel
  • Fixed: Исправлена проблема с частично загруженными файлами
3.5.1minor
🕐 3 мес назад · релиз на GitHub ↗

Синхронизация с llama.cpp v3.5.0, рефакторинг кэширования и исправление CDN-сборки.

  • Added: Синхронизация с актуальной версией llama.cpp v3.5.0
  • Added: Рефакторинг реализации хранения кэша с выделением бэкенда
  • Added: Добавлена поддержка кросс-доменного хранилища (cross origin storage)
  • Fixed: Исправлена совместимость сборки через CDN
  • Added: Добавлен тест-бэкенд для отладки операций