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