Dicklesworthstone/swiss_army_llama

FastAPI-сервис для семантического поиска по тексту с использованием предвычисленных эмбеддингов и продвинутых мер сходства, с встроенной поддержкой различных типов файлов через textract.

RAG⭐ 1 054Python
Открыть на GitHub ↗

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

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-системами

Релизы

Релизы ещё не отслежены — появятся после ближайшего опроса.