Новый проект
MADEVAL/FerryAI
Библиотека для локального запуска ONNX, GGUF и RubixML-моделей внутри PHP через FFI с чатами, эмбеддингами, RAG и векторным поиском.
- 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-команды и диагностику окружения.
Темы