Добавление ресурса индекса поиска ИИ в приложение Databricks

Добавьте индексы AI Search в качестве ресурсов Databricks Apps, чтобы включить семантический поиск и поиск по сходству в ваших приложениях. Поисковые индексы ИИ хранят многомерные векторные эмбеддинги и выполняют запросы к ним, обеспечивая такие сценарии использования, как генерация с дополнением извлечёнными данными (RAG), семантический поиск и рекомендательные системы.

Поиск ИИ Databricks ранее был известен как векторный поиск Databricks.

Требования к привилегиям

Чтобы получить доступ к индексу поиска ИИ, сервисный субъект приложения должен иметь привилегию USE CATALOG на родительский каталог, привилегию USE SCHEMA на родительскую схему и привилегию SELECT на индекс. При добавлении ресурса индекса Azure Databricks автоматически предоставляет эти привилегии служебному аккаунту приложения.

Для успешного предоставления этой привилегии одно из следующих условий должно выполняться для каждой привилегии:

  • Для USE CATALOG: у всех пользователей учетной записи есть USE CATALOG привилегия на каталоге или у вас есть MANAGE привилегия на каталоге.
  • Для USE SCHEMA: либо у всех пользователей учетной записи есть привилегия USE SCHEMA на схему, либо у вас есть привилегия MANAGE на схему.
  • Для SELECT: у всех пользователей учетной записи есть SELECT права на индекс или у вас есть MANAGE права на индекс.

Дополнительные сведения о запросе индексов поиска ИИ с этими разрешениями см. в разделе "Как запросить индекс поиска ИИ".

Смотрите справочник по привилегиям Unity Catalog.

Добавление ресурса индекса поиска ИИ

Перед добавлением индекса поиска ИИ в качестве ресурса просмотрите предварительные требования к ресурсу приложения.

  1. В разделе "Ресурсы приложения" при создании или изменении приложения нажмите кнопку + Добавить ресурс>Индекс векторного поиска.
  2. Выберите индекс поиска ИИ из доступных индексов в рабочей области. Индекс должен уже существовать в каталоге Unity.
  3. Выберите уровень разрешений для приложения:
    • Может выбрать: Предоставляет приложению разрешение на запрос индекса поиска ИИ для поиска сходства. Соответствует привилегии SELECT .
  4. (Необязательно) Укажите пользовательский ключ ресурса, который является ссылкой на индекс в конфигурации приложения. Ключ по умолчанию — vector-search-index.

Замечание

Индексы поиска ИИ — это таблицы каталога Unity с типом TABLE_ONLINE_VECTOR_INDEX_REPLICA или TABLE_ONLINE_VECTOR_INDEX_DIRECT. При выборе индекса поиска ИИ вы выбираете специально настроенную таблицу, которая поддерживает семантические операции поиска.

Переменные среды

При развертывании приложения с ресурсом индекса поиска ИИ Azure Databricks предоставляет полное трехуровневое имя с помощью переменных среды, на которые можно ссылаться с помощью valueFrom поля.

Пример конфигурации:

env:
  - name: VECTOR_SEARCH_INDEX
    valueFrom: vector-search-index # Use your custom resource key if different

Использование индекса в приложении:

import os
from databricks.sdk import WorkspaceClient

# Access the AI Search index name
index_name = os.getenv("VECTOR_SEARCH_INDEX")

# Initialize workspace client
w = WorkspaceClient()

# Query the AI Search index
results = w.vector_search_indexes.query_index(
    index_name=index_name,
    query_text="What is machine learning?",
    num_results=10
)

# Process results
for result in results.manifest.columns:
    print(f"Result: {result}")

Дополнительные сведения см. в разделе "Использование переменных среды для доступа к ресурсам".

Удаление ресурса индекса поиска ИИ

При удалении ресурса индекса поиска ИИ из приложения субъект-служба приложения теряет доступ к индексу. Сам индекс остается неизменным и по-прежнему доступен для других пользователей и приложений, имеющих соответствующие разрешения.

Лучшие практики

При работе с ресурсами индекса поиска ИИ следует учитывать следующее:

  • Убедитесь, что сервис-принципал приложения имеет доступ к базовым источникам данных, если индекс содержит ссылки на другие таблицы.
  • Отслеживайте производительность запросов и настраивайте конфигурацию индекса или модели внедрения, если время отклика ухудшается.
  • Рассмотрите расписание обновления индекса, чтобы обеспечить синхронизацию внедренных данных с исходными данными.
  • Используйте соответствующие метрики сходства (cosine, euclidean, dot product) на основе модели внедрения.