Ricerca SQL (NL2SQL)
Utilizza SQL Search (NL2SQL) per convertire le richieste in linguaggio naturale in SQL convalidato per i dati aziendali in OCI Generative AI.
NL2SQL aiuta gli Enterprise AI Agent a lavorare con i dati aziendali federati senza spostare o copiare i dati sottostanti. Utilizza un livello di arricchimento semantico per mappare i termini aziendali a campi di database, tabelle e join, quindi genera SQL da input in linguaggio naturale.
NL2SQL genera solo SQL. non esegue la query.
Informazioni preliminari
Prima di utilizzare NL2SQL, creare un database e configurare le connessioni al database necessarie.
Come minimo, è necessario:
- Oracle Autonomous Database di origine
- Una connessione di arricchimento del servizio Database Tools
- Una connessione query del servizio Database Tools
Creare un'area di memorizzazione semantica
Per utilizzare NL2SQL, creare una risorsa Semantic Store OCI.
Un'area di memorizzazione semantica è supportata da una area di memorizzazione vettoriale con dati strutturati e include due connessioni DBTools:
- Connessione di arricchimento
- Connessione query
Nella console
Nella console creare una memoria di vettore e selezionare Dati strutturati. Quando si seleziona Dati strutturati, vengono visualizzate le opzioni di configurazione dell'area di memorizzazione semantica, incluse le impostazioni di arricchimento e i dettagli di connessione al database.
Utilizzando l'API OCI Generative AI
Nell'API OCI Generative AI, creare un'area di memorizzazione semantica utilizzando l'operazione CreateSemanticStore.
| URL di base | Percorso endpoint | Autenticazione |
|---|---|---|
https://generativeai.${region}.oci.oraclecloud.com/20231130 |
/semanticStores |
Solo sessione IAM |
L'API CreateSemanticStore fa parte dell'API del servizio OCI Generative AI e utilizza l'autenticazione basata su OCI IAM.
Connessioni DBTools
NL2SQL utilizza due connessioni al database con scopi diversi.
Connessione di arricchimento
La connessione all'integrazione è la connessione con privilegi più elevati utilizzata durante l'integrazione. Sono necessari privilegi per:
- Esegui query
- Esegui operazioni DDL
- Accedere ai valori di esempio dal database
OCI Generative AI utilizza questa connessione per leggere le informazioni sullo schema e creare i metadati necessari per la generazione SQL.
Connessione query
La connessione query è la connessione con privilegi inferiori utilizzata per eseguire query per conto dell'utente che esegue query.
Questa separazione aiuta a mantenere distinte le responsabilità di generazione ed esecuzione e supporta un controllo dell'accesso più sicuro.
Arricchimento
Il processo di arricchimento legge i metadati dello schema, ad esempio tabelle e colonne, dal database connesso. OCI Generative AI utilizza questi metadati per generare un SQL migliore.
È possibile selezionare quando viene eseguito l'arricchimento:
- Al momento della creazione: l'arricchimento inizia automaticamente dopo la creazione dell'area di memorizzazione semantica
- Manuale: l'integrazione viene eseguita in un secondo momento tramite una chiamata API separata
Per attivare l'arricchimento manualmente, chiamare l'API GenerateEnrichmentJob.
Genera SQL da linguaggio naturale
Al termine dell'integrazione, chiamare l'API GenerateSqlFromNl per convertire l'input in linguaggio naturale in SQL.
Questa API:
- Accetta input in linguaggio naturale
- Utilizza i metadati semantici arricchiti
- Restituisce SQL generato
Questa API non esegue l'istruzione SQL nel database.
Esecuzione query
Il server MCP di DBTools gestisce il flusso di esecuzione completo:
- Chiama il servizio NL2SQL per generare SQL.
- Autorizza la richiesta.
- Esegue la query sul database di origine.
- Applica i guardrail appropriati.
- Utilizza l'identità dell'utente finale per l'esecuzione.
Ciò consente agli agenti di lavorare con i dati aziendali mantenendo l'esecuzione nel sistema di origine sotto le autorizzazioni esistenti.
Usa NL2SQL in un workflow Agentic
NL2SQL può far parte di un flusso di lavoro più ampio.
Un cliente può:
- Invia una richiesta all'API Risposte per avviare la pianificazione dell'agente e richiedere la convalida
- Chiama GenerateSqlFromNl per convertire la richiesta in lingua naturale in SQL
- Utilizzare il server DBTools MCP per eseguire la query, se necessario.
- Ripeti l'istruzione SQL generata o i risultati della query nell'API Risposte per il passo successivo del workflow
Ciò consente di combinare l'accesso ai dati strutturati con un ragionamento e un'orchestrazione più ampi degli agenti.
Integrazione di NL2SQL con gli agenti
NL2SQL è una funzionalità di dati aziendali nell'AI generativa OCI. È utile quando l'agente deve utilizzare dati aziendali strutturati traducendo le richieste in lingua aziendale in SQL.
A differenza di Ricerca file, Interprete codice, Chiamata funzione e Chiamata MCP, NL2SQL non è configurato come voce tools dell'API risposte. Utilizza il proprio flusso API e le risorse di supporto, incentrate su:
- Area di vendita semantica
- Connessioni DBTools
- Arricchimento
- Genera SQL da collegamento
API NL2SQL
È possibile utilizzare la seguente API per lo strumento NL2SQL:
- Negozi semantici
-
CreateSemanticStoreListSemanticStoresGetSemanticStoreUpdateSemanticStoreChangeSemanticStoreCompartmentDeleteSemanticStore
- Job di integrazione
-
ListEnrichmentJobsGetEnrichmentJobGenerateEnrichmentJobCancelEnrichmentJobGenerateSqlFromNl
- Genera SQL
GenerateSqlFromNl