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.
![](https://itcoint.com/wp-content/uploads/2024/05/Portada_ChatGPT_01.webp)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/Copilot.jpg)
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:
![](https://itcoint.com/wp-content/uploads/2024/05/ejemplo.png)
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
![](https://itcoint.com/wp-content/uploads/2024/05/team.png)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/mail1.png)
Recepción y Envío de la Consulta
Copilot recibe la consulta y la envía a Azure OpenAI para su interpretación inicial.
![](https://itcoint.com/wp-content/uploads/2024/05/process.png)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/search.png)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/data-collection.png)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/data-collection1.png)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/chatbot.png)
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.
![](https://itcoint.com/wp-content/uploads/2024/05/chat-app.png)
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:
![](https://itcoint.com/wp-content/uploads/2024/05/Teams-prueba-con-copilot.jpg)