ChatGPT Plugins - Ampliando la funcionalidad de Microsoft 365 Copilot

Escrito por  Alberto Diaz Martin

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.

Plugins disponibles en ChatGPT.

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.1
2info:
3 title: TODO Plugin
4 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:5003
8paths:
9 /todos/{username}:
10 get:
11 operationId: getTodos
12 summary: Get the list of todos
13 parameters:
14 - in: path
15 name: username
16 schema:
17 type: string
18 required: true
19 description: The name of the user.
20 responses:
21 "200":
22 description: OK
23 content:
24 application/json:
25 schema:
26 $ref: '#/components/schemas/getTodosResponse'
27 post:
28 operationId: addTodo
29 summary: Add a todo to the list
30 parameters:
31 - in: path
32 name: username
33 schema:
34 type: string
35 required: true
36 description: The name of the user.
37 requestBody:
38 required: true
39 content:
40 application/json:
41 schema:
42 $ref: '#/components/schemas/addTodoRequest'
43 responses:
44 "200":
45 description: OK
46 delete:
47 operationId: deleteTodo
48 summary: Delete a todo from the list
49 parameters:
50 - in: path
51 name: username
52 schema:
53 type: string
54 required: true
55 description: The name of the user.
56 requestBody:
57 required: true
58 content:
59 application/json:
60 schema:
61 $ref: '#/components/schemas/deleteTodoRequest'
62 responses:
63 "200":
64 description: OK
65
66components:
67 schemas:
68 getTodosResponse:
69 type: object
70 properties:
71 todos:
72 type: array
73 items:
74 type: string
75 description: The list of todos.
76 addTodoRequest:
77 type: object
78 required:
79 - todo
80 properties:
81 todo:
82 type: string
83 description: The todo to add to the list.
84 required: true
85 deleteTodoRequest:
86 type: object
87 required:
88 - todo_idx
89 properties:
90 todo_idx:
91 type: integer
92 description: The index of the todo to delete.
93 required: true
94

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.

Arquitectura de ejecución de plugins en Copilot.

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/

Siguemos en LinkedInSiguemos en Twitter
Powered by  ENCAMINA