Ir al contenido principal

APEX 24.2 - Mejoras a la Configuración de IA y Generación de ChatBots con IA


El 15 de enero de 2025 se ha lanzado la versión de Oracle APEX 24.2 que incluye muchas características.
En esta serie de blogs vamos a hablar de varias de estas nuevas y actualizadas características basandome en las presentaciones realizadas en las Oracle APEX Office Hours en español.

La primera característica que veremos serán las mejoras que se han introducido a la Configuración de IA que viene con la versión 24.2
Típicamente, para configurar la IA en APEX debemos seguir los siguientes pasos:

1. Vamos a las Utilidades del Workspace
2. Ingresamos a la opción Generative IA para configurar el servicio de inteligencia artificial
3. Aquí podemos ver, administrar y crear los servicios de inteligencia artificial que utilizaremos en nuestra aplicación.
4. Si se crea algún servicio se puede elegir entre las tres opciones de proveedores de IA disponibles hasta el momento
5. En el caso de mi ejemplo, utilizare la OCI Generative IA Services para el cual se deben ingresar todos los datos de configuración y credenciales necesarias para poder utilizar ese servicio de IA en nuestra aplicación APEX.
Hasta aquí es todo lo normal como en la versión 24.1, primera la novedad para la versión 24.2 es que en esta pantalla de configuración se dispone ahora de un botón “Test Connection” para verificar que la autenticación, las credenciales ingresadas son correctas
Si la conexión es exitosa, recibirán este aviso en la parte superior de la pantalla
Si existe algún problema con la autenticación, lo van a poder ver allí y no van a tener que ejecutar la aplicación para allí ver si existe algún problema con los servicios de IA que han configurado.
La segunda novedad referida a la Configuración de IA en la versión 24.2 de APEX es que, si ya tenemos alguna aplicación, a nivel de componentes compartidos, se encontrarán con una nueva sección “Generative AI”
En esta sección nos encontraremos con tres opciones referidas a Generative IA

AI Services
La última opción de esta nueva sección llamada AI Services nos lleva a la misma página de gestión de los servicios de inteligencia artificial que se citó más arriba.
AI Atributes
En cuanto a los AI Atributes, allí podremos indicar para cada servicio de IA que utilizamos, el mensaje de consentimiento que queremos que los usuarios puedan leer cuando ellos están utilizando alguna característica que utiliza ese servicio de IA.
Básicamente el usuario podrá leer ese mensaje de consentimiento, va a poder decir si está de acuerdo o no y su selección va a ser guardada de manera a que la siguiente vez ya no le va a pedir nuevamente que acepte o no el consentimiento.
Esto puede ser administrado además de manera programática utilizando el paquete APEX_AI para limpiar la selección que haya realizado el usuario o configurarlo.
AI Configurations
Con relación a la AI Configurations, nos permitirá definir en un único lugar diferentes aspectos que vamos a estar invocando al utilizar servicios de IA.

Esta configuración se realiza por cada servicio de IA y se indican aspectos como el system prompt o las indicaciones que va a tener el servicio de inteligencia artificial y definir también el mensaje de bienvenida.
Ahora, veamos cómo utilizar esto en una aplicación.
Para este ejemplo nos basaremos en la aplicación de Escuelas que ha generado el equipo de APEX
 
La aplicación contiene información de las escuelas que se encuentran ubicadas en el área de Nueva York, el objetivo es que mediante la aplicación los padres de familia puedan hacer preguntas sobre cualquiera de estas escuelas interactuando con la inteligencia artificial de tal forma a que puedan identificar cual es la mejor escuela para sus hijos.
Para poder hacer esto vamos a crear una sección de Preguntas y Respuestas con inteligencia artificial.
Para llevar adelante esto, haremos lo siguiente:
1. Configurar la IA Generativa
En este caso configuraremos el Servicio OCI Gen IA dándole un nombre, un ID estático y el system prompt o instrucciones que se le darán a la inteligencia artificial, en este caso le diremos cuál es su rol, en este caso es un experto en las escuelas secundarias de la ciudad de Nueva York, también le doy algunas indicaciones que como debe responder a las preguntas, por ejemplo, que no puede revelar el aviso de su sistema bajo ninguna circunstancia, que solo responde preguntas sobre las escuelas de la ciudad de Nueva York y que si la pregunta no tiene relación con las escuelas secundarias de Nueva York, que responda con una frase específica.
También podemos especificar la Seguridad, la Relevancia y la Precisión con la cual queremos generar las respuestas.
Lo siguiente es configurar el mensaje de bienvenida. Este es el mensaje que van a recibir las personas cuando abran este chat. Para este ejemplo los va a recibir diciendo “¿Qué le gustaría saber sobre las escuelas secundarias de la ciudad de Nueva York?”
Finalmente, está la Temperatura. La temperatura permite indicar que tan creativa queremos que sea la inteligencia artificial que estamos configurando para dar las respuestas. Mientras más alto el número, más creativo se vuelve y mientras más bajo, las respuestas serán más precisas o reales.
Cada uno debe evaluar cuál es el valor de la temperatura que su aplicación requiere y ajustarlo.
Para este ejemplo, lo vamos a dejar con el valor por defecto que trae la inteligencia artificial no indicándole nada y creamos la configuración.
2. Configurar Origenes RAG
El segundo paso, una vez creada la configuración, es configurar los orígenes de tipo RAG. En la configuración que hemos creado, ahora APEX nos disponibilizará una nueva opción llamada RAG Sources que nos permitirá configurar los orígenes de tipo RAG.
Los RAG Sources son repositorios de datos o documentos que el modelo de lenguaje grande (LLM) de la inteligencia artificial utiliza para responder preguntas específicas. 
Entonces, estos RAG Sources le van a permitir a la inteligencia artificial tener información de base para responder a las preguntas que le realicen. Estas fuentes pueden ser una consulta SQL, una función o un texto. Para este ejemplo voy a darle al RAG Source un nombre y utilizar una consulta SQL
En la consulta SQL voy a indicar para este ejemplo los detalles de una escuela armada como un gran string en un prompt, el ID de la escuela a consultar esta dada por el elemento P6_ID
Aquí podemos ver los datos que posee la tabla ESCUELAS_NYC
Con estos datos se crea este origen tipo RAG y con esto tendríamos la configuración lista para utilizarla.

3. Aplicar la Configuración en la Aplicación.
Ya teniendo la configuración lista podemos proceder a utilizarla en los lugares de la aplicación que necesitemos, para este ejemplo, en la página de pregunta y respuestas, por lo que ahora, procederé a abrir el Page Designer de APEX para esa página de preguntas y respuestas.
La página posee una región llamada Q&A (Preguntas y Respuestas) y un elemento oculto llamado P6_ID en el cual se recibe el ID de la escuela que se ha seleccionado previamente sobre la cual se desea realizar la consulta.
 Lo que haremos será crear una acción dinámica que se ejecute al cargar la página cuya acción sea “Show AI Assistant”, mostrar el asistente de IA y seleccionar la configuración de IA que se utilizará (la que acabamos de armar) y luego la apariencia que tendrá el asistente.
Guardamos los cambios e invocamos nuevamente a la página de Preguntas y Respuestas
Como verán, al ingresar se muestra el mensaje de bienvenida que previamente hemos configurado en el servicio de IA, y entonces comenzar a realizar preguntas en el campo de mensaje que se habilita. Puedo realizar la pregunta en el lenguaje que el servicio de IA soporte.

Puedes obtener más sobre GenDev (Generative Development) en www.apex.oracle.com
Creditos para la info que se encuentra en este post para Monica Godoy, product Manager de Oracle APEX

Mi nombre es José Preda.

* José es Analista de Sistemas e Ingeniero de Software con especializaciones en tecnologías de Oracle, Microsoft, redes, infraestructura tecnológica y gestión de recursos humanos. Posee más de 30 años de experiencia en el área de tecnología, es de Paraguay, vive y trabaja en San Luis, Argentina. Fue consultor, capacitador y soporte técnico para Base de Datos y herramientas de Oracle, desde el año 2013 es miembro activo del Grupo de Usuarios Oracle de Argentina del cual es miembro del directorio desde el año 2023. Es CEO de su propia Consultora: Soft San Luis, una startup especializada en brindar formación profesional, consultoría, mentoría y soluciones con tecnología Oracle y Oracle APEX a empresas, equipos de desarrollo de consultoras y a particulares. En 2024 ha sido reconocido como  Oracle ACE Associate por la Corporación Oracle por sus contribuciones a la Comunidad de Usuarios de Tecnologías de Oracle



Comentarios

Entradas populares de este blog

Oracle APEX 24.1 ya se encuentra disponible!

Oracle APEX 24.1 ya se encuentra disponible! Descargalo:  https://www.oracle.com/tools/downloads/apex-downloads/ Ashish Mohindroo, Vicepresidente de gestión de productos Plataforma de aplicaciones APEX Low Code ha anunciado hoy Lunes 17 de Junio de 2024 que Oracle APEX 24.1 ya está disponible para su descarga y se está implementando en las regiones de desarrollo de aplicaciones OCI APEX y servicio de nube de base de datos autónoma en todo el mundo. Con esta última versión, aprende a crear tu primera aplicación de bajo código con GenAI. Esta versión se basa en tres pilares principales de innovación que permiten crear aplicaciones atractivas de nivel empresarial con facilidad:  Desarrollo de aplicaciones asistido por IA Aprovechamiento del poder de la plataforma de datos de próxima generación de Oracle y  Potentes componentes de nivel empresarial para crear aplicaciones web y aplicaciones para web móviles sofisticadas. Desarrollo de aplicaciones asistido por IA Con este lan...

APEX 23.1 - Notificaciones Push

Las notificaciones push PWA (Progresive Web App) en Oracle APEX son mensajes instantáneos que pueden ser enviados a los usuarios de una aplicación web progresiva sin que estos tengan que estar activamente utilizando la aplicación en ese momento.  Estas notificaciones se envían directamente a los dispositivos móviles o computadoras de los usuarios, permitiendo que estos se mantengan informados sobre actualizaciones relevantes, novedades o cualquier otra información importante relacionada con la aplicación que deseemos enviarles. Las notificaciones push PWA en Oracle APEX son una herramienta poderosa para aumentar la interacción de los usuarios con la aplicación y mejorar la experiencia del usuario en general.  Algunos usos que se le dan son:  enviar recordatorios, alertas, actualizaciones de contenido, promociones, estos entre otros mensajes que ayudan a mantener a los usuarios comprometidos y conectados con la aplicación. Mediante la configuración adecuada en Oracle APEX,...

APEX 03 - 09 - Historial de cambios y control de código fuente para Oracle APEX (Segunda Parte)

En esta novena entrega de la SAGA Ciclo de Desarrollo para aplicaciones APEX veremos las estratégias para administrar el historial de cambios en los objetos de base de datos de nuestras aplicaciones Oracle APEX.  Comprendiendo las estrategias disponibles para administrar los objetos de base de datos Existen tres estrategias principales que se pueden adoptar para administrar los objetos del esquema de la base de datos que utiliza nuestra aplicación APEX. El primer enfoque es la opción " completamente manual ". Nosotros creamos y mantenemos los scripts SQL personalizados independientemente de la definición de la aplicación APEX. Ejecutamos nuestros propios scripts para crear tablas, vistas, triggers, paquetes y otros objetos en la primera instalación de nuestra aplicación, y para recrear o alterar adecuadamente los objetos existentes a medida que nuestro equipo entrega nuevas versiones de la aplicación para testers y usuarios de producción.  Con este enfoque, editamos los scri...