Erstellen Sie ein Agentic, High-Fidelity, Conversational AI Framework mit Select AI und Oracle APEX
Diese KI-gesteuerte Chatbot-Lösung nutzt ein agentengesteuertes Framework, das Datenvisualisierungs- und Berichtsfunktionen integriert und gleichzeitig Halluzinationen minimiert und eine hohe Genauigkeit gewährleistet.
Natural Language-(NL-)Abfragen werden für den Oracle Database-Zugriff in ausführbare SQL-Anweisungen mit einem Human-in-the-Loop-Mechanismus übersetzt, um SQL vor der Ausführung zu validieren. Die Lösung wird auf OCI gehostet. Sie umfasst eine Oracle APEX Application Development-Benutzeroberfläche, LangChain-basierte KI-Agents, die auf OCI Compute ausgeführt werden, sowie die Integration mit OCI Generative AI-Services und Oracle Autonomous AI Database. Die Architektur ermöglicht eine nahtlose Interaktion in natürlicher Sprache mit Unternehmensdaten und kombiniert ein reaktionsfähiges Frontend für die Verarbeitung in natürlicher Sprache mit dynamischen Visualisierungen und ein sicheres, leistungsstarkes Backend für die Datenexploration in Echtzeit.
Diese KI-Chatbot-Lösung bietet:
- Abfrage in natürlicher Sprache in der Datenbank mit rollenbasiertem Zugriff auf Daten
- Dynamische Datenvisualisierung und Reporting
- Human-in-the-Loop-SQL-Validierung
- Nahe bei null Halluzinationen
Architektur
Das Agentic Framework umfasst verschiedene, funktionale Ebenen, die Benutzerinteraktion, API-Zugriff, KI-Verarbeitung und Datenspeicher auf Oracle Cloud Infrastructure (OCI) verarbeiten.
Das folgende Diagramm zeigt die funktionalen Schichten und den Prozessfluss:
select-ai-apex-architektur-oracle.zip
Workflow:
- Der Benutzer meldet sich an und leitet eine Abfrage in natürlicher Sprache über die Frontend-Anwendung von Oracle APEX Application Development weiter.
- Die Anforderung wird über Oracle Cloud Infrastructure API Gateway an die Orchestrierungs-Engine weitergeleitet.
- Die Anforderung wird von OCI API Gateway an OCI Compute weitergeleitet, das AI-Agents enthält, die mit einem Framework wie LangChain entwickelt wurden und auf OCI-Containerinstanzen ausgeführt werden.
- Der Agent führt einen Workflow aus, der die Abfragegenauigkeit gewährleistet und Ungenauigkeiten (Halluzinationen) mindert.
- Der Agent ruft das KI-Feature "Oracle Autonomous AI Database Select" auf, das OCI Generative AI nutzt, um die Abfrage in natürlicher Sprache und ihre Metadaten in eine ausführbare SQL-Anweisung zu übersetzen.
- Die Quelldaten befinden sich in einer separaten, nicht Autonomous Database-Instanz, wie Oracle Exadata Database Service. Oracle Autonomous AI Database fungiert als intelligentes Sidecar und greift über sichere Datenbanklinks auf diese Daten zu. Dieses Architekturmuster ermöglicht die Verwendung der Select AI-Funktion für Daten, die in früheren Datenbankversionen gespeichert sind, ohne dass eine Datenmigration erforderlich ist.
- Die Ergebnisse der endgültigen SQL-Abfrage werden über das Frontend der Anwendung an den Benutzer zurückgegeben. Jede Antwort wird in natürlicher Sprache formatiert, um eine Chat-ähnliche Erfahrung zu emulieren, und wird von Datenvisualisierungen begleitet, die auf das spezifische Abfrageergebnis zugeschnitten sind.
- Rollenbasierte Zugriffskontrolle (Role-Based Access Control, RBAC) wird während dieses Prozesses durchgesetzt. Der Agent wählt ein bestimmtes AI-Profil aus, das der Rolle des Benutzers entspricht. Jedes Profil ist auf eine bestimmte Teilmenge des Schemas der Quelldatenbank beschränkt. Dadurch wird sichergestellt, dass die generierte SQL nur auf autorisierte Daten zugreift.
Diese Architektur verwendet die folgenden OCI-Kernkomponenten:
- Oracle Autonomous AI Database
Stellt den Kern der KI-Datenschicht bereit, einschließlich:
- Datenintegration: Greift über Datenbanklinks (Sidecar) auf die Nicht-Autonomous Database-Quelle zu.
- Natural Language Interaction: Verwendet die integrierte Select AI-Funktion für die Konvertierung von natürlicher Sprache in SQL.
- Vector Search: Verwendet die AI Vector Search-Funktion der Datenbank für die Retrieval Augmented Generation (RAG) Feedbackschleife.
- Oracle APEX Application Development
Bietet eine Low-Code-Plattform zum Erstellen der datengesteuerten Benutzeroberfläche. Sie ist eng in Autonomous Database integriert und dient als Frontend für die Abfrageeingabe und Visualisierung von Ergebnissen.
- OCI Compute mit Python Runtime
hostet die Orchestrierungs-Engine für die KI-Workflows. Er empfängt Anforderungen von der APEX-Serviceanwendung mit der REST-API, fragt die Datenbank ab und ruft die OCI Generative AI auf. Diese Komponente bietet eine dauerhafte Laufzeitumgebung mit geringer Latenz.
- OCI Generative AI
Bietet Zugriff auf große Sprachmodelle (LLMs) für drei wichtige Funktionen:
- Natural Language to SQL: Dient als Inferenzierungs-Engine für das Feature "AI auswählen".
- Feedback-Vektorisierung: Generiert Einbettungen aus Text zur Speicherung im AI Vector Store.
- Backend-LLM-Services: Kann direkt vom Python-Backend für andere generative Aufgaben wie die Ergebniszusammenfassung aufgerufen werden.
- OCI API Gateway
Stellt einen verwalteten, sicheren Endpunkt für Backend-Services bereit, der Anforderungen vom Frontend des APEX-Service an die Orchestrierungs-Engine in den OCI-Containerinstanzen weiterleitet.
- Oracle Exadata Database Service
Die leistungsstarke Datenbank mit den abzufragenden Quelldaten.
- Oracle Cloud Infrastructure Web Application Firewall (WAF)
OCI WAF fungiert als kritischer Sicherheitsschild und prüft alle Anforderungen vom Frontend des APEX-Service, um das API-Gateway und die Backend-Services vor böswilligen webbasierten Angriffen zu schützen.
- OCI Identity and Access Management (IAM)
IAM-Policys werden für Prüfung, Zugriffskontrolle und sichere Ausführung verwendet.
Agentischer Workflow zur Minimierung von Halluzinationen
Der folgende Workflow beschreibt einen agentenischen Ansatz, der entwickelt wurde, um Halluzinationen in natürlicher Sprache (NL) bei der Abfrageverarbeitung zu erreichen:
Halluzinationsreduktion-workflow-oracle.zip
- Benutzereingabe: Ein Benutzer leitet eine Abfrage in natürlicher Sprache über das Frontend des APEX-Service weiter.
- RAG-Checkpoint: Die Abfrage wird zunächst mit dem AI Vector Store in Oracle Autonomous AI Database anhand der semantischen Ähnlichkeitssuche ausgewertet. Wenn eine eng übereinstimmende, vorab validierte Abfrage gefunden wird, wird die entsprechende SQL wiederverwendet, um Konsistenz und Effizienz zu gewährleisten.
- Von natürlicher Sprache zu SQL-Generierung: Wenn keine Übereinstimmung ermittelt wird, löst die Orchestrierungs-Engine das Feature "KI auswählen" in Autonomous Database aus. Diese Komponente nutzt OCI Generative AI, um die Eingabe des Benutzers in eine ausführbare SQL-Abfrage zu übersetzen.
- Abfragevalidierung: Das generierte SQL wird dem Benutzer zur Prüfung und Genehmigung präsentiert und führt vor der Ausführung einen Human-in-the-Loop-Schutz ein.
- Ausführung und Datenabruf: Nach der Validierung wird die SQL-Abfrage für Oracle Exadata Database Service ausgeführt. Die resultierenden Daten werden im Frontend des APEX-Service wiedergegeben.
- Feedbackschleife: Die validierte Abfrage in natürlicher Sprache und die zugehörige SQL werden mit OCI Generative AI als Vektoren eingebettet und im AI Vector Store gespeichert. Dadurch wird die zukünftige RAG-basierte Abfrageauflösung verbessert, indem das Repository vertrauenswürdiger Abfragepaare erweitert wird.
Dieser iterative Workflow ermöglicht es dem System, kontinuierlich aus dem Feedback der Benutzer zu lernen und die Wahrscheinlichkeit von Halluzinationen im Laufe der Zeit schrittweise zu reduzieren.
Sidecar-Muster für Legacy-Datenzugriff
Oracle Autonomous AI Database fungiert als KI-Sidecar mit Legacy-Datenbanken und verarbeitet natürliche Sprache für SQL-Übersetzung und Vektorsuche, während Abfragen mit sicheren Datenbanklinks zu Exadata Database Service föderiert werden.
Dieser Ansatz eliminiert die Notwendigkeit, Legacy-Daten zu migrieren, sodass Unternehmen den Abfragezugriff modernisieren können, ohne vorhandene Systeme zu unterbrechen.
Nutzung des eingebetteten APEX-Service Oracle JET für dynamische Visualisierung
Um dynamische, datengesteuerte Visualisierungen zu unterstützen, verwendet diese Architektur eine direkte Integration mit Oracle JET anstelle der deklarativen Diagrammkomponenten des APEX-Service. Dies ermöglicht das erforderliche Laufzeit-Rendering basierend auf KI-generierten Daten.
Die Model-View-Model-(MVVM-)Architektur von Oracle JET, die Knockout.js nutzt, ermöglicht modulares Abhängigkeitsmanagement, asynchrones Data Binding und die Zusammensetzung der Laufzeitbenutzeroberfläche. Dadurch kann das Frontend dynamisch auf strukturierte JSON-Ausgaben reagieren, die von KI-gesteuerten SQL-Abfragen generiert werden.
Durch das Trennen der Diagrammwiedergabe von der deklarativen Ebene des APEX-Service erhalten wir architektonische Kontrolle über die Visualisierungspipeline. Diagrammtypen und Datenmodelle werden zur Laufzeit ausgewählt und eingeführt, um eine responsive und erweiterbare Benutzererfahrung zu ermöglichen, die auf moderne Analyseworkflows abgestimmt ist.
Rendering-Pipeline – Überblick:
- Modellgenerierung: KI-generierte SQL-Ergebnisse werden mithilfe von KI-Agents in strukturiertes JSON umgewandelt.
- JSON-Payloads: In Seitenelementen des APEX-Service gespeichert für Frontend-Zugriff.
- Ansichtszusammensetzung: Diagrammtypempfehlungen, z.B. Balken-, Linien- und Tortendiagramme, werden von KI abgerufen und in einem Optionsgruppenelement APEX-Service gespeichert, sodass Benutzer zwischen verschiedenen Diagrammtypen wechseln können.
- Laufzeitdiagrammausführung: Die Funktion JavaScript bindet das JSON-Modell an die Oracle JET-Diagrammkomponente innerhalb einer statischen Region, in der die Visualisierung in Echtzeit wiedergegeben wird.
Empfehlungen
- Human-in-the-Loop
Legen Sie klare Richtlinien und Schnittstellen für diese Interaktion fest. Entwerfen Sie intuitive Überprüfungsschnittstellen und definieren Sie klare Eskalationskriterien, um sicherzustellen, dass die menschliche Aufsicht effizient und effektiv ist. Dies fördert das Vertrauen in das System und ermöglicht eine kontinuierliche Verbesserung durch Feedbackschleifen.
- Rückmeldung
Implementieren Sie umfassende Analysen zu den Feedbacklogs, die vom System generiert werden. Dies wird Einblicke in das Lernen und die Entwicklung des Systems geben. Die Überwachung von KPIs (Key Performance Indicators, KPIs) wie Abfragegenauigkeit, Benutzerzufriedenheit und Reaktionszeiten wird dazu beitragen, Verbesserungsbereiche zu identifizieren und eine qualitativ hochwertige Benutzererfahrung sicherzustellen.
Hinweise
Berücksichtigen Sie beim Deployment dieser Referenzarchitektur auf Oracle Cloud Infrastructure (OCI):
- Generative KI
- Um eine vorhersehbare Performance zu erzielen, insbesondere in Produktionsumgebungen, stellen Sie dedizierte KI-Cluster für Modellinferenz bereit. Diese Cluster werden nicht mit anderen Mandanten gemeinsam verwendet, um konsistente Reaktionszeiten sicherzustellen. Für weniger kritische Aufgaben wie die Einbettungsgenerierung kann der On-Demand-Modus eine kostengünstigere Option sein.
- Bei Einbettungen können Sie vortrainierte Modelle entweder in Oracle Autonomous AI Database importieren oder Einbettungen mit OCI Generative AI extern generieren. Oracle Autonomous AI Database umfasst eine integrierte Open Neural Network Exchange-(ONNX-)Laufzeit-Engine, mit der Einbettungsmodelle direkt in der Datenbank ausgeführt werden können.
- High Availability
- AI-Agents: Um High Availability sicherzustellen, müssen die LangChain-basierten AI-Agents über mehrere Compute-Instanzen in verschiedenen Faultdomains oder Availability-Domains bereitgestellt werden. Wir empfehlen die Verwendung von OCI-Instanzpools für Skalierbarkeit und einfache Verwaltung. Ein OCI Load Balancer verteilt Traffic auf diese Instanzen und führt Health Checks aus.
- Verwaltete Services: Andere Komponenten in der Architektur, wie Autonomous Database, APEX-Service, OCI Generative AI und OCI API Gateway, sind vollständig verwaltete Services mit integrierter Fehlertoleranz und High Availability, die keine zusätzliche Konfiguration zur Redundanz erfordern.
- Disaster Recovery: Zum Schutz vor standortweiten Ausfällen aktivieren Sie Oracle Autonomous Data Guard, um die Datenbank in eine andere OCI-Region zu replizieren.
- Sicherheit und Einhaltung von Vorschriften
- Layered Security Approach: Implementieren Sie eine mehrschichtige Sicherheitsstrategie. Dies sollte Netzwerksicherheitsmaßnahmen umfassen, wie die Verwendung einer Oracle Cloud Infrastructure Web Application Firewall und das Prinzip der geringsten Berechtigung für alle Serviceinteraktionen.
- Fein granulierte Zugriffskontrolle: Zusätzlich zur rollenbasierten Zugriffskontrolle (Role-Based Access Control, RBAC), die über KI-Profile implementiert wird, sollten Sie Virtual Private Database-(VPD-)Policys verwenden, um den Datenzugriff genauer zu kontrollieren.
Mehr erfahren
Erfahren Sie mehr über die Features dieser Architektur und verwandte Architekturen.
-
How to Use Oracle Select AI: A Step-by-Step Guide (Generative AI) (Blog)
-
Daten für alle mit Sidecar erschließen: Geschäftsanwender mit KI-gesteuerten Erkenntnissen stärken
(Blog) -
Oracle Autonomous Database Serverless: Webservices mit Oracle APEX verwenden
-
Gut durchdachte Framework-Architektur für Oracle Cloud Infrastructure

