Dgraph v24: Расширенные возможности AI с поддержкой векторов и оптимизацией кэширования
Мы рады сообщить об общедоступности Dgraph v24, который включает в себя поддержку DQL и GraphQL для данных векторного типа, векторных индексов HNSW и поиска по сходству.
Добавление вложений из OpenAI, Mistral или моделей с открытым исходным кодом в ваш граф знаний открывает новые возможности и сценарии использования ИИ, такие как семантический поиск, разрешение сущностей, рекомендации, классификация или GraphRAG.
В дополнение к поддержке векторов в этом выпуске оптимизирована производительность.
Dgraph v24 включает в себя:
- Усовершенствованные механизмы кэширования
- Встроенную поддержку векторов
- Вклад сообщества
Усовершенствованные механизмы кэширования
Наши новые улучшения в кэшировании значительно повышают производительность за счет эффективного хранения больших файлов, уменьшения количества чтений с диска и более эффективной обработки нескольких транзакций. Тесты производительности показали 32%-ное улучшение записи. Отдельное изменение, уменьшающее избыточную выборку при фильтрации по типам, позволяет повысить скорость чтения до 1000 раз для клиентов со сложными схемами GraphQL.
Поддержка нативного вектора
Dgraph v24 теперь поддерживает нативные векторные типы, что делает интеграцию расширенных функций поиска, основанных на искусственном интеллекте, в ваши приложения проще, чем когда-либо. Используете ли вы DQL или GraphQL, теперь вы можете использовать мощь семантического поиска с векторными вставками непосредственно в ваших запросах.
Векторы в DQL
v24 расширяет DQL за счёт внедрения:
- Типа данных
float32vector
; hnsw
-индекса для типа данныхfloat32vector
, поддерживающего метрикиeuclidian
,cosine
иdotproduct
;- Математической функции
dot
для вычисления различных расстояний на векторах; - Функции запроса
similar_to
.
Здесь представлена простая схема DQL с использованием вектора:
<Issue.description>: string .
<Issue.vector_embedding>: float32vector @index(hnsw(metric:"euclidean")) .
type <Issue> {
Issue.description
Issue.vector_embedding
}
Подробнее об использовании векторного поиска сходств в DQL.
Векторы в GraphQL
v24 расширяет GraphQL за счёт внедрения:
- Директива
@embedding
для использования предиката[Float!]
в качестве вектора. - Директива поиска
hnsw
для создания индексовhnsw
. querySimilarbyID
иquerySimilarbyEmbedding
: два автоматически генерируемых GraphQL-запроса для выполнения поиска сходств для сущностей с предикатамиembedding
.
Здесь представлена простая схема GraphQL с использованием векторного вложения:
type Project {
id: ID!
title: String! @id
title_v: [Float!] @embedding @search(by: ["hnsw(metric: euclidean, exponent: 4)"])
}
Подробнее об использовании векторного поиска сходств в GraphQL.
Вклад в развитие сообщества
Этот релиз был бы невозможен без напряженной работы нашего сообщества. Она включает 89 коммитов от 24 различных авторов. Мы безмерно благодарны всем, кто внес свой вклад в успешное создание этого релиза, и продолжим работу над оставленными проблемами и отзывами. Пожалуйста, вносите свой вклад на GitHub или на форуме сообщества.
Dgraph v24 содержит множество функций, повышающих масштабируемость и производительность. Мы призываем вас обновиться и воспользоваться этими новыми возможностями. Для получения более подробной информации посетите наш сайт.