Ajouter une ressource d'index de recherche IA à une application Databricks
Ajoutez les index de recherche IA comme Ressources Databricks Apps pour activer la recherche sémantique et la récupération basée sur la similarité dans vos applications. Les index d'AI Search stockent et interrogent les embeddings vectoriels de haute dimension, alimentant des cas d'utilisation tels que la génération augmentée par récupération (RAG), la recherche sémantique et les systèmes de recommandation.
Databricks AI Search était auparavant connu sous le nom de Databricks Vector Search.
Exigences en matière de privilèges
Pour accéder à un index de recherche AI, le Service Principal de l'application doit avoir le privilège USE CATALOG sur le catalogue parent, le privilège USE SCHEMA sur le schéma parent et le privilège SELECT sur l'index. Lorsque vous ajoutez la ressource d'index, Databricks accorde automatiquement ces privilèges au Service Principal de l'application.
Pour que cet octroi automatique réussisse, l'une des conditions suivantes doit être vraie pour chaque privilège :
- Pour
USE CATALOG: Soit tous les utilisateurs du compte disposent du privilègeUSE CATALOGsur le catalogue, soit vous disposez du privilègeMANAGEsur le catalogue. - Pour
USE SCHEMA: Soit tous les utilisateurs du compte disposent du privilègeUSE SCHEMAsur le schéma, soit vous disposez du privilègeMANAGEsur le schéma. - **Pour
SELECT:** Soit tous les utilisateursSELECTdu compte ont le privilège sur l'index, soit vous avez leMANAGEprivilège sur l'index.
Pour plus d'information sur la query des index de recherche IA avec ces permissions, voir Comment interroger un index de recherche IA.
Consultez la référence des privilèges Unity Catalog.
Ajouter une ressource d'index de recherche IA
Avant d'ajouter un index de recherche AI en tant que ressource, examinez les conditions préalables aux ressources de l'application.
-
Dans la section **Ressources de l'application** lorsque vous créez ou modifiez une application, cliquez sur **+ Ajouter une ressource** > **Index de recherche vectorielle**.
-
Choisissez un index de recherche IA parmi les index disponibles dans votre Workspace. L'index doit déjà exister dans Unity Catalog.
-
Sélectionnez le niveau d'autorisation de votre application :
- Peut sélectionner : Accorde à l’application la permission de query l’index de recherche IA pour des recherches de similarité. Correspond au privilège SELECT.
-
(Facultatif) Spécifiez une clé de ressource personnalisée, qui est la façon dont vous référencez l'index dans la configuration de votre application. La clé default est
vector-search-index.
Les index de recherche IA sont des tables Unity Catalog de type TABLE_ONLINE_VECTOR_INDEX_REPLICA ou TABLE_ONLINE_VECTOR_INDEX_DIRECT. Lorsque vous sélectionnez un index de recherche IA, vous sélectionnez une table spécialement configurée qui prend en charge les opérations de recherche sémantique.
Variables d'environnement
Lorsque vous déployez une application avec une ressource d'index de recherche IA, Databricks expose le nom complet à trois niveaux via des variables d'environnement que vous pouvez référencer en utilisant le champ valueFrom.
Exemple de configuration :
env:
- name: VECTOR_SEARCH_INDEX
valueFrom: vector-search-index # Use your custom resource key if different
Utilisation de l'index dans votre application :
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}")
Pour plus d'informations, consultez Utiliser les variables d'environnement pour accéder aux ressources.
Supprimer une ressource d'index AI Search
Lorsque vous supprimez une ressource d'index AI Search d'une application, le service principal de l'application perd l'accès à l'index. L'index lui-même reste inchangé et reste disponible pour les autres utilisateurs et applications qui disposent des autorisations appropriées.
Bonnes pratiques
Veuillez tenir compte des points suivants lorsque vous travaillez avec les ressources d'index AI Search :
- Assurez-vous que le Service Principal de l'application a accès aux sources de données sous-jacentes si l'index référence d'autres tables.
- Surveillez les performances des query et ajustez la configuration de l'index ou les modèles d'intégration si les temps de réponse se dégradent.
- Envisagez les planifications de refresh d'index pour maintenir les intégrations synchronisées avec les données source.
- Utilisez des métriques de similarité appropriées (cosinus, euclidienne, produit scalaire) basées sur votre modèle d'intégration.