Lägga till en AI Search-indexresurs i en Databricks-app

Lägg till AI Search-index som Databricks Apps-resurser för att aktivera semantisk sökning och liknande hämtning i dina program. AI Search-index lagrar och söker i högdimensionella vektorinbäddningar och möjliggör användningsfall som hämtningsförstärkt generering (RAG), semantisk sökning och rekommendationssystem.

Databricks AI Search kallades tidigare Databricks Vector Search.

Behörighetskrav

För att få åtkomst till ett AI Search-index måste appens tjänsthuvudnamn ha behörigheten USE CATALOG för den överordnade katalogen, behörigheten USE SCHEMA för det överordnade schemat och behörigheten SELECT för indexet. När du lägger till indexresursen beviljar Azure Databricks automatiskt dessa privilegier till appens tjänsthuvudnamn.

För att den här automatiska beviljandet ska lyckas måste något av följande gälla för varje behörighet:

  • För USE CATALOG: Antingen har alla kontoanvändare behörigheten USE CATALOG i katalogen eller så har du behörigheten MANAGE för katalogen.
  • För USE SCHEMA: Antingen har USE SCHEMA alla kontoanvändare behörigheten för schemat eller så har du behörigheten MANAGE för schemat.
  • För SELECT: Antingen har alla kontoanvändare behörigheten SELECT för indexet eller så har du behörigheten MANAGE för indexet.

Mer information om hur du frågar efter AI Search-index med dessa behörigheter finns i Köra frågor mot ett AI Search-index.

Se referens för Unity Catalog-behörigheter.

Lägga till en AI Search-indexresurs

Innan du lägger till ett AI Search-index som en resurs granskar du kraven för appresursen.

  1. I avsnittet Appresurser när du skapar eller redigerar en app klickar du på + Lägg till>.
  2. Välj ett AI Search-index från de tillgängliga indexen på din arbetsyta. Indexet måste redan finnas i Unity Catalog.
  3. Välj behörighetsnivå för din app:
    • Kan välja: Ger appen behörighet att köra frågor mot AI Search-indexet för likhetssökningar. Motsvarar behörigheten SELECT .
  4. (Valfritt) Ange en anpassad resursnyckel, vilket är hur du refererar till indexet i appkonfigurationen. Standardnyckeln är vector-search-index.

Anmärkning

AI Search-index är Unity Catalog-tabeller med typen TABLE_ONLINE_VECTOR_INDEX_REPLICA eller TABLE_ONLINE_VECTOR_INDEX_DIRECT. När du väljer ett AI Search-index väljer du en särskilt konfigurerad tabell som stöder semantiska sökåtgärder.

Miljövariabler

När du distribuerar en app med en AI Search-indexresurs exponerar Azure Databricks det fullständiga namnet i tre nivåer via miljövariabler som du kan referera till med fältet valueFrom.

Exempelkonfiguration:

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

Använda indexet i ditt program:

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}")

Mer information finns i Använda miljövariabler för att komma åt resurser.

Ta bort en indexresurs för AI Search

När du tar bort en AI Search-indexresurs från en app förlorar appens tjänsthuvudnamn åtkomst till indexet. Själva indexet förblir oförändrat och fortsätter att vara tillgängligt för andra användare och program som har lämpliga behörigheter.

Metodtips

Tänk på följande när du arbetar med AI Search-indexresurser:

  • Kontrollera att appens tjänsthuvudnamn har åtkomst till underliggande datakällor om indexet refererar till andra tabeller.
  • Övervaka frågeprestanda och justera indexkonfiguration eller inbäddningsmodeller om svarstiderna försämras.
  • Överväg indexuppdateringsscheman för att hålla inbäddningar synkroniserade med källdata.
  • Använd lämpliga likhetsmått (cosinus, euklidisk produkt, punktprodukt) baserat på din inbäddningsmodell.