En el mundo actual, donde la inteligencia artificial (IA) juega un papel fundamental en el desarrollo de aplicaciones y servicios, Microsoft ha adoptado un modelo de extensión revolucionario para su asistente digital, Microsoft 365 Copilot. Los Plugins de ChatGPT son una de las opciones de plugins disponibles en Microsoft 365 Copilot, junto con las extensiones de mensajes de Teams y los conectores de Microsoft Power Platform. Estos plugins permiten a los desarrolladores crear nuevas funcionalidades y personalizar la experiencia de los usuarios en Microsoft 365 Copilot, llevando la inteligencia artificial a un nivel superior.
Ampliando la funcionalidad de ChatGPT
Los plugins de ChatGPT están diseñados para mejorar y personalizar la funcionalidad de ChatGPT, proporcionando una experiencia más enriquecedora para los usuarios. Desde mejorar la comprensión del lenguaje natural hasta la integración con otras aplicaciones y servicios, estos plugins ofrecen una amplia gama de capacidades.
Integración con otras aplicaciones y servicios
Otra ventaja clave de los plugins de ChatGPT es su capacidad para integrarse con otras aplicaciones y servicios. Esto significa que los desarrolladores pueden crear plugins que permitan al asistente interactuar con aplicaciones como Microsoft Office, Outlook, SharePoint y más. Los usuarios pueden, por ejemplo, programar reuniones, enviar correos electrónicos, acceder a documentos y realizar otras tareas directamente a través de ChatGPT, simplificando así su flujo de trabajo.
Esta integración interactua con los sistemas a través de las APIs definidas en OpenApi.
Definición de un Plugin
Para crear un Plugin necesitamos la definición OpenApi de la API del sistema y crear un fichero de definión del plugin, ai-plugin.json, que debemos alojar en la ruta /.well-known/ai-plugin.json.
1{2 "schema_version": "v1",3 "name_for_human": "TODO List",4 "name_for_model": "todo",5 "description_for_human": "Manage your TODO list. You can add, remove and view your TODOs.",6 "description_for_model": "Help the user with managing a TODO list. You can add, remove and view your TODOs.",7 "auth": {8 "type": "none"9 },10 "api": {11 "type": "openapi",12 "url": "http://localhost:3333/openapi.yaml"13 },14 "logo_url": "http://localhost:3333/logo.png",15 "contact_email": "support@example.com",16 "legal_info_url": "http://www.example.com/legal"17}18
GPT conoce de la existencia del plugin y decide usarlo gracias a la interpretación del lenguaje natural y la definión que hacemos para el modelo en el campo name_for_model y description_for_model. Las funciones disponibles en el Plugin son las disponibles en el fichero de definición de la API, openapi.yaml.
1openapi: 3.0.12info:3 title: TODO Plugin4 description: A plugin that allows the user to create and manage a TODO list using ChatGPT. If you do not know the user's username, ask them first before making queries to the plugin. Otherwise, use the username "global".5 version: 'v1'6servers:7 - url: http://localhost:50038paths:9 /todos/{username}:10 get:11 operationId: getTodos12 summary: Get the list of todos13 parameters:14 - in: path15 name: username16 schema:17 type: string18 required: true19 description: The name of the user.20 responses:21 "200":22 description: OK23 content:24 application/json:25 schema:26 $ref: '#/components/schemas/getTodosResponse'27 post:28 operationId: addTodo29 summary: Add a todo to the list30 parameters:31 - in: path32 name: username33 schema:34 type: string35 required: true36 description: The name of the user.37 requestBody:38 required: true39 content:40 application/json:41 schema:42 $ref: '#/components/schemas/addTodoRequest'43 responses:44 "200":45 description: OK46 delete:47 operationId: deleteTodo48 summary: Delete a todo from the list49 parameters:50 - in: path51 name: username52 schema:53 type: string54 required: true55 description: The name of the user.56 requestBody:57 required: true58 content:59 application/json:60 schema:61 $ref: '#/components/schemas/deleteTodoRequest'62 responses:63 "200":64 description: OK6566components:67 schemas:68 getTodosResponse:69 type: object70 properties:71 todos:72 type: array73 items:74 type: string75 description: The list of todos.76 addTodoRequest:77 type: object78 required:79 - todo80 properties:81 todo:82 type: string83 description: The todo to add to the list.84 required: true85 deleteTodoRequest:86 type: object87 required:88 - todo_idx89 properties:90 todo_idx:91 type: integer92 description: The index of the todo to delete.93 required: true94
Al igual que en el fichero de definión del Plugin, los campos de descripción y resumen son relevantes para la interpretación del lenguaje natural, ya que ChatGPT decide en tiempo de ejecución que Plugin y que método debe de usar, en función de la petición del usuario.
Con este plugin habilitado, si el usuario escribe "Dame todas las tareas del usuario adiazcan", el plugin interpretará esa petición y hará una llamada al metodo GET de la API, y devolverá el resultado al usuario.
Adopción de Microsoft 365 Copilot
Microsoft ha adoptado este modelo de extensión para brindar a los desarrolladores la oportunidad de crear plugins que funcionen no solo en ChatGPT, sino también en Bing, Dynamics 365 Copilot y Microsoft 365 Copilot en general. Microsoft 365 Copilot es un asistente que tiene como objetivo proporcionar asistencia personalizada a los usuarios para una variedad de tareas y actividades.
Al combinar el poder de los modelos de lenguaje grandes (LLM) con los datos de Microsoft Graph y las aplicaciones de Microsoft 365, Microsoft 365 Copilot se convierte en una herramienta de productividad sin igual. Los plugins de ChatGPT desempeñan un papel crucial al permitir a los desarrolladores agregar nuevas funcionalidades y personalizar la experiencia del usuario en este entorno de asistente digital impulsado por IA.
Como podemos ver en el diagrama anterior, Copilot se comunica con los plugins disponibles y determina la intensión del usuario para generar un plan de ejecución y ejecutarlo, ya que es posible que tenga que ejecutar más de una función para satisfacer la petición del usuario.
Conclusiones
Los Plugins de ChatGPT son extensiones de software diseñadas para mejorar y personalizar la funcionalidad de Microsoft 365 Copilot. Al permitir la integración con otras aplicaciones y servicios, estos plugins llevan la experiencia del usuario a un nuevo nivel de eficiencia y comodidad. La adopción de este modelo de extensión por parte de Microsoft demuestra su compromiso con la innovación y su deseo de proporcionar a los desarrolladores las herramientas necesarias para crear soluciones inteligentes y personalizadas en Microsoft 365 Copilot.
Alberto Diaz Martin
MVP Azure, MVP Office Apps & Services
Microsoft Regional Director
adiazcan@hotmail.com
@adiazcan
http://blogs.encamina.com/por-una-nube-sostenible/