En la imagen se muestra la arquitectura lógica que consta de una máquina virtual de Compute con los siguientes componentes:
- Enrutador: las solicitudes de usuario van al enrutador que identifica el tipo de solicitud (generación de SQL y recuperación de datos o análisis de datos) y lo dirige al pipeline de procesamiento adecuado. El componente se basa en el LLM con una petición de datos especializada.
- Gestor de esquemas: gestiona todos los metadatos relacionados con el esquema de base de datos. Desempeña un papel crucial a la hora de proporcionar, para cada solicitud de NL, la lista de tablas ("esquema restringido") que se utilizará para la generación de SQL y todos los metadatos asociados. Utiliza una base de datos 23ai y una búsqueda semántica dentro de la base de datos, para encontrar las tablas relevantes para la solicitud de NL del usuario.
- Generador SQL: convierte la solicitud NL en una sentencia SQL ejecutable en la base de datos "Datos" conectada. Utiliza un conjunto de modelos LLM para mejorar la precisión y aumentar la tasa de éxito de las sentencias SQL generadas correctamente. El generador SQL se conecta desde la caché mediante una flecha unidireccional y se conecta a SQL Executor mediante una flecha unidireccional.
- Caché SQL: almacena instrucciones NL (y sus equivalentes SQL) para las solicitudes más frecuentes.
- Ejecutor SQL: activa la validación de sintaxis de la sentencia SQL generada, ejecuta la instrucción y vuelve a enviarla al usuario.
- Analizador de datos de IA: analiza los datos conversacionales almacenados para generar respuestas para solicitudes de análisis o generación de informes.
Los datos se muestran en el panel de control desde SQL Agent Monitor.