Crea un framework AI conversazionale Agentic, High-Fidelity con Select AI e Oracle APEX
Questa soluzione di chatbot basata sull'intelligenza artificiale sfrutta un framework Agentic che incorpora funzionalità di visualizzazione e reporting dei dati riducendo al minimo le allucinazioni e garantendo un'elevata precisione.
Le query in linguaggio naturale (NL) vengono tradotte in istruzioni SQL eseguibili per l'accesso a Oracle Database, con un meccanismo human-in-the-loop per convalidare SQL prima dell'esecuzione. La soluzione è ospitata su OCI, con un'interfaccia utente di Oracle APEX Application Development, agenti AI basati su LangChain in esecuzione su OCI Compute e integrazione con i servizi di OCI Generative AI e Oracle Autonomous AI Database. L'architettura consente una perfetta interazione del linguaggio naturale con i dati aziendali, combinando un front-end reattivo per l'elaborazione del linguaggio naturale con visualizzazioni dinamiche e un back-end sicuro e ad alte prestazioni per l'esplorazione dei dati in tempo reale.
Questa soluzione di chatbot AI offre:
- Query in linguaggio naturale sul database con accesso ai dati basato su ruoli
- Visualizzazione dinamica dei dati e reporting
- Convalida SQL Human-in-the-loop
- Quasi zero allucinazioni
Architettura
Il framework agentic include livelli funzionali distinti che gestiscono l'interazione dell'utente, l'accesso API, l'elaborazione AI e lo storage dei dati su Oracle Cloud Infrastructure (OCI).
Il diagramma riportato di seguito mostra i livelli funzionali e il flusso del processo.
architettura select-ai-apex-oracle.zip
Flusso di lavoro:
- L'utente accede e sottomette una query in linguaggio naturale tramite l'applicazione front-end Oracle APEX Application Development.
- La richiesta viene instradata tramite Oracle Cloud Infrastructure API Gateway al motore di orchestrazione.
- La richiesta viene instradata da OCI API Gateway a OCI Compute che contiene agenti AI, sviluppati con un framework come LangChain, in esecuzione su Istanze contenitore OCI.
- L'agente esegue un flusso di lavoro progettato per garantire l'accuratezza delle query e ridurre le imprecisioni (allucinazioni).
- L'agente richiama la funzione Select AI di Oracle Autonomous AI Database, che utilizza OCI Generative AI per tradurre la query in linguaggio naturale e i relativi metadati in un'istruzione SQL eseguibile.
- I dati di origine si trovano in un Autonomous Database separato e non, come Oracle Exadata Database Service. Oracle Autonomous AI Database funziona come un sidecar intelligente, accedendo a questi dati utilizzando database link sicuri. Questo pattern architetturale consente l'uso della funzionalità Select AI sui dati memorizzati nelle versioni precedenti del database senza richiedere la migrazione dei dati.
- I risultati della query SQL finale vengono restituiti all'utente tramite il front-end dell'applicazione. Ogni risposta viene formattata in linguaggio naturale per emulare un'esperienza simile a una chat ed è accompagnata da visualizzazioni di dati personalizzate in base al risultato specifico della query.
- Durante questo processo viene applicato il controllo dell'accesso basato sui ruoli (RBAC, Role-Based Access Control). L'agente seleziona un profilo AI specifico corrispondente al ruolo dell'utente. Ogni profilo è limitato a un subset specifico dello schema del database di origine, assicurando che l'istruzione SQL generata acceda solo ai dati autorizzati.
Questa architettura utilizza i seguenti componenti OCI di base:
- Oracle Autonomous AI Database
Fornisce la base del livello di dati AI, tra cui:
- Integrazione dei dati: consente di accedere all'origine non Autonomous Database utilizzando i database link (sidecar).
- Interazione con il linguaggio naturale: utilizza la funzione Select AI integrata per la conversione da linguaggio naturale a SQL.
- Vector Search: utilizza la funzionalità di AI Vector Search del database per il loop di feedback di retrieval augmented generation (RAG).
- Oracle APEX Application Development
Fornisce una piattaforma low-code per la creazione dell'interfaccia utente basata sui dati. Perfettamente integrato con Autonomous Database, funge da front end per l'input delle query e la visualizzazione dei risultati.
- OCI Compute con runtime Python
Ospita il motore di orchestrazione per i flussi di lavoro AI. Riceve le richieste dall'applicazione Servizio APEX utilizzando l'API REST, esegue query sul database e chiama l'AI generativa OCI. Questo componente fornisce un ambiente di runtime persistente e a bassa latenza.
- AI generativa OCI
Fornisce l'accesso a modelli linguistici di grandi dimensioni (LLM, large language model) per tre funzioni chiave:
- Da linguaggio naturale a SQL: funge da motore di inferenza per la funzione Seleziona AI.
- Vettorizzazione feedback: genera incorporamenti dal testo per l'archiviazione nell'area di memorizzazione vettoriale AI.
- Servizi LLM back-end: possono essere richiamati direttamente dal back-end Python per altre attività generative come il riepilogo dei risultati.
- OCI API Gateway
Fornisce un endpoint gestito e sicuro per i servizi backend, instradando le richieste dal front-end del servizio APEX al motore di orchestrazione nelle istanze contenitore OCI.
- Oracle Exadata Database Service
Il database ad alte prestazioni contenente i dati di origine da sottoporre a query.
- Oracle Cloud Infrastructure Web Application Firewall (WAF)
OCI WAF funge da scudo di sicurezza critico, ispezionando tutte le richieste dal front-end del servizio APEX per proteggere il gateway API e i servizi backend da attacchi dannosi basati sul Web.
- OCI Identity and Access Management (IAM)
I criteri IAM vengono utilizzati per l'ispezione, il controllo dell'accesso e l'esecuzione sicura.
Workflow Agentic per ridurre al minimo le allucinazioni
Il seguente flusso di lavoro delinea un approccio identico progettato per ottenere allucinazioni quasi nulle nell'elaborazione delle query in linguaggio naturale (NL):
allucinazioni-riduzione-workflow-oracle.zip
- Input utente: un utente sottomette una query in linguaggio naturale tramite il front end del servizio APEX.
- Checkpoint RAG: la query viene prima valutata rispetto all'area di memorizzazione vettoriale AI in Oracle Autonomous AI Database utilizzando la ricerca di somiglianza semantica. Se viene trovata una query con corrispondenza ravvicinata e preconvalidata, l'istruzione SQL corrispondente viene riutilizzata per garantire coerenza ed efficienza.
- Dal linguaggio naturale alla generazione SQL: se non viene identificata alcuna corrispondenza, il motore di orchestrazione attiva la funzione Seleziona intelligenza artificiale in Autonomous Database. Questo componente utilizza l'AI generativa OCI per tradurre l'input dell'utente in una query SQL eseguibile.
- Convalida delle query: l'istruzione SQL generata viene presentata all'utente per la revisione e l'approvazione, introducendo una protezione human-in-the-loop prima dell'esecuzione.
- Esecuzione e recupero dati: dopo la convalida, la query SQL viene eseguita su Oracle Exadata Database Service. I dati risultanti vengono visualizzati nel front end del servizio APEX.
- Loop di feedback: la query in linguaggio naturale convalidata e l'SQL corrispondente vengono incorporati come vettori utilizzando l'AI generativa OCI e memorizzati nell'area di memorizzazione vettoriale AI. Ciò migliora la risoluzione futura delle query basate su RAG espandendo il repository di coppie di query sicure.
Questo flusso di lavoro iterativo consente al sistema di apprendere continuamente dal feedback degli utenti, riducendo progressivamente la probabilità di allucinazioni nel tempo.
Pattern Sidecar per accesso dati precedente
Oracle Autonomous AI Database funge da sidecar AI con database legacy, gestendo il linguaggio naturale per la traduzione SQL e la ricerca vettoriale, federando le query a Exadata Database Service utilizzando database link sicuri.
Questo approccio elimina la necessità di eseguire la migrazione dei dati legacy, consentendo alle aziende di modernizzare l'accesso alle query senza interrompere i sistemi esistenti.
Sfruttare il servizio APEX integrato Oracle JET per la visualizzazione dinamica
Per supportare visualizzazioni dinamiche basate sui dati, questa architettura utilizza l'integrazione diretta con Oracle JET anziché con i componenti dichiarativi del grafico di APEX Service. Ciò consente il rendering runtime richiesto in base AI dati generati dall'intelligenza artificiale.
L'architettura MVVM (Model-viewModel) di Oracle JET, che utilizza Knockout.js, consente la gestione modulare delle dipendenze, l'associazione asincrona dei dati e la composizione dell'interfaccia utente runtime. Ciò consente al front end di rispondere dinamicamente agli output JSON strutturati generati da query SQL basate sull'intelligenza artificiale.
Separando il rendering dei grafici dal livello dichiarativo di APEX Service, otteniamo il controllo dell'architettura sulla pipeline di visualizzazione. I tipi di grafico e i modelli di dati vengono selezionati e introdotti in fase di esecuzione, consentendo un'esperienza utente reattiva ed estendibile in linea con i flussi di lavoro di analytics moderni.
Panoramica della pipeline di rendering:
- Generazione del modello: i risultati SQL generati dall'intelligenza artificiale vengono trasformati in JSON strutturato utilizzando gli agenti AI.
- Payload JSON: memorizzati negli elementi di pagina Servizio APEX per l'accesso front-end.
- Composizione vista: i suggerimenti per il tipo di grafico, ad esempio grafici a barre, a linee e a torta, vengono recuperati da AI e memorizzati in un elemento del gruppo di scelta Servizio APEX, consentendo agli utenti di passare da un tipo di grafico all'altro.
- Esecuzione del grafico di runtime: la funzione JavaScript associa il modello JSON al componente del grafico Oracle JET all'interno di un'area statica che visualizza la visualizzazione in tempo reale.
Suggerimenti
- Uomo in ciclo
Stabilire linee guida e interfacce chiare per questa interazione. Progetta interfacce di revisione intuitive e definisci criteri di escalation chiari per garantire che la supervisione umana sia efficiente ed efficace. Ciò favorisce la fiducia nel sistema e consente un miglioramento continuo attraverso cicli di feedback.
- Feedback
Implementa analisi complete sui log dei feedback generati dal sistema. Ciò fornirà informazioni su come il sistema sta apprendendo e evolvendo. Monitorare gli indicatori KPI (Key Performance Indicator), come l'accuratezza delle query, la soddisfazione degli utenti e i tempi di risposta, aiuterà a identificare le aree di miglioramento e a garantire un'esperienza utente di alta qualità.
Considerazioni
Considera i seguenti punti quando distribuisci questa architettura di riferimento su Oracle Cloud Infrastructure (OCI):
- AI generativa
- Per prestazioni prevedibili, in particolare negli ambienti di produzione, distribuisci cluster AI dedicati per l'inferenza dei modelli. Questi cluster non vengono condivisi con altri tenant, garantendo tempi di risposta coerenti. Per attività meno critiche come l'integrazione della generazione, la modalità on-demand può essere un'opzione più conveniente.
- Per gli incorporamenti, puoi importare i modelli pre-addestrati in Oracle Autonomous AI Database o generare incorporamenti esternamente utilizzando l'AI generativa OCI. Oracle Autonomous AI Database include un motore di runtime Open Neural Network Exchange (ONNX) integrato che consente l'esecuzione diretta dei modelli di incorporamento nel database.
- Alta disponibilità
- Agenti AI: per garantire l'alta disponibilità, gli agenti AI basati su LangChain devono essere distribuiti su più istanze di computazione in domini di errore o domini di disponibilità diversi. Consigliamo di utilizzare i pool di istanze OCI per la scalabilità e la facilità di gestione. Un load balancer OCI distribuisce il traffico tra queste istanze ed esegue controlli dello stato.
- Servizi gestiti: altri componenti dell'architettura, come Autonomous Database, APEX Service, OCI Generative AI e OCI API Gateway, sono servizi completamente gestiti con tolleranza agli errori integrata e alta disponibilità, che non richiedono alcuna configurazione aggiuntiva per la ridondanza.
- Disaster Recovery: per la protezione dalle indisponibilità a livello di sito, abilita Oracle Autonomous Data Guard a replicare il database in un'altra region OCI.
- Sicurezza e conformità
- Approccio alla sicurezza su più livelli: implementa una strategia di sicurezza su più livelli. Ciò dovrebbe includere misure di sicurezza di rete come l'utilizzo di un Oracle Cloud Infrastructure Web Application Firewall e il principio del privilegio minimo per tutte le interazioni con i servizi.
- Controllo dell'accesso con filtro: oltre al controllo dell'accesso basato sui ruoli (RBAC, Role-Based Access Control) implementato tramite profili AI, prendere in considerazione l'uso di criteri VPD (Virtual Private Database) per un controllo più granulare sull'accesso AI dati.
Scopri di più
Scopri di più sulle caratteristiche di questa architettura e sulle architetture correlate.

