Generación de actas de reunión con la API ChatGPT 4, Google Meet, Google Drive y las APIs de Docs.
Generating meeting minutes using ChatGPT 4 API, Google Meet, Google Drive, and Docs APIs.

Las actas de su reunión generadas automáticamente en un documento con ChatGPT justo después de grabar su reunión
1. Desate el poder de ChatGPT para hacer (cosas útiles)
En este artículo técnico, exploraremos cómo aprovechar la API de ChatGPT 4 junto con las API de Google Meet, Google Drive y Google Docs para generar automáticamente las actas de la reunión.
Tomar notas durante una reunión puede ser una tarea que consume mucho tiempo, y a menudo es difícil capturar todo lo que se discute. Con el uso de la inteligencia artificial, el proceso se puede simplificar para asegurarse de que no se pierda nada.
Al igual que Microsoft Teams o Zoom, Google Meet tiene la capacidad de grabar reuniones. Una vez activada la grabación, se genera la transcripción de la reunión en un formato de Documento de Google y se almacena en una carpeta compartida de Google Drive definida. El archivo de transcripción de Google Meet se utiliza aquí, pero también se podría hacer una extracción de texto de transcripción similar con la grabación de Teams o Zoom.
Para esto, se utilizará una aplicación web simple como punto central para administrar la interacción del usuario y las diferentes llamadas de API. El propósito es mostrar una lista de estos documentos de transcripción de reuniones almacenados en una carpeta de Google Drive predefinida. El usuario podrá seleccionar uno de ellos y luego presionar un botón para generar un resumen de las actas de la reunión y los elementos de acción con fechas límite. Además, estas dos nuevas secciones se insertarán en el mismo Documento de Google con la API de Google Docs, que contiene los resultados de la API de ChatGPT.
Este artículo lo guiará a través de los pasos necesarios para configurar la configuración necesaria y comprender el código de aplicación de Dash / Python utilizado para administrar las API de ChatGPT, Google Drive y Docs.
- Zepes Noticias, 14 de junio ¡GPT4All Tu Chat Local Gratuito de GPT!...
- Google anuncia la ubicación de anuncios impulsada por inteligencia ...
- Paypal hace de código abierto JunoDB Su almacén de claves y valores...
También se encuentra disponible un enlace a mi GitLab que contiene el código fuente completo de Python / Dash en las siguientes secciones.
Al final de este artículo, también compartiré mis pensamientos sobre algunas limitaciones y mejoras que podrían hacerse en esta aplicación. Espero que le permita encontrar nuevas ideas sobre cómo mantenerse enfocado en tareas más valiosas que tomar actas de reuniones.
¡Así que vamos a sumergirnos!

2. Descripción general de las capacidades de la aplicación web
La aplicación web se ve como la pantalla a continuación. La sección superior muestra una lista de documentos de transcripción presentes en la carpeta compartida de Google Drive del usuario. Dichos documentos se generan automáticamente en la carpeta “Grabaciones de Meet” cuando el usuario activa el botón de grabación de Google Meet.
El usuario puede seleccionar un documento en la lista. El documento seleccionado se muestra en la parte central. Finalmente, el usuario puede presionar el botón para generar las actas de la reunión.
Una vez presionado el botón, las actas de la reunión se insertan automáticamente en 2 nuevas secciones:
La sección de “Resumen de la reunión” es una breve descripción de la reunión basada en la transcripción de la reunión. Permanecerá sintética independientemente de la duración de la reunión.
La sección “Elementos de acción de la reunión” es una lista de verificación de elementos de acción numerados que también se basa en la transcripción. Cuando se conoce, también se inserta una fecha límite.
Cada acción numerada de una reunión contiene una casilla de verificación que es compatible de manera nativa con Google Docs. Más adelante, los equipos podrían utilizarlas para hacer seguimiento a la lista de acciones y marcarlas una vez que se hayan realizado.
3. Inicio rápido
Lo siguiente le permitirá editar y ejecutar el código presente en mi GitLab. Antes de hacerlo, deberá registrarse en OpenAI para obtener su clave de API. Además, deberá activar las API de Google Drive y Docs en la consola de Google, al igual que crear una cuenta de servicio de Google.
- Vaya al sitio web de OpenAI y regístrese para obtener su clave de API
- Vaya a mi proyecto de GitLab llamado Generación de actas de reunión con ChatGPT
- Edite el cuaderno de Jupyter de Python con Google Colab y guárdelo en su propia carpeta de Colab
- Reemplace el valor “OPENAI_API_KEY” en el código con su propia clave de API
- Use el siguiente enlace para activar las API de Google Drive & Google Docs
- Use el siguiente enlace para crear una cuenta de servicio de Google
- Descargue y guarde la clave de cuenta de servicio de Google (archivo JSon) en su carpeta de Colab. Nombrelo “credentials_serviceaccount.json” (o cambie el valor en el código)
- Comparta su carpeta de Google Drive “Grabaciones de reuniones” con la cuenta de servicio de Google creada anteriormente (con permiso de “Editor”)
- Asista a una reunión en Google Meet. Grábela con la transcripción. El archivo de video y el documento de transcripción se generarán automáticamente en su carpeta de Google Drive “Grabaciones de reuniones”
- En el código, reemplace el valor “GOOGLE_MEET_RECORDING_FOLDER” con el ID de su carpeta de Google Drive “Grabaciones de reuniones” compartida previamente
- Seleccione “Ejecutar todo” en el menú “Ejecución”
- Una aplicación web debería iniciarse en unos pocos segundos. Haga clic en la URL generada en la parte inferior del cuaderno de Colab para mostrarla
La aplicación debería verse como la primera captura de pantalla en la sección anterior.
4. Entienda las partes principales del código
A la fecha de hoy, la API ChatGPT 4 todavía está en beta. La versión utilizada en el código es la instantánea “gpt-4-0314”. También se puede cambiar a la versión actual, “gpt-3.5-turbo”.
Sólo me enfocaré en las piezas más importantes del código.
4.1. Integración/API de Google Drive
Las primeras dos líneas de código se utilizan para montar la carpeta raíz de Google Drive. El uso principal es obtener la clave de credencial de cuenta de servicio de Google (archivo JSon) generada dentro de la sección de inicio rápido.
El código de la siguiente sección recupera una lista de archivos de todos los documentos de transcripción almacenados en la carpeta de Grabaciones de reuniones de Google Meet. La lista se utilizará después para mostrar estos documentos en la aplicación web.
4.2. Extracción de texto del documento de transcripción de Google Meet
Estas funciones se utilizan para extraer elementos de texto de un ID de documento de Google definido. Google Meet genera un párrafo llamado “Transcripción”. Se identifica la ubicación de la sección “Transcripción” y se utilizará más adelante como punto de partida para insertar las actas de la reunión. Las dos secciones insertadas por la aplicación se ubicarán justo antes de esta sección “Transcripción” (y justo después de la sección “Asistentes”).
4.3. Preparación de ChatGPT: desglose del texto de la transcripción en fragmentos
Los modelos de API de ChatGPT tienen un número limitado de tokens por solicitud. Para seguir siendo compatible con el modelo “gpt-3.5-turbo”, el valor máximo utilizado en el código es de 4096 tokens por solicitud. Pero tenga en cuenta que el modelo “gpt-4” puede manejar mucho más. También están disponibles modelos de 8k o 32k, que se pueden utilizar para mejorar significativamente la calidad de las actas de reunión para reuniones largas.
Por lo tanto, el texto del documento de transcripción de Google Meet necesita desglosarse en fragmentos de 4000 tokens con una superposición de 100 tokens.
Estas funciones prepararán y devolverán una lista de fragmentos que se utilizarán más tarde por la API ChatGPT.
4.4. Uso de la API ChatGPT
Esta función genera el resumen de la reunión y los elementos de acción en unos pocos pasos. Se realiza una llamada a la API ChatGPT para cada uno de ellos:
- Paso 1: Resumir el texto de la transcripción de la reunión. La función itera sobre la lista de fragmentos generada previamente. El contenido enviado a ChatGPT se basa en la conversación registrada entre los asistentes. La API ChatGPT se llama para cada fragmento con la siguiente solicitud: ‘Resumir esta transcripción de la reunión: <fragmento> ‘
- Paso 2: Consolidar la respuesta (Resumen de la reunión) del Paso 1. Se realiza una llamada a la API ChatGPT con la siguiente solicitud: ‘Consolidar estos resúmenes de reuniones: <respuestas de ChatGPT del Paso 1> ‘
- Paso 3: Obtener elementos de acción con fechas límite de la transcripción. La función itera sobre la lista de fragmentos generada previamente. La API ChatGPT se llama para cada fragmento con la siguiente solicitud: ‘Proporcionar una lista de elementos de acción con una fecha límite del texto de la transcripción de la reunión proporcionado: <fragmento> ‘
- Paso 4: Consolidar los elementos de acción de la reunión del Paso 3 en una lista numerada concisa. La API ChatGPT se llama con la siguiente solicitud: ‘Consolidar estos elementos de acción de la reunión con una lista numerada concisa: <respuestas de ChatGPT del Paso 3> ‘
Cada parámetro utilizado por la API ChatGPT (es decir, ‘temperatura’) está documentado en el código.
4.5. Uso de la gestión de la API de Google Docs para insertar las actas finales de la reunión
El objetivo de esta función es insertar las actas de la reunión en el documento de Google seleccionado por el usuario. El texto se inserta antes del párrafo ‘Transcripción’. El índice de inicio identificado en las funciones anteriores se utiliza aquí como punto de partida.
Aquí se insertan dos secciones: ‘Resumen de la reunión’ y ‘Elementos de acción de la reunión’.
La inserción de cada sección se realiza con los siguientes pasos:
- se inserta el título de la sección (como texto, es decir, ‘Resumen de la reunión’)
- se establece su estilo en ‘HEADING_1’, su estilo de texto se establece en ‘negrita’ y su tamaño de fuente se establece en ’14’
- se inserta el contenido de la sección (esto proviene del resultado de la API ChatGPT)
- se establece su estilo en ‘NORMAL’. También se inserta un punto de viñeta con una flecha para la sección ‘Resumen de la reunión’ y una casilla de verificación para la sección ‘Elementos de acción de la reunión’
También se insertan algunos caracteres de ‘tabulación’ y ‘nueva línea’ para corregir el texto devuelto por la API ChatGPT.
Consejo: tenga en cuenta que la tabla ‘ar’ se itera de manera inversa para garantizar que la posición del índice de inicio se mantenga siempre actualizada después de cada inserción de texto.
4.6. La aplicación web principal de Python Dash
Esta parte se utiliza para construir una aplicación web simple con la que el usuario puede interactuar. Básicamente, muestra una lista de documentos almacenados en una carpeta compartida de Google Drive. El usuario puede seleccionar uno de ellos que se muestra en la parte central de la pantalla. Una vez que se presiona el botón, se insertan las actas de la reunión en este documento. El documento actualizado se actualiza con los resultados.
Este código se construye sobre el marco Dash. Incluso funciona dentro de una notebook de Google Colab.
Cada documento se muestra dentro de un iFrame dedicado. El enlace del documento se basa en el valor ’embedLink’, obtenido previamente por la API de Google Drive.
Además, se muestra una barra de progreso durante las llamadas a la API ChatGPT y los pasos de inserción de las actas de la reunión de Google Doc.
5. Posibles mejoras
El principal desafío al utilizar ChatGPT en su empresa es que haya una fuga de información confidencial en la que esté trabajando su empresa. Esto ocurrió recientemente en Samsung, donde los empleados filtraron accidentalmente secretos de la empresa con ChatGPT.
Una de las mejoras de este código podría ser la ejecución de enmascaramiento de datos antes de llamar a la API de ChatGPT. Al menos los nombres de los participantes y otros campos etiquetados que contengan información confidencial deberían ser enmascarados. El nombre de la reunión también podría contener algunas etiquetas para el enmascaramiento de datos. Por ejemplo, “Reunión con <Microsoft>” donde “Microsoft” será enmascarado en todo el extracto de datos del documento de transcripción. Una vez que se reciba la respuesta de la API de ChatGPT, se debe hacer lo contrario. Cada información enmascarada debe ser desenmascarada antes de llamar a la API de Google Docs.
Para esto, se necesita utilizar una tabla de referencia para almacenar cada ID de campo con su valor claro y enmascarado. De esta manera, estos campos se podrían enmascarar antes de llamar a la API de ChatGPT y luego desenmascarar al insertar las secciones de actas de la reunión con la API de Google Docs.
6. La palabra final
¡Gracias por leer mi artículo hasta el final, espero que lo hayas disfrutado!
Como puede ver, la API de ChatGPT 4 combinada con las API de Google Drive/Docs son muy poderosas y pueden contribuir significativamente a mejorar su trabajo diario.
Puede encontrar todo el código fuente en mi GitLab: Generación de actas de reuniones con ChatGPT
