
haiku-rag
ggozadMIT
533 звёзд36 форков
Haiku RAG — это агентный RAG-сервер для поиска, анализа и извлечения информации из документов. Он построен на связке LanceDB (векторное хранилище), Pydantic AI (агентный фреймворк) и Docling (разбор документов). Сервер даёт AI-ассистентам, работающим по протоколу MCP, доступ к вашей базе знаний: они могут искать текст, находить изображения, отвечать на вопросы с цитированием источников и выполнять аналитические расчёты.
Главная особенность — мультимодальный поиск. Система хранит не только текст, но и изображения из документов. Вы можете искать картинки по текстовому описанию или находить похожие изображения. Агентный движок сам решает, какой инструмент применить: гибридный поиск, переранжирование, генерацию ответа с картинками или выполнение Python-кода для анализа данных. Всё работает локально, без обязательного подключения к облаку.
Установка
uvx haiku-ragХарактеристики
Общее
- СтатусСообщество
- Разработчикggozad
- ЛицензияMIT
Технологии
- ЯзыкиPython
- Транспортstdio
Описание
Возможности
- Гибридный поиск: комбинирует векторное сходство и полнотекстовый поиск с объединением через Reciprocal Rank Fusion.
- Мультимодальный поиск: текстовый запрос находит релевантные иллюстрации, запрос изображением — похожие картинки.
- Вопросно-ответный навык (RAG): возвращает ответ с цитатами — номерами страниц и заголовками разделов.
- Ответы с визуальным контекстом: визуальные модели получают байты найденных изображений вместе с текстом фрагментов.
- Переранжирование результатов: поддержка MxBAI, Cohere, Zero Entropy, vLLM для повышения точности.
- Аналитический навык: выполнение сложных вычислений и многофайлового анализа в изолированной Python-песочнице.
- Диалоговый режим: многотурные беседы с памятью сессий через TUI или веб-интерфейс.
- Сохранение структуры документа: полное представление DoclingDocument для контекстного расширения.
- Модуль ингеста (production ingester): асинхронное индексирование с очередями, повторами, dead-letter и дашбордом для операторов.
- Путешествие во времени: возможность запросить базу данных на любой момент с параметром --before.
Как подключить
Установите и запустите MCP-сервер:
uvx haiku-rag
Или для полной функциональности установите пакет:
pip install haiku.rag
После установки добавьте конфигурацию в ваш MCP-клиент (например, Claude Desktop). В файл конфигурации Claude добавьте:
{
"mcpServers": {
"haiku-rag": {
"command": "uvx",
"args": ["haiku-rag"]
}
}
}
Перезапустите клиент. Сервер будет доступен как набор инструментов для работы с документами.
Примеры запросов
- «Найди в отчётах все места, где упоминается квартальная прибыль, и покажи с номерами страниц.»
- «Покажи диаграммы из документа про машинное обучение.»
- «Сравни бюджет на маркетинг за 2023 и 2024 год из двух разных файлов, сведи в таблицу.»
- «Объясни основную идею статьи и добавь ссылки на источники.»
Технические детали
Язык: Python. Транспорт: stdio. Лицензия: MIT. Клиенты: любые MCP-совместимые ассистенты (Claude Desktop и другие).
Для работы требуется Python 3.12 или новее. База данных — встроенная LanceDB (также поддерживает S3, GCS, Azure, LanceDB Cloud).