Dicklesworthstone/swiss_army_llama
FastAPI-сервис для семантического поиска по тексту с использованием предвычисленных эмбеддингов и продвинутых мер сходства, с встроенной поддержкой различных типов файлов через textract.
Что это за инструмент
FastAPI-сервис для локальной работы с LLM, предоставляющий REST-эндпоинты для генерации текстовых эмбеддингов, семантического поиска и обработки документов.
Зачем нужен
Инструмент упрощает интеграцию локальных LLM (через llama_cpp) в приложения, автоматизируя извлечение текста из файлов (PDF, Word, аудио) и вычисление векторных представлений. Он оптимизирует вычисления за счет кэширования в SQLite и использования RAM-дисков, а также предоставляет продвинутые метрики сходства через fast_vector_similarity.
Что можно реализовать
- Построение системы RAG с семантическим поиском по документам с использованием FAISS и дополнительных метрик сходства.
- Автоматическая транскрибация аудиофайлов (MP3/WAV) с помощью Whisper и последующее создание эмбеддингов для поиска по контенту.
- Генерация структурированных ответов (например, JSON) от LLM с использованием грамматических ограничений.
- Мониторинг работы сервиса через веб-интерфейс с просмотром логов в реальном времени.
Ключевые возможности
- Поддержка множества методов пулинга эмбеддингов (mean, svd, ica, factor_analysis, gaussian_random_projection).
- Встроенная OCR для отсканированных PDF и обработка различных форматов файлов через textract.
- Использование высокопроизводительной библиотеки fast_vector_similarity для сложных метрик (spearman_rho, kendall_tau, hoeffding_d).
- Автоматическое управление RAM-дисками для ускорения загрузки моделей.
- Готовый Swagger UI для тестирования API и встроенный просмотрщик логов.
👤 Кому подойдёт: разработчики, инженеры по машинному обучению, исследователи, работающие с локальными LLM и RAG-системами