Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in Anteprima Pubblica.
Il server MCP AI Search è un server MCP gestito da Azure Databricks che permette agli agenti di eseguire una ricerca semantica sui tuoi indici AI Search per trovare documenti rilevanti, con risultati regolati dai permessi del Catalogo Unity. Interrogare un indice richiede Azure Databricks managed embeddings.
| Modello URL | Ambito OAuth |
|---|---|
https://<workspace-hostname>/api/2.0/mcp/ai-search/{catalog}/{schema}/{index_name} |
ai-search |
Nota
Ricerca di intelligenza artificiale era in precedenza Ricerca vettoriale. Il precedente prefisso dell'URL /api/2.0/mcp/vector-search/ e il precedente ambito vector-search continuano a funzionare.
Parametri di ricerca _meta AI
Ricerca intelligenza artificiale supporta i parametri seguenti _meta :
| Nome del parametro | Type | Description |
|---|---|---|
columns |
str |
Elenco delimitato da virgole di nomi di colonna da restituire nei risultati della ricerca. Esempio: "id,text,metadata"Se non specificato, vengono restituite tutte le colonne (ad eccezione delle colonne interne che iniziano con "__"). |
columns_to_rerank |
str |
Elenco delimitato da virgole di nomi di colonna il cui contenuto viene usato dal modello di reranking per la ri-assegnazione dei punteggi. Il reranker usa questo contenuto per riassegnare un punteggio a tutti i risultati della ricerca per migliorare la pertinenza. Esempio: "text,title,description"Se non specificato, il reranking non viene eseguito. |
filters |
str |
Stringa JSON contenente filtri da applicare alla ricerca. Deve essere JSON valido. Esempio: '{"updated_after": "2024-01-01"}'Se non specificato, non vengono applicati filtri. |
include_score |
bool |
Indica se includere il punteggio di somiglianza nei risultati restituiti. Valori supportati: "true" o "false"Impostazione predefinita: "false" |
num_results |
int |
Numero di risultati da restituire. Esempio: "5" |
query_type |
str |
Algoritmo di ricerca da usare per il recupero dei risultati. Valori supportati: "ANN" (vicino approssimativo, impostazione predefinita) o "HYBRID" (combina la ricerca di vettori e parole chiave)Impostazione predefinita: "ANN" |
score_threshold |
float |
Soglia minima del punteggio di somiglianza per filtrare i risultati. I risultati con punteggi inferiori a questa soglia vengono esclusi. Esempio: "0.7"Se non specificato, non viene applicato alcun filtro dei punteggi. |
Per informazioni dettagliate su questi parametri, vedere la documentazione di AI Search Python SDK.
Esempio: configurare i risultati e i filtri massimi per il recupero della ricerca di intelligenza artificiale
Questo esempio illustra come usare _meta i parametri per configurare il comportamento di ricerca di intelligenza artificiale consentendo al tempo stesso query dinamiche dall'agente usando il Python MCP SDK ufficiale.
In questo scenario si vuole:
- Limitare sempre i risultati della ricerca a esattamente 3 elementi per tempi di risposta coerenti
- Cercare solo la documentazione recente (aggiornata dopo il 2024-01-01) per verificare la pertinenza
- Usare la ricerca ibrida per ottenere una maggiore precisione rispetto alla ricerca vettoriale pura
- Restituisce solo colonne specifiche (ID, testo e metadati)
- Includere punteggi di somiglianza nei risultati
- Escludere risultati con punteggi di somiglianza inferiori a 0,5
- Usare il reranking sulle colonne di testo e titolo per migliorare la pertinenza
Per eseguire questo esempio, configurare l'ambiente Python per lo sviluppo MCP gestito:
# Import required libraries for MCP client and Databricks authentication
import asyncio
from databricks.sdk import WorkspaceClient
from databricks_mcp.oauth_provider import DatabricksOAuthClientProvider
from mcp.client.streamable_http import streamablehttp_client
from mcp.client.session import ClientSession
from mcp.types import CallToolRequest, CallToolResult
async def run_vector_search_tool_call_with_meta():
# Initialize Databricks workspace client for authentication
workspace_client = WorkspaceClient()
# Construct the MCP server URL for your specific catalog and schema
# Replace <workspace-hostname>, YOUR_CATALOG, and YOUR_SCHEMA with your values
mcp_server_url = "https://<workspace-hostname>/api/2.0/mcp/ai-search/YOUR_CATALOG/YOUR_SCHEMA"
# Establish connection to the MCP server with OAuth authentication
async with streamablehttp_client(
url=mcp_server_url,
auth=DatabricksOAuthClientProvider(workspace_client),
) as (read_stream, write_stream, _):
# Create an MCP session for making tool calls
async with ClientSession(read_stream, write_stream) as session:
# Initialize the session before making requests
await session.initialize()
# Create the tool call request with both dynamic and preset parameters
request = CallToolRequest(
method="tools/call",
params={
# Tool name follows the pattern: CATALOG__SCHEMA__INDEX_NAME
"name": "YOUR_CATALOG__YOUR_SCHEMA__YOUR_INDEX_NAME",
# Dynamic arguments - typically provided by your AI agent or user input
"arguments": {
"query": "How do I reset my password?" # This comes from your agent
},
# Meta parameters - preset configuration to control search behavior
"_meta": {
"num_results": "3", # Limit to 3 results for consistent performance
"filters": '{"updated_after": "2024-01-01"}', # JSON string for date filtering
"query_type": "HYBRID", # Use hybrid search for better relevance
"columns": "id,text,metadata", # Return only specific columns
"score_threshold": "0.5", # Filter out results with similarity score < 0.5
"include_score": "true", # Include similarity scores in results
"columns_to_rerank": "text,title" # Use reranker on these columns for better quality
}
}
)
# Send the request and get the response
response = await session.send_request(request, CallToolResult)
return response
# Execute the async function and get results
response = asyncio.run(run_vector_search_tool_call_with_meta())