Ранее в блоге beeline cloud мы рассказывали об открытых СУБД для систем ИИ. Продолжим тему и рассмотрим еще несколько находок в этой области — разносторонние инструменты, упрощающие работу с эмбеддингами, семантическим поиском и RAG.

Изображение — Marija Zaric — Unsplash
Изображение — Marija Zaric — Unsplash

HelixDB

Командам, развивающим системы ИИ, зачастую приходится совмещать векторные и графовые СУБД, связывать их кастомной логикой. Такой технологический стек довольно сложно поддерживать, учитывая возможные «бутылочные горлышки» и проблемы с производительностью. Разработчики из американской компании HelixDB предложили решение. В феврале этого года они представили одноимённую СУБД с лицензией AGPL-3.0, которая объединила возможности векторных и графовых решений.

Свой проект команда анонсировала на Hacker News, отметив, что гибридный подход может быть эффективен на задачах индексирования кодовой базы, в молекулярных исследованиях и даже управлении корпоративными знаниями — в последнем случае достаточно представить структуру организации и проекты в виде графа, а затем проиндексировать документы, письма и заметки для семантического поиска.

HelixDB разработана на Rust и использует LMDB (посредством rust-обёртки heed3) в качестве движка для хранения данных. В то же время она использует собственный гибридный язык запросов — Helix Query Language (HQL). Он вдохновлен такими языками, как Gremlin, Cypher и, разумеется, SQL. HQL возвращает данные в формате JSON для удобства интеграции и использует схемы для определения структуры графа. 

Еще он обеспечивает высокую производительность — как пишут авторы, HelixDB примерно в тысячу раз быстрее Neo4j на графовых операциях и в сто раз быстрее TigerGraph при работе с векторами. В планах разработчиков — расширение функциональности, особенно в контексте RAG-приложений. Отдельное внимание планируют уделить инструментам тестирования, а также внедрению бинарной квантизации. Среди долгосрочных инициатив — разработка высокопроизводительного БД-движка, который заменит текущее решение на основе LMDB, а также сетевого протокола и библиотек сериализации, аналогичных Protobuf и gRPC.

SurrealDB

Облачно-ориентированная СУБД для мобильных, бессерверных и Jamstack-приложений, а также бэкенд-разработки. Она поддерживает работу с векторами, графами, документами и временными рядами. Разработкой занимается одноименная компания — SurrealDB, которая была основана в 2021 году и базируется в Лондоне.

СУБД полностью ACID-совместима и потому гарантирует надежность транзакций, обрабатывающих множественные строки и таблицы. В то же время это — schemaless-решение, что оценили на Reddit. Хотя один пользователь отметил, что тестировал SurrealDB и столкнулся с довольно низкой производительностью. Тогда в тред пришел разработчик и пообещал, что компания продолжит работать в этом направлении. Еще в команда планирует внедрить систему временных таблиц с версионированием, которая позволит «путешествовать во времени» при работе с данными — восстанавливать предыдущие версии файлов и документов. Другое важное направление: экспорт данных в бинарном формате, включая поддержку инкрементальных бэкапов.

Стоит отметить, что проект выпущен под Business Source License. Это означает, что код открыт для широкой публики, но с ограничениями на коммерческое использование.

PageIndex

Это — индексатор, который помогает строить поисковые деревья для текстовых документов. Каждый узел дерева PageIndex содержит краткое описание раздела, индексы начальной и конечной страниц. Вот как это может выглядеть (больше примеров документов и сгенерированных деревьев можно найти в репозитории):

{
  "title": "Stability",
  "node_id": "0007",
  "start_index": 22,
  "end_index": 23,
  "summary": "The Federal...",
  "nodes": [
    {
      "title": "Monitoring Vulnerabilities",
      "node_id": "0007",
      "start_index": 23,
      "end_index": 28,
      "summary": "The Federal Reserve's monitoring..."
    },
    {
      "title": "Domestic and International Cooperation and Coordination",
      "node_id": "0008",
      "start_index": 28,
      "end_index": 31,
      "summary": "In 2023, the Federal..."
    }
  ]
}

В целом инструмент заточен под работу со статьями, текстами исследований, финансовыми и регуляторными отчетами, учебниками и техническими руководствами. PageIndex применили для разработки RAG-системы Mafin 2.5, которая показала точность в 98,7% на бенчмарке FinanceBench. Она успешно извлекла ключевую информацию из отчетов для Комиссии по ценным бумагам и биржам США.

Разработчиком PageIndex является британская компания VectifyAI, которая занимается построением специализированных базовых моделей [так называемых foundation models]. Авторы отмечают, что их система может работать в паре с инструментами оптического распознавания символов (OCR) для улучшения структуры поисковых деревьев. Однако стоит учитывать, что проект все еще находится на ранних этапах разработки, так как появился лишь в этом году (исходный код открыт под лицензией MIT). Поэтому возможны неточности в работе — в основном из-за разнообразия структур PDF-файлов.

VectorVFS

Этот проект, разработанный программистом из Лондона, превращает файловую систему Linux в векторную базу данных с поддержкой семантического поиска. Он использует особенности нативной виртуальной файловой системы (VFS). Вместо индекса VectorVFS хранит эмбеддинги прямо в файлах — в атрибутах (xattrs). Как правило, xattrs лежат внутри inode — индексных дескрипторов:

  • В каждом inode 256 байт отведены под стандартные поля;

  • Если inode имеет больший размер (он определяется в момент создания файловой системы), оставшееся пространство выделяется под xattrs.

  • Если атрибут небольшой, он сохраняется в inode целиком. В противном случае данные дробятся на блоки, а в inode пишутся указатели.

Как пишет разработчик, VectorVFS поддерживает Perception Encoders (PE) — модели для кодирования изображений и видео. На задачах анализа визуального контента они превосходят InternVL3, Qwen2.5VL и SigLIP2. Обработку можно поводить как на CPU, так и на GPU, но в первом случае процесс может занимать продолжительное время – особенно на больших коллекциях изображений (и особенно при первом запуске).

Если вас заинтересовала концепция и вы хотите познакомиться с проектом поближе, то вот его репозиторий (лицензия Apache 2.0) и документация. Только отметим, что проект был опубликован всего два месяца назад, и пока в коде не было изменений.

pgai

Это — Python-библиотека, которая превращает PostgreSQL в поисковую систему для RAG и агентских приложений. Проект появился в прошлом году и регулярно обновляется (лицензия, что не удивительно, The PostgreSQL License).

Как пишут авторы в README, создание эмбеддингов — достаточно простая задача, но интеграция с операциями INSERT, UPDATE, DELETE может представлять вызов. Они не должны зависеть от операций с векторными представлениями, иначе любая задержка или сбой будут приводить к ошибкам в приложении. Проблему обычно решают построением MLOps-пайплайнов с очередями (например, Kafka) и специализированными воркерами. Однако этот путь требует времени и экспертизы. В свою очередь, pgai берет управление векторизацией на себя и позволяет сконцентрироваться на разработке.

Векторизатор автоматически сформирует эмбеддинги для записей и будет поддерживать их в актуальном состоянии, если данные изменятся. С архитектурной точки зрения система включает приложение, PostgreSQL и stateless-воркеров. Приложение отвечает за конфигурацию и определяет, какие данные необходимо преобразовать в векторы. Воркеры обрабатывают очередь, формируют эмбеддинги и возвращают результат. Его можно использовать для семантического поиска и RAG.

Instant ORM

ORM для PostgreSQL с поддержкой векторов. Проект позволяет работать с данными, используя объекты. Его авторы вдохновлялись Rails ActiveRecord ORM и Django ORM.

При подключении к базе данных Instant ORM попытается автоматически определить схему путем проверки файла instant/cache/schema.json и таблицы instant_migrations. Если не получится, то он проанализирует структуру БД и самостоятельно определит отношения. В то же время Instant ORM предоставляет композитор, позволяющий строить комплексные SQL-запросы с несколькими уровнями вложенности.

Для работы с векторными полями необходимо установить и активировать расширение pgvector в каждой используемой базе данных. Инструкции доступны в репозитории проекта. Работа с векторными представлениями реализуется с помощью пакета vectors (от тех же разработчиков). Он не только автоматизирует процесс подготовки эмбеддингов, но и обрабатывает пакетные запросы к OpenAI (и другим сервисам).

Сам проект появился порядка двух лет назад и распространяется по лицензии MIT.

ParadeDB

Это — альтернатива Elasticsearch для полнотекстового, векторного и гибридного поиска, а также работы с аналитикой, построенная на PostgreSQL. Над проектом работают два инженера — из Софии и Нью-Йорка, участвующие и в развитии Postgres.

В то же время ParadeDB поддерживает сложные запросы, включая fuzzy-поиск и ранжирование результатов. СУБД и расширения можно установить двумя способами: с помощью Docker-образа на базе PostgreSQL или Helm-чарта для Kubernetes (на основе cloudnative-pg).

Изображение — Kenny Eliason — Unsplash
Изображение — Kenny Eliason — Unsplash

Проект распространяется под GNU AGPL-3.0. В этом году разработчики планируют добавить распределенный поиск и новый метод доступа к таблицам в PostgreSQL.

txtai

Фреймворк для семантического поиска и LLM-оркестрации, который развивается с 2020 года. Разработкой занимается американская NeuML, для которой txtai является основным проектом. Помимо этого, организация специализируется на внедрении систем ИИ.

Ключевой компонент txtai — это база векторных представлений (embeddings database), объединяющая векторные индексы (разреженные и плотные), графовые сети и реляционные базы данных. Основные сценарии использования включают трансляцию запросов, создание вопросно-ответных систем и интеграцию с LLM-фреймворками. Разработчики приводят около 60 примеров с соответствующими ноутбуками.

txtai распространяется под лицензией Apache-2.0, а на его основе инженеры из NeuML разработали еще один open source продукт — paperai. Он помогает проводить семантический поиск по медицинским и научным публикациям.

beeline cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.

Комментарии (4)


  1. ivankudryavtsev
    15.06.2025 11:28

    Qdrant?


  1. SlisheScrime
    15.06.2025 11:28

    В чем смысл статьи? В чем её "полезность"? Рассказать, что есть такие стартапы, зачем? Каждый день рождается по одной СУБД и смысл освещать каждую. Если бы добавить конкретики,
    - почему именно это СУБД вас заинтересовала?
    - какие инвестиции были в проект и от кого?
    - кем являются авторы эти проектов? И т.п.

    Сейчас этот обзор максимально пустой.


    1. dmitrykabanov
      15.06.2025 11:28

      всегда есть возможность показать класс самому


    1. vagon333
      15.06.2025 11:28

      Плюсую вопрос - в чем смысл?
      Ожидал обоснование выбора той или иной новой векторной базы.

      Вполне устраивает Self-Hosted Milvus, и если появилось что-то более молодежное, хотелось бы понимать преимущества прежде чем тестировать.