← Все репозитории

Новый проект

MADEVAL/FerryAI

Библиотека для локального запуска ONNX, GGUF и RubixML-моделей внутри PHP через FFI с чатами, эмбеддингами, RAG и векторным поиском.

Открыть GitHub
Stars
39
Forks
22
Язык
PHP
Статус
В канале 1 янв. 1 г.

AI-разбор

FerryAI предоставляет единый PHP-интерфейс для инференса моделей ONNX, GGUF через llama.cpp и RubixML без Python, HTTP-микросервисов и отдельных контейнеров. Связь с нативными движками выполняется через PHP FFI, а операции токенизации, векторного поиска и тензорной математики при необходимости реализованы на чистом PHP. Проект поддерживает эмбеддинги, косинусное сходство, классификацию, модерацию, чат, потоковую генерацию, структурированный вывод по JSON Schema и конвейеры обработки данных. Для хранения векторов доступны SQLite с brute-force или sqlite-vec, а также PostgreSQL с pgvector, HNSW и IVFFlat; предусмотрены фильтры метаданных и сценарии RAG. В состав входят загрузка моделей из HuggingFace с проверкой SHA-256 и Ed25519, LRU-кэш и пул моделей, диагностика окружения, наблюдаемость, параллельные Fiber-задачи и адаптеры Laravel и Symfony. Базовая версия требует PHP 8.3 и ext-ffi, нативные библиотеки и GPU-компоненты устанавливаются отдельно, macOS поддерживается, но пока не входит в активную интеграционную матрицу, а публичный API версии 0.1.1 может измениться до выпуска 1.0.

Кому подойдёт

PHP-разработчики и команды, создающие локальные ИИ-функции, семантический поиск, RAG, чат-интерфейсы и обработку текстов в приложениях Laravel, Symfony или на чистом PHP.

Что внутри

  • Инференс ONNX-моделей через ONNX Runtime с поддержкой CPU, CUDA, ROCm, DirectML и OpenVINO, включая автоматический возврат к CPU.
  • Чат и потоковая генерация GGUF-моделей через llama.cpp на CPU или CUDA с алгоритмами greedy, top-k, top-p и ограничением вывода грамматикой GBNF.
  • Преобразование JSON Schema в GBNF для получения структурированного JSON без зависимости от формулировок запроса.
  • Векторное хранилище на SQLite или PostgreSQL с pgvector, поиском ближайших соседей, нативным ANN, индексами и фильтрацией метаданных.
  • Загрузка и кэширование моделей из HuggingFace, проверка SHA-256 и Ed25519, ограниченный пул моделей и предварительный прогрев.
  • Чистые PHP-токенизаторы BPE и WordPiece, тензорные операции, генераторные конвейеры, асинхронное выполнение через Fibers и интеграции Laravel и Symfony.

Где применять

  • Создание локального RAG-поиска по документам с эмбеддингами, фильтрацией метаданных и хранением в SQLite или PostgreSQL.
  • Встраивание локального чат-бота и потоковой генерации в PHP-приложение без Python-сервиса и сетевого вызова к отдельному серверу инференса.
  • Классификация текстов, модерация содержимого и вычисление семантического сходства непосредственно в веб-приложениях на PHP.
  • Разработка прототипов и встроенных сервисов с ограниченной инфраструктурой, где нужен один PHP-процесс и постепенное подключение нативных возможностей.
  • Интеграция локального машинного обучения в проекты Laravel или Symfony через готовые адаптеры, CLI-команды и диагностику окружения.

Темы