microsoft-copilot-guide

Solución copilot basada en RAG con datos empresariales

Preámbulo

Los modelos de lenguaje (LLMs) como GPT enfrentan ciertas limitaciones, como la falta de información actualizada debido a la fecha de corte de su entrenamiento. Esto puede ser un desafío cuando queremos que nuestros modelos de IA proporcionen respuestas precisas, contextualizadas y oportunas. Imagina preguntarle a un LLM sobre las últimas tendencias tecnológicas o buscar actualizaciones en tiempo real sobre un evento de última hora; los modelos de lenguaje  tradicionales pueden quedarse cortos en estos escenarios.

Para uno de nuestros clientes, hemos desarrollado una solución innovadora que transforma esta limitación en una oportunidad: la generación aumentada por recuperación (RAG, por sus siglas en inglés). Esta técnica revolucionaria permite a los modelos de lenguaje como GPT cerrar la brecha entre su conocimiento estático y el mundo dinámico. Con RAG, hemos equipado sus aplicaciones de IA generativa con la capacidad de obtener información fresca, buscar en los datos de su organización, verificar hechos para evitar alucinaciones y mantenerse contextualmente consciente, todo en tiempo real.

Objetivo general

Desarrollar una solución copilot basada en generación aumentada por recuperación (RAG) utilizando Azure AI Studio, que permita integrar datos propios de la organización para proporcionar respuestas precisas, actualizadas y contextualmente relevantes, mejorando así la eficiencia y efectividad en diversos procesos empresariales. Incluyendo, además, la automatización de procesos mediante la integración de Power Automate, optimizando la gestión y flujo de información dentro del sistema.

Arquitectura planteada

Para desarrollar esta solución, se planteó la siguiente arquitectura:

Descripción y Funcionamiento de la Arquitectura

Microsoft Teams

Interfaz de Usuario: Los usuarios interactúan con el sistema a través de Microsoft Teams, que actúa como la interfaz principal para consultas y respuestas.

Copilot

Intermediario Inteligente: El Copilot se encarga de recibir las consultas de los usuarios desde MS Teams y enviarlas al sistema para su procesamiento.

Azure OpenAI

Procesamiento de Lenguaje Natural: Utiliza los modelos avanzados de lenguaje de OpenAI para interpretar y generar respuestas a las consultas. Procesa la información y genera respuestas basadas en los datos proporcionados y en su conocimiento preexistente.

Azure IA Search

Búsqueda y Recuperación de Datos: Busca información relevante en la base de datos de la empresa. Responde a las consultas accediendo a la información actualizada y específica de la organización.

Power Automate

Automatización de Procesos: Automatiza el flujo de información y el procesamiento de documentos. Power Automate extrae, procesa y gestiona la información de los documentos de la empresa, asegurando que los datos sean accesibles y actualizados.

Ingesta de Datos

Integración de Documentos: Este componente ingiere documentos de la empresa, como manuales de productos y preguntas frecuentes, y los pone a disposición del sistema. La ingesta de datos asegura que la información crítica esté siempre disponible para su consulta.

Azure IA Search

Consulta del Usuario

Un usuario realiza una consulta a través de MS Teams. Esta consulta puede ser sobre cualquier
tema cubierto por la información disponible en la organización.

Recepción y Envío de la Consulta

Copilot recibe la consulta y la envía a Azure OpenAI para su interpretación inicial.

Procesamiento Inicial

Azure OpenAI procesa la consulta utilizando sus capacidades de  rocesamiento de lenguaje natural para comprender el contexto y la intención del usuario.

Búsqueda de Información

Dependiendo de la consulta, Azure OpenAI decide si necesita información adicional. Si es así, envía una solicitud a Azure AI Search.

Recuperación de Datos

Azure AI Search busca en la base de datos de la empresa, que ha sido alimentada con documentosy datos a través del componente de Ingesta de Datos. Recupera la información relevante y la envía de vuelta a Azure OpenAI.

Automatización y Gestión de Documentos

Power Automate gestiona el flujo de documentos y datos, asegurando que cualquier nueva información se integre de manera eficiente en el sistema. Automatiza tareas repetitivas y procesa documentos para mantener la base de datos actualizada.

Generación de la Respuesta

Azure OpenAI, con la información recuperada y su procesamiento interno, genera una respuesta precisa y contextualizada a la consulta del usuario.

Entrega de la Respuesta

La respuesta generada por Azure OpenAI es enviada de vuelta al Copilot, que a su vez la entrega al usuario a través de MS Teams.

Ejemplo de funcionamiento de la solución

Se muestra un ejemplo real de cuando se le pide a bot procesar un documento y se le consulta sobre datos propietarios de la empresa: