Pesquisa de AI
Visualização
Esse recurso está em Pré-lançamento público.
O servidor MCP de Pesquisa de AI é um servidor MCP gerenciado do Databricks que permite que agentes realizem a execução de pesquisa semântica sobre seus índices de Pesquisa de AI para encontrar documentos relevantes, com resultados regidos pelas permissões do Unity Catalog. A consulta de um índice requer incorporações gerenciadas pelo Databricks.
Padrão de URL | Escopo OAuth |
|---|---|
|
|
O AI Search era anteriormente o Vector Search. O prefixo de URL /api/2.0/mcp/vector-search/ anterior e o escopo vector-search ainda funcionam.
Parâmetros de pesquisa de AI _meta
O AI Search é compatível com os seguintes parâmetros _meta:
Nome do parâmetro | Tipo | Descrição |
|---|---|---|
|
| Lista separada por vírgulas de nomes de colunas a serem retornados nos resultados da pesquisa. Exemplo: Se não especificado, todas as colunas (exceto colunas internas que começam com "__") são retornadas. |
|
| Lista separada por vírgulas de nomes de colunas cujo conteúdo o modelo de reclassificação usa para reclassificação. O reclassificador usa este conteúdo para reclassificar todos os resultados da pesquisa para melhorar a relevância. Exemplo: Se não especificado, a reclassificação não é realizada. |
|
| strings JSON contendo filtros a serem aplicados à pesquisa. [[ ## completed ##]] Deve ser um JSON válido. Exemplo: Se não especificado, nenhum filtro é aplicado. |
|
| Se deve incluir a pontuação de similaridade nos resultados retornados. Valores suportados: default: |
|
| Número de resultados a retornar. Exemplo: |
|
| Algoritmo de pesquisa a ser usado para recuperar resultados. Valores compatíveis: default: |
|
| Limite mínimo de pontuação de similaridade para filtrar resultados. Resultados com pontuações abaixo deste limite são excluídos. Exemplo: Se não especificado, nenhum filtro de pontuação é aplicado. |
Para obter informações detalhadas sobre esses parâmetros, consulte a documentação do SDK do Python para AI Search.
Exemplo: configurar resultados máximos e filtros para a recuperação de Pesquisa de AI
[[ ## completed ##]]
Este exemplo mostra como usar parâmetros _meta para configurar o comportamento da Pesquisa de IA enquanto permite queries dinâmicas do seu agente usando o SDK MCP Python oficial.
Nesse cenário, você deseja:
- Limite sempre os resultados da pesquisa a exatamente 3 itens para tempos de resposta consistentes
- Pesquise apenas documentação recente (atualizada após 01/01/2024) para verificar a relevância
- Use a pesquisa híbrida para obter maior precisão do que a pesquisa vetorial pura
- Retornar apenas colunas específicas (id, text e metadata)
- Incluir pontuações de similaridade nos resultados
- Excluir resultados com pontuações de similaridade abaixo de 0,5
- Use a reclassificação em colunas de texto e título para melhorar a relevância
Para execução deste exemplo, configure seu ambiente Python para desenvolvimento de MCP gerenciado:
# 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())