Implantar la generación aumentada de recuperación mediante Oracle Integration

La generación con recuperación aumentada (RAG) es un potente patrón de implementación de IA generativa que mejora los modelos generativos mediante la incorporación de información corporativa mediante mecanismos de recuperación de datos sin entrenamiento adicional de modelos. RAG le permite optimizar la salida de un modelo de lenguaje grande (LLM) con información específica sin modificar el modelo subyacente en sí; esa información específica puede estar más actualizada que el LLM y puede ser específica de una organización y un sector en particular. Esto permite al sistema GenAI proporcionar respuestas más apropiadas para el contexto a las peticiones de datos y basar esas respuestas en datos extremadamente actuales.
RAG ayuda a los LLM a dar mejores respuestas porque:
  • Es una técnica de inteligencia artificial relativamente nueva que puede mejorar la calidad de GenAI al permitir que los LLM aprovechen recursos de datos adicionales sin volver a entrenar.
  • Los modelos de RAG crean repositorios de conocimientos basados en los propios datos de la organización, y estos repositorios se pueden actualizar continuamente para ayudar a GenAI a proporcionar respuestas contextuales oportunas.
  • Los chatbots y otros sistemas conversacionales que utilizan el procesamiento de lenguaje natural pueden beneficiarse enormemente de RAG y GenAI.
  • La implementación de RAG requiere tecnologías como bases de datos vectoriales, que permiten la codificación rápida de nuevos datos, y las búsquedas en esos datos para alimentarse en el LLM.

Arquitectura

Esta arquitectura de referencia muestra cómo puede implantar un marco de RAG mediante una técnica de búsqueda semántica para responder a una consulta de usuario en datos corporativos mediante una plataforma de integración con poco código o sin código, como los servicios de Oracle Integration (OIC).

En esta arquitectura, Oracle Cloud Infrastructure Generative AI se utiliza para crear incrustaciones y generar respuestas/respuestas optimizadas o útiles basadas en datos corporativos específicos del contexto. Oracle Autonomous Database 23ai se utiliza para almacenar las incrustaciones de vectores, crear índices y permite realizar una búsqueda semántica basada en la similitud o la distancia en lugar de la búsqueda basada en palabras clave. OCI Functions se utiliza para realizar una fragmentación de documentos o datos corporativos mediante los paquetes python LangChain estándar. Los servicios de OIC gestionan todo el proceso de orquestación y automatización, desde la recepción de los datos corporativos hasta el almacenamiento/consulta de los mismos como incrustaciones de vectores, y generan respuestas optimizadas y creativas específicas para el contexto de las consultas de los usuarios en tiempo real o cercano.

Los siguientes diagramas ilustran dos procesos soportados por esta arquitectura de referencia:
  • Proceso de recuperación:


    Descripción de rag-oic.png
    Descripción de la ilustración rag-oic.png

    rag-oic-oracle.zip

    En este proceso, ocurre lo siguiente:

    1. Los datos corporativos o de la empresa se reciben en el servicio de recuperación de Oracle Integration en varios formatos, como PDF, TXT, CSV, XML, JSON, etc., mediante REST, archivo o sFTP, o cualquier otro protocolo.
    2. El servicio Retriever fragmenta los documentos o datos mediante OCI Functions.
    3. A continuación, el servicio Retriever obtiene las incrustaciones de vectores para cada fragmento de datos llamando al servicio de incrustación de OCI Generative AI mediante el uso de modelos de incrustación como Cohere u otros.
    4. Por último, el servicio Retriever almacena estos embebidos en Oracle Autonomous Database 23ai junto con los datos fragmentados.
  • Proceso de generación y aumento:


    Descripción de rag-oic-aug-gen.png
    Descripción de la ilustración rag-oic-aug-gen.png

    rag-oic-aug-gen-oracle.zip

    En este proceso, ocurre lo siguiente:

    1. Los usuarios corporativos o de la empresa a través de aplicaciones de front-end hacen consultas o preguntas sobre los datos de la empresa, como políticas, RR. HH., ventas, historial de compras, informes financieros, problemas, etc.
    2. El servicio Generate de OIC recibe los datos de la consulta e invoca el servicio Augment de su integración local para obtener el contexto de esa consulta.
    3. El servicio Augment de OIC, una vez llamado, llama al servicio Embedding de OCI Generative AI para obtener las incrustaciones de vectores de los datos de consulta.
    4. El servicio Augment de OIC obtiene el contexto almacenado en Oracle Autonomous Database 23ai, según la búsqueda semántica de las incrustaciones de vectores de datos de consulta. El contexto recuperado se devuelve como respuesta al servicio Generate.
    5. El servicio Generar, con el contexto y la consulta recibidos, llama al servicio Generación de OCI Generative AI para generar la respuesta adecuada.
    6. Por último, el servicio Generate responde con la respuesta generada al usuario.

OIC ayuda a los clientes a automatizar el proceso completo de RAG. Los clientes o las empresas pueden beneficiarse del uso de una plataforma de integración sin código y con poco código para implantar RAG en sus datos corporativos. La creación de RAG mediante el uso de una plataforma sin código y con poco código permite el desarrollo y la comercialización en cuestión de horas o días, en lugar de meses.

La arquitectura tiene los siguientes componentes:

  • Autonomous Database

    Oracle Autonomous Database es un entorno de base de datos totalmente gestionado y preconfigurado que puede utilizar para el procesamiento de transacciones y las cargas de trabajo de almacenamiento de datos. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure se ocupa de la creación de la base de datos, así como de la copia de seguridad, la aplicación de parches, el cambio de versión y el ajuste de la base de datos.

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processing es un servicio de base de datos de autogestión, autoseguridad y autorreparación optimizado para las cargas de trabajo de procesamiento de transacciones. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure se ocupa de la creación de la base de datos, así como de la copia de seguridad, la aplicación de parches, el cambio de versión y el ajuste de la base de datos.

  • Functions

    Oracle Cloud Infrastructure Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multi-inquilino, altamente escalable y bajo demanda. Se basa en el motor de origen abierto Fn Project. Las funciones le permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.

  • Integración

    Oracle Integration es un servicio totalmente gestionado que permite integrar las aplicaciones, automatizar los procesos, obtener información detallada de los procesos de su negocio y crear aplicaciones visuales.

  • IA generativa

    Oracle Cloud Infrastructure Generative AI es un servicio OCI totalmente gestionado que proporciona un conjunto de modelos de lenguaje grandes (LLM) personalizables y de última generación que abarcan una amplia gama de casos de uso para la generación de texto, resúmenes, búsqueda semántica y mucho más. Utilice el patio de recreo para probar los modelos preentrenados listos para usar, o crear y alojar sus propios modelos personalizados de ajuste basados en sus propios datos en clusters de IA dedicados.

  • Oracle Database 23ai

    Oracle Database 23ai es la próxima versión de soporte a largo plazo de Oracle Database. Incluye más de 300 nuevas características con un enfoque en la inteligencia artificial (IA) y la productividad de los desarrolladores. Funciones como la búsqueda vectorial de IA le permiten aprovechar una nueva generación de modelos de IA para generar y almacenar vectores de documentos, imágenes, sonido, etc.; indexarlos y buscar rápidamente similitud al tiempo que aprovecha las capacidades analíticas existentes de Oracle Database. Esto, combinado con el ya extenso conjunto de algoritmos de aprendizaje automático, le permite crear rápidamente aplicaciones sofisticadas habilitadas para IA. Oracle Database 23ai también utiliza la IA para optimizar muchas de las funciones clave de la base de datos para realizar estimaciones más precisas sobre los tiempos y los costos de recursos.

Confirmaciones

Autor: Pavan Rajalbandi