Облачная платформаAdvanced

Процедура

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

В эпоху ИИ неструктурированные данные, такие как изображения, видео, аудио и текст, быстро растут. Традиционный поиск по ключевым словам не может эффективно работать с неструктурированными данными, поскольку он не захватывает глубокие семантические или визуальные признаки. CSS vector database решает эту проблему. Предназначенная для хранения, управления и извлечения векторов высокой размерности, она преобразует неструктурированные данные в векторы и использует такие техники, как поиск приближённого ближайшего соседа (ANN), чтобы обеспечить высокопроизводительный, высокоточный поиск по сходству.

Сценарии использования

CSS vector database поддерживает широкий спектр сценариев использования:

  • Обратный поиск изображений/видео: загрузите изображение или видеоклип, чтобы быстро получить визуально похожие изображения или видео из огромных наборов данных.
  • Рекомендации похожих товаров: на основе просматриваемого вами товара система интеллектуально предлагает другие товары с похожим внешним видом, функциональностью или характеристиками, улучшая пользовательский опыт и коэффициенты конверсии.
  • Семантический поиск текста: в отличие от традиционного поиска по ключевым словам, векторная база данных понимает семантическое значение текста и возвращает результаты, более соответствующие намерению вашего запроса, даже если текст не содержит точных совпадений по ключевым словам.
  • Кросс‑модальный поиск: векторная база данных обеспечивает бесшовный поиск по различным типам данных. Например, вы можете ввести текстовое описание, чтобы найти соответствующие изображения или видео.
  • Генерация с поддержкой извлечения (RAG): в системе вопросов и ответов на основе LLM векторная база данных выступает в качестве внешней базы знаний для LLM, обеспечивая эффективное извлечение специализированных знаний. Это гарантирует, что модель генерирует ответы, которые более точны, более контекстно релевантны и более надёжно основаны на специализированных знаниях.

Преимущества

CSS vector database предоставляет следующие ключевые преимущества:

  • Высокая производительность: встроенный движок CSS vector search может выполнять поиск среди десятков‑сотен миллионов векторов за миллисекунды. CSS vector database поддерживает все основные алгоритмы индексации, включая поиск перебором, графовые алгоритмы (например, HNSW) и квантизацию инвертированных файлов (IVF‑PQ). Это позволяет гибко выбирать алгоритмы в зависимости от требований к точности и задержке.
  • Высокая надёжность: основанная на нативной распределённой архитектуре Elasticsearch/OpenSearch, CSS обеспечивает корпоративные гарантии надёжности, включая множественные реплики, снимки и контроль прав доступа, гарантируя отсутствие потери данных.
  • Широкая совместимость с экосистемой: CSS vector database полностью совместима с нативным языком запросов Elasticsearch/OpenSearch, поэтому разработчикам не требуется обучение. Поддерживает основные клиентские языки, такие как Python, Java и Go, и может бесшовно интегрировать компоненты, такие как Logstash, Kibana и Dashboards.
  • Безопасность: CSS vector database предоставляет комплексные функции безопасности, включая изоляцию сети, контроль доступа и шифрование данных.

Как это работает

CSS vector database использует поиск приближённых ближайших соседей (ANN) для снижения интенсивных вычислительных нагрузок точного поиска k-NN. В то время как точный k-NN гарантирует полноту за счёт полного сравнения вектор‑запроса со всеми точками данных, он приводит к неприемлемой задержке на масштабных наборах данных. ANN значительно уменьшает вычислительные затраты и задержку поиска, обеспечивая высокий уровень полноты при существенном росте пропускной способности и эффективности. Ключевые моменты включают:

  • Сокращение набора кандидатов: традиционный текстовый поиск отфильтровывает нерелевантные документы с помощью обратных индексов, тогда как векторный поиск быстро извлекает потенциально релевантные векторы, используя структуры индексов, такие как графы HNSW или IVF-PQ, избегая сканирования полного набора данных. Например, HNSW использует многослойную структуру для быстрого нахождения ближайших соседей к вектору‑запросу.
  • Снижение вычислительной сложности: модель воронки сначала выполняет грубую квантизацию (например, IVF-PQ) векторов для быстрого получения набора кандидатов. Затем она выполняет точный поиск или переранжирование (например, косинусное сходство) над этим набором. Квантизация использует алгоритм product quantization (PQ) для кодирования высокоразмерных векторов в компактные коды, уменьшая объём хранения и вычислительные затраты.
  • Балансировка производительности и точности: параметры индексации (например, количество слоёв HNSW и число кластеров IVF) могут динамически настраиваться для компромисса между полнотой и задержкой запросов.

Поддерживаемые версии кластера

Table 1 Кластеры, поддерживающие CSS Vector Database

Тип кластера

Версия кластера

Elasticsearch

7.6.2, 7.10.2

OpenSearch

1.3.6, 2.19.0

Процедура

Figure 1 Процедура использования CSS vector database


Table 2 Процедура использования CSS vector database

Категория

Operation

Details

Use

Подготовка среды

Создайте правильную CSS векторную базу данных на основе вашего планирования памяти.

Подготовка среды

Создание индексов

Создайте векторные индексы в вашем кластере и определите сопоставления, содержащие векторные поля, включая размерность вектора, алгоритм индексации и методы измерения схожести.

Создание векторного индекса

Запись данных

Запишите векторы (обычно вместе с исходными данными или метаданными) в индексы.

Импорт векторных данных

Векторный поиск

Используйте стандартный Elasticsearch query DSL, чтобы задать запросный вектор и указать количество (k) ближайших соседей, которые вы ожидаете получить, а также оценку схожести.

Выполнение векторного поиска

Расширенные функции

Вложенные поля

Вложенные поля позволяют хранить несколько независимых векторов в одном документе. Документ возвращается как совпадение, если вектор запроса удовлетворяет порогу схожести для любого из его вложенных векторов.

Реализация Nested Vector Search

Управление

Настройка производительности

Предоставляет способы оптимизации производительности записи и запросов в CSS vector database.

Оптимизация производительности запросов и записи

Управление кэшем

Гибко отслеживает и настраивает использование кэша векторного индекса для обеспечения стабильной производительности запросов.

Управление кэшем поиска векторов