QueryData ti consente di interagire con i dati nel database utilizzando il linguaggio conversazionale e di creare agenti di dati. QueryData scrive query per il tuo database utilizzando set di contesto, ovvero raccolte di codice che contengono informazioni univoche sul tuo database. Questo contesto consente a QueryData di tradurre le domande in linguaggio naturale in query accurate per i tuoi casi d'uso di destinazione.
Quando utilizzare QueryData
QueryData è ideale per applicazioni come:
- Automazione dell'assistenza clienti: gestisci le richieste di alto volume come "Dov'è il mio ordine?" o "Qual è il mio saldo attuale?".
- Assistenti per lo shopping e-commerce: aiuta gli utenti a navigare in cataloghi di prodotti di grandi dimensioni con query in linguaggio naturale come "Mostrami le scarpe da corsa sotto i 100 €".
- Strumenti per le operazioni sul campo: consente ai dipendenti in mobilità di eseguire query in tempo reale sui livelli di inventario , sulla disponibilità dei ricambi o sui dettagli dei ticket di assistenza.
Come funziona QueryData
Per creare applicazioni agentiche efficaci, QueryData deve comprendere l'organizzazione dei dati e la logica di business. Queste informazioni vengono fornite sotto forma di set di contesto.
Definisci il contesto nei file che contengono oggetti JSON per ogni tipo di contesto. Crea questi file di contesto con l'aiuto dell'interfaccia a riga di comando di Gemini. Poi carica il file di contesto in un set di contesto che crei nella Google Cloud console. Questo processo consente a QueryData di apprendere lo schema specifico del database e la logica di business dell'applicazione.
Il file di contesto è simile al seguente:
Il file di contesto dell'agente è simile al seguente:
{
"templates": [
{
"nl_query": "Count prague loan accounts",
"sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = 'Prague'",
"intent": "How many accounts associated with loans are located in the Prague region?",
"manifest": "How many accounts associated with loans are located in a given city?",
"parameterized": {
"parameterized_intent": "How many accounts associated with loans are located in $1",
"parameterized_sql": "SELECT COUNT(T1.account_id) FROM bird_dev_financial.account AS T1 INNER JOIN bird_dev_financial.loan AS T2 ON T1.account_id = T2.account_id INNER JOIN bird_dev_financial.district AS T3 ON T1.district_id = T3.district_id WHERE T3.\"A3\" = $1"
}
}
],
"facets": [
{
"sql_snippet": "T.\"A11\" BETWEEN 6000 AND 10000",
"intent": "Average salary between 6000 and 10000",
"manifest": "Average salary between a given number and a given number",
"parameterized": {
"parameterized_intent": "Average salary between $1 and $2",
"parameterized_sql_snippet": "T.\"A11\" BETWEEN $1 AND $2"
}
}
]
}
Quando un utente finale pone una domanda in linguaggio naturale, QueryData assegna la priorità alla corrispondenza della domanda con i modelli e le sfaccettature sottoposti a revisione dallo sviluppatore che cura il contesto. Una volta identificata una corrispondenza, QueryData utilizza il modello di query e le sfaccettature selezionati per sintetizzare una query di database. La logica del set di contesto esegue quindi la query sul database per restituire risultati accurati.
Un passaggio consigliato è definire le ricerche di valori all'interno del contesto. Le ricerche di valori consentono all'agente di mappare le frasi di valori a valori specifici archiviati nelle colonne del database. In questo modo, il modello linguistico di grandi dimensioni si basa sui dati effettivi, il che lo aiuta a risolvere le ambiguità, ad esempio se un termine si riferisce a un nome di District o a una City.
Se l'agente non riesce a trovare un modello corrispondente, utilizza le ricerche di valori per mappare le frasi in linguaggio naturale a valori specifici archiviati nelle colonne del database. In questo modo, il modello linguistico di grandi dimensioni si basa sui dati effettivi, il che lo aiuta a risolvere le ambiguità, ad esempio se un termine si riferisce a un District, a un Name o a una City.
L'endpoint QueryData nell'API
Analisi conversazionale è
uno strumento agentico che consente l'integrazione programmatica con le tue applicazioni per
abilitare la generazione di query SQL da domande in linguaggio naturale. In un'applicazione conversazionale, l'endpoint QueryData deve essere utilizzato all'interno del framework che gestisce la cronologia e il contesto della conversazione.Per applicare la risoluzione delle entità mantenendo una sicurezza rigorosa a livello di riga, puoi utilizzare le viste sicure con parametri (PSV). Per ulteriori informazioni, consulta Proteggere e controllare l'accesso ai dati delle applicazioni utilizzando le viste sicure con parametri.
Passaggi successivi
- Scopri come testare QueryData in Cloud SQL Studio.