Il contesto che circonda i tuoi dati fornisce alle tue applicazioni di AI una conoscenza approfondita dei tuoi asset di dati, migliorando l'accuratezza e la pertinenza delle risposte generate da LLM.
Il metodo lookupContext colma il divario di contesto utilizzando una singola richiesta API per recuperare un bundle preformattato di metadati della risorsa ottimizzati per i flussi di lavoro agentici interattivi. Puoi utilizzare questo contesto compatto e pronto per LLM per basare i tuoi agenti sulla valutazione e sull'utilizzo degli asset di dati.
Puoi utilizzare il lookupContext metodo per qualsiasi asset di dati archiviato in Knowledge Catalog, ad esempio tabelle BigQuery, set di dati o altre voci.
Come recuperare il contesto di un asset con il metodo lookupContext
- L'agente recupera gli asset di dati potenzialmente pertinenti per il recupero del contesto, ad esempio utilizzando la ricerca semantica di Knowledge Catalog.
- L'agente utilizza il metodo
lookupContextper effettuare una singola chiamata API o una richiesta di strumento MCP che recupera il contesto per un asset specifico. Il metodo restituisce una risposta contenente un blocco di testo preformattato. A seconda del parametro
formatspecificato nella richiesta, il documento può essere in formato YAML, XML o JSON.La risposta contiene i seguenti elementi di contesto:
Elemento dei contenuti Descrizione Metadati tecnici Schemi delle risorse e configurazioni fisiche, ad esempio strategie di partizionamento e clustering di BigQuery. Metadati operativi Unioni e altre relazioni, basate sui log delle query storiche e sugli insight sui dati. Per saperne di più, consulta Visualizzare le relazioni tra i dati. Descrizioni delle attività Termini aziendali correlati, panoramiche, annotazioni del catalogo, descrizioni acquisite nel sistema di origine e generate automaticamente in Knowledge Catalog e linee guida.
Nota: puoi utilizzare l'aspetto delle linee guida sugli asset di dati per acquisire un contesto aggiuntivo utile per gli agenti quando scoprono, esaminano o utilizzano gli asset di dati.Profilo di dati Statistiche di distribuzione, conteggi dei valori distinti, rapporti nulli e valori di esempio. Qualità dei dati Risultati del controllo automatico della qualità dei dati in base a regole predefinite. Contesto degli asset di dati correlati Contesto degli asset di dati correlati, ad esempio termini del glossario o altri asset correlati, come le tabelle unite di frequente. Il contesto restituito per gli asset correlati include la stessa gamma di elementi dell'asset o degli asset principali. L'agente utilizza questa risposta per guidare la selezione degli asset pertinenti o il loro utilizzo.
Prima di iniziare
Prima di utilizzare il metodo lookupContext, assicurati di disporre dei ruoli necessari e di aver abilitato le API richieste.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per chiamare il metodo lookupContext, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto: Google Cloud iam.gserviceaccount.com
-
Accesso in lettura alle risorse del catalogo, inclusi voci, gruppi di voci e glossari:
Dataplex Catalog Viewer (
roles/dataplex.catalogViewer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Abilita API
Per utilizzare il metodo lookupContext, abilita le seguenti API nel tuo progetto:
- API Knowledge Catalog
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che
contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere
i ruoli.
Recuperare il contesto di un asset di dati
Per recuperare il contesto di un asset di dati, accedi direttamente al metodo lookupContext con l'API Dataplex o utilizza il server Model Context Protocol (MCP) remoto di Knowledge Catalog o MCP Toolbox For Databases.
Il metodo lookupContext filtra le risorse in base alle tue autorizzazioni. La risposta contiene dati solo per gli asset a cui la tua identità dispone delle autorizzazioni Identity and Access Management (IAM) necessarie per accedere. Se non hai autorizzazioni per le risorse richieste, il metodo restituisce una risposta vuota.
REST
Per recuperare il contesto di un asset di dati, invia la seguente richiesta:
curl --request POST \
'https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:lookupContext' \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"resources": RESOURCES
"options": OPTIONS
}' \
--compressed
Sostituisci quanto segue:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la regione in cui l'asset
esiste (ad esempio
us-central1) - RESOURCES: fino a dieci nomi di voci per cui recuperare il contesto, formattati come
projects/{project}/locations/{location}/entryGroups/{entryGroup}/entries/{entry}. Per più risorse, l'API stabilisce relazioni tra le risorse richieste, ad esempio unioni di schemi frequenti, e restituisce le informazioni sulla relazione nel contesto. - OPTIONS: le opzioni che consentono di definire il contesto:
formatè il formato del file di contesto. Ad esempio,yaml.context_budgetè il numero di caratteri a cui è limitata la risposta. Se imposti il parametroall_schema_fieldssutrue, l'API restituisce tutti i campi dello schema indipendentemente dal valore dicontext_budget.
Una richiesta di esempio che recupera il contesto di una tabella BigQuery è simile alla seguente:
curl --request POST \
'https://dataplex.googleapis.com/v1/projects/test-project/locations/us:lookupContext?key=[YOUR_API_KEY]' \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"resources":
["projects/test-project/locations/us/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table"],
"options":
{
"format":"yaml",
"context_budget":"4000"
}
}' \
--compressed
La risposta è un blocco di testo preformattato simile al seguente:
{
"context": "resource: \"projects/test-project/locations/us/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/test-project/datasets/sales_data/tables/orders\"\ntechnical_metadata:\n schema:\n - name: order_id\n type: STRING\n description: \"Primary key for the order.\"\n - name: customer_id\n type: STRING\n - name: total_amount\n type: NUMERIC\n partitioning:\n type: TIMESTAMP\n field: order_date\nbusiness_descriptions:\n overview: \"Historical record of all customer transactions.\"\n related_terms:\n - \"Revenue\"\n - \"Sales Transactions\"\n guidelines: \"Always filter by 'order_date' to optimize query costs due to partitioning.\"\ndata_profile:\n columns:\n - name: total_amount\n null_ratio: 0.001\n distinct_values: 52340\n sample_values: [45.99, 120.00, 15.50]\ndata_quality:\n summary:\n - rule: \"positive_amounts\"\n status: PASSED\n description: \"Ensures total_amount is greater than zero.\"\noperational_metadata:\n frequent_joins:\n - table: \"projects/test-project/locations/us/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/test-project/datasets/sales_data/tables/customers\"\n join_key: \"customer_id\"\n"
}
Python
Python
Prima di provare questo esempio, segui le istruzioni di configurazione Python nella guida rapida di Knowledge Catalog per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell' API Pythondi Knowledge Catalog.
Per eseguire l'autenticazione in Knowledge Catalog, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente mostra come recuperare il contesto di una tabella BigQuery:
from google.cloud import dataplex_v1
# Initialize the client
client = dataplex_v1.CatalogServiceClient()
# Define the request with a seed resource
request = dataplex_v1.LookupContextRequest(
name="projects/test-project/locations/us",
resources=["projects/test-project/locations/us/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table"],
options={"format": "yaml", "budget": "4000"}
)
# Retrieve the LLM-ready context
response = client.lookup_context(request=request)
context_yaml = response.context
print(f"Retrieved Context: \n{context_yaml}")
Best practice per il metodo lookupContext
Per ottimizzare i risultati quando utilizzi il metodo lookupContext, tieni a mente le seguenti best practice:
- Richiedi la lunghezza selezionata del contesto di output con il parametro
context_budget. Il metodolookupContextcercherà di inserire il contesto più pertinente nell'output il più vicino possibile ai limiti prescritti dal parametro. - Puoi elencare fino a dieci asset di dati nell'elenco
resources. Ad esempio, se includi più tabelle nell'elencoresources, l'API fornisce il contesto non solo per queste tabelle, ma anche per i possibili percorsi di unione tra di esse, fornendo quindi le indicazioni necessarie su come utilizzare queste tabelle insieme. - Utilizza l'opzione
format, ad esempioyamlojson, che si allinea meglio alla logica di analisi dell'LLM o dell'agente per evitare trasformazioni costose.
Passaggi successivi
- Scopri come creare un agente per scoprire i tuoi dati.
- Scopri come creare un agente per arricchire i metadati.
- Scopri la sintassi di ricerca di Knowledge Catalog.
- Scopri di più sulla visualizzazione delle relazioni tra i dati.