Copilot Studio - Asistente virtual con SharePoint Online

Hola a tod@s!!! En esta ocasión, me complace compartir con ustedes cómo configurar un asistente virtual de Copilot Studio capaz de responder a tus preguntas, utilizando como origen de datos un sitio web de SharePoint Online dentro del mismo entorno de Microsoft 365

Los objetivos que se persiguen con este asistente virtual son los siguientes:

  • Creación inicial del asistente virtual.
  • Integración del asistente virtual en una solución de Power Platform.
  • Configuración del asistente virtual para acceder a datos en SharePoint Online
  • Asegurar la protección del contenido del asistente virtual.
  • Configurar el asistente virtual a los usuarios finales de la organización.

Crear contenido para el asistente virtual

Antes de poner en marcha y configurar el asistente virtual encargado de responder a todas las preguntas de los usuarios dentro de la organización, es esencial diseñar cuidadosamente el origen de datos del que obtendrá las respuestas.

Existen diversas arquitecturas para la información que ofrecerá el asistente virtual durante su creación y configuración. Estas pueden variar desde las más sencillas, como agregar documentos directamente al agente virtual, hasta las más complejas, como enlazar distintos agentes virtuales específicos dentro de la organización en un solo asistente virtual. Esto permite tener un único punto de entrada para las preguntas de los usuarios.

En la sociedad actual, donde la información se actualiza constantemente, es crucial que el asistente virtual pueda adaptarse a estos cambios sin necesidad de ajustes constantes en su configuración, a menos que haya cambios en las reglas de negocio de la organización.

Para asegurar que el asistente virtual se mantenga siempre actualizado, se ha decidido establecer su origen de datos en un sitio web de SharePoint Online dentro de la misma organización.

En esta entrada del blog, el sitio web de comunicación creado, contiene información sobre la cronología de la Tierra, desde sus orígenes hasta la actualidad. Este contenido está distribuido en diferentes páginas, generadas a través de ChatGPT.

Definir y crear el asistente virtual

Al definir y crear un asistente virtual, es fundamental determinar si debe integrarse dentro de una solución de Power Platform o si debe ubicarse en un entorno específico de la organización. Esta decisión puede depender de varios factores, como la necesidad de limitar el acceso a ciertos usuarios dentro de una región específica o la capacidad de agregar valor al asistente virtual a lo largo del tiempo sin afectar a los usuarios finales durante su desarrollo.

Integración en Power Platform

Si el asistente virtual se va a integrar dentro de una solución de Power Platform, es esencial agregarlo desde el sitio web de Copilot Studio utilizando la opción Configuración avanzada en el momento de su creación. Desde esta configuración, se elige la solución y se agregan todos los componentes asociados al asistente virtual dentro de la misma solución. Esto asegura que el asistente esté bien integrado y que todos los elementos necesarios estén correctamente vinculados.

En caso de crear el asistente directamente desde una solución en Power Apps o Power Automate, es importante tener en cuenta que este asistente virtual será de una versión clásica en comparación con el creado directamente desde Copilot Studio. Esta versión clásica no dispone de las mismas configuraciones y componentes, lo que puede dificultar la parametrización del asistente virtual con el origen de datos.

Configuraciones adicionales

Una vez definido este aspecto crucial del asistente virtual, las demás configuraciones son sencillas y pueden ser reconfiguradas después de su creación, según las necesidades de la organización o el proyecto.

Origen de datos para el asistente virtual

Una vez creado el asistente virtual, es posible agregar los orígenes de datos necesarios, si no se han agregado previamente. Para este ejemplo, se ha incorporado el sitio web raíz de la cronología de la Tierra en SharePoint Online como nuestra fuente de datos.

Con esta configuración, el asistente virtual puede responder a las preguntas utilizando el contenido del sitio web asociado. Sin embargo, es importante tener en cuenta que si se publica el asistente virtual y se prueba en el sitio web de demostración que ofrece la plataforma, el asistente no funcionará correctamente debido a la falta de configuraciones de autenticación.

En el entorno de desarrollo del agente, este error no se presenta, ya que es probable que tanto el sitio web de SharePoint Online como el asistente virtual hayan sido creados con el mismo usuario administrador/desarrollador, quien ya está autenticado en el sistema.

Configurar la autenticación integrada para el asistente virtual

Dado que el contenido del asistente virtual se almacena en un sitio web de SharePoint Online, es necesario disponer de credenciales de autenticación para acceder al contenido que se proporcionará como respuesta al usuario final.

Este tipo de autenticación se realiza a través de un 'Registro de aplicación' dentro del ecosistema de Azure. Este registro crea un canal de comunicación seguro entre el asistente virtual y el sitio web de SharePoint Online.

Es importante destacar que trabajar con 'Registros de aplicación' puede ser abrumador debido a la gran cantidad de permisos que se pueden delegar durante su creación. Sin embargo, es crucial comprender que, al ser permisos delegados, el asistente virtual solo podrá realizar acciones que el usuario final tenga autorizadas en el sitio web destino.

Por ejemplo, si un usuario no tiene permiso para leer un documento específico debido a su rol dentro de la organización, el asistente virtual tampoco tendrá acceso a ese documento. Esto asegura que el asistente virtual respete las restricciones de acceso establecidas en SharePoint Online.

Para crear y configurar el registro de aplicación, sigue los pasos indicados en la documentación oficial de Microsoft.

Además de los permisos estándar, es posible que se necesite agregar permisos adicionales no especificados en la documentación oficial. Puedes encontrar detalles sobre estos permisos adicionales en el siguiente enlace de Microsoft.

Una vez configurada la seguridad autenticada del asistente virtual y publicados los cambios, podrás probar el asistente en el sitio web de demostración. Ahora, el asistente debería devolver el contenido correspondiente del sitio web de SharePoint Online sin problemas de autenticación.

Configuraciones adicionales para el uso del agente virtual por los usuarios finales

En este apartado, se detallan las configuraciones adicionales necesarias para que el usuario final pueda utilizar el agente virtual sin inconvenientes.

  • Error 'AccessToBotDenied: Este error se produce cuando un usuario intenta utilizar el agente virtual, pero no está incluido en el grupo de seguridad utilizado para compartir el agente virtual con el resto de los usuarios de la organización.

  • Preguntas ajenas al contenido original: Cuando un usuario realiza una pregunta no relacionada con el contenido para el que fue diseñado el agente virtual, este puede dar una respuesta basada en su conocimiento general. Este comportamiento se detecta porque todas sus respuestas terminan con el siguiente mensaje: AI-generated content may be incorrect.

  • Preguntas relacionadas con el contenido específico: Si el usuario realiza una pregunta relacionada con el contenido específico del agente virtual y la respuesta es que no puede proporcionar un resultado, o si la respuesta termina con el mensaje AI-generated content may be incorrect, debes realizar las siguientes configuraciones:

    • Permisos de lectura en SharePoint Online: Asegúrate de que el usuario tenga permisos de lectura, como mínimo, en el sitio web de SharePoint Online del cual el agente virtual obtiene su contenido, acorde al rol que tenga el usuario final en ese sitio web.

    • Configuración del origen de datos: Accede al tema 'Conversational Boosting' del agente virtual y configura el origen de datos para que las respuestas provengan del contenido almacenado en SharePoint Online.

    Para confirmar que la respuesta del agente virtual proviene del origen de datos configurado, verifica que al final de su respuesta, se agreguen enlaces a las referencias documentales utilizadas. Esto indica que la información proporcionada está basada en el contenido específico de SharePoint Online.

Reflexión sobre el agente virtual

En mi opinión, la implementación de agentes virtuales dentro de una organización es un factor positivo, ya que puede agilizar ciertos procedimientos administrativos para los empleados. Estos agentes pueden ayudar con consultas relacionadas con el convenio laboral, la presentación de ciertos procedimientos internos, la solicitud de vacaciones o la baja por paternidad.

Sin embargo, es importante tener claros ciertos conceptos:

  • Seguridad del contenido: La seguridad del contenido que devuelve el agente virtual no la establece el propio agente virtual, sino los permisos de los que disponga el usuario final en el origen. Por lo tanto, es crucial controlar quién tiene acceso a este contenido desde sus orígenes.

  • Respuestas específicas: Si se desea un agente virtual que proporcione respuestas más específicas, es necesario implementar temas concretos y realizar pruebas exhaustivas para lograr los objetivos deseados.

  • Referencias en las respuestas: Aunque el agente virtual agrega enlaces a las referencias del contenido utilizado para generar su respuesta, estos enlaces no siempre anclan en el punto exacto del tema preguntado, lo que puede afectar negativamente la experiencia del usuario.

    Esta experiencia mejora si el contenido está segmentado en partes más específicas o bien estructurado en el documento.

  • Tiempos de respuesta: Los agentes virtuales no siempre tienen tiempos de respuesta óptimos debido al volumen de contenido indexado. Es necesario analizar su comportamiento con un gran volumen de información. Una alternativa es dividir el agente virtual principal en agentes virtuales más especializados para optimizar los tiempos de respuesta.

Para diseñar un buen agente virtual en una organización, es fundamental definir claramente los requisitos que debe cumplir para asegurar un uso correcto y satisfactorio para el usuario final.

Entradas populares de este blog

Cargar archivos desde PowerApps a bibliotecas de SharePoint

Menús desplegables relacionados en SharePoint Online

Gestionar excepciones en Power Automate