Generazione di verbali di riunione con ChatGPT 4 API, Google Meet, Google Drive e Docs APIs.

Generate meeting minutes using ChatGPT 4 API, Google Meet, Google Drive, and Docs APIs.

Fonte: generato da OpenAI DALL-E “Pittura ad olio di 5 persone connesse su Meet. Robot che scrivono i verbali della riunione”​

I tuoi verbali di riunione generati automaticamente in un documento con ChatGPT subito dopo la registrazione della riunione

1. Sfrutta il potere di ChatGPT per fare (cose utili)

In questo articolo tecnico, esploreremo come sfruttare l’API ChatGPT 4 insieme alle API di Google Meet, Google Drive e Google Docs per generare automaticamente i verbali di riunione.

Prendere i verbali durante una riunione può essere un compito che richiede molto tempo ed è spesso difficile catturare tutto ciò che viene discusso. Con l’uso dell’intelligenza artificiale, il processo può essere semplificato per garantire che nulla venga perso.

Come Microsoft Teams o Zoom, Google Meet ha la capacità di registrare le riunioni. Una volta attivata la registrazione, la trascrizione della riunione viene generata in un formato di documento di Google ed è archiviata in una cartella condivisa di Google Drive definita. Il file di trascrizione di Google Meet viene utilizzato qui, ma un estratto di testo di trascrizione simile potrebbe essere fatto anche con la registrazione di Teams o Zoom.

A tal fine, verrà utilizzata una semplice applicazione web come punto centrale per gestire l’interazione dell’utente e le diverse chiamate API. Lo scopo è di visualizzare un elenco di questi documenti di trascrizione di riunione archiviati in una cartella di Google Drive predefinita. L’utente potrà selezionarne uno e quindi premere un pulsante per generare un riassunto dei verbali di riunione e degli elementi d’azione con le scadenze. Inoltre, queste due nuove sezioni saranno inserite nello stesso documento di Google con l’API di Google Docs, contenente i risultati dell’API ChatGPT.

Questo articolo ti guiderà attraverso i passaggi necessari per configurare la configurazione necessaria e per capire il codice dell’applicazione Dash/Python utilizzato per gestire le API di ChatGPT, Google Drive e Docs.

Un link al mio GitLab contenente il codice sorgente completo di Python/Dash è disponibile anche nelle sezioni successive.

Alla fine di questo articolo, condividerò anche le mie riflessioni su alcune limitazioni e miglioramenti che potrebbero essere apportati a questa applicazione. Spero che ti permetta di trovare nuove idee su come rimanere concentrato su compiti più preziosi rispetto alla stesura dei verbali di riunione.

Quindi, iniziamo!

Certificati in ChatGPT + UX conversazionale + Dialogflow

2. Panoramica delle funzionalità dell’applicazione web

L’applicazione web assomiglia allo schermo qui sotto. La sezione superiore visualizza un elenco di documenti di trascrizione presenti nella cartella di Google Drive condivisa dell’utente. Tali documenti vengono generati automaticamente nella cartella “Registrazioni Meet” quando l’utente attiva il pulsante di registrazione di Google Meet.

L’utente può selezionare un documento nell’elenco. Il documento selezionato viene visualizzato nella parte centrale. Infine, l’utente può premere il pulsante per generare i verbali di riunione.

La schermata principale dell'applicazione web (Fonte: Autor)

Una volta premuto il pulsante, i verbali di riunione vengono inseriti automaticamente in 2 nuove sezioni:

La sezione “Riassunto della riunione” è una breve descrizione della riunione basata sulla trascrizione della riunione. Rimarrà sintetica qualunque sia la durata della riunione.

La sezione “Elementi d’azione della riunione” è un elenco di checkbox di elementi d’azione numerati che si basano anche sulla trascrizione. Quando noto, viene inserita anche una data di scadenza.

Il risultato: i verbali di riunione vengono generati nel documento selezionato (Fonte: Autor)

Ogni azione numerata contenuta nel verbale della riunione contiene una casella di controllo supportata nativamente da Google Docs. Potranno essere utilizzate successivamente dai tuoi team per seguire l’elenco delle azioni e per controllarle una volta che saranno state completate.

3. Avvio rapido

Quanto segue ti permetterà di modificare ed eseguire il codice presente sul mio GitLab. Prima di farlo, dovrai registrarti su OpenAI per ottenere la tua chiave API. Inoltre, le API di Google Drive e Docs devono essere attivate sulla console di Google, così come la creazione di un account di servizio Google.

  • Vai al sito web di OpenAI e registrati per ottenere la tua chiave API
  • Vai sul mio progetto GitLab chiamato “Generazione di verbali di riunione con ChatGPT”
  • Modifica il notebook Jupyter Python con Google Colab e salvalo nella tua cartella di Colab
  • Sostituisci il valore ‘ OPENAI_API_KEY ’ nel codice con la tua chiave API personale
  • Utilizza il seguente link per attivare le API di Google Drive e Google Docs
  • Utilizza il seguente link per creare un account di servizio Google
  • Scarica e salva la chiave dell’account di servizio Google (file JSon) nella tua cartella di Colab. Chiamalo ‘credentials_serviceaccount.json’ (o cambia il valore nel codice)
  • Condividi la tua cartella di Google Drive “Registrazioni meeting” con l’account di servizio Google creato in precedenza (con permesso “Editor”)
  • Partecipa a una riunione su Google Meet. Registrala con la trascrizione. Il file video e il documento di trascrizione verranno automaticamente generati nella tua cartella di Google Drive “Registrazioni meeting”
  • Nel codice, sostituisci il valore ‘ GOOGLE_MEET_RECORDING_FOLDER ’ con l’ID della tua cartella di Google Drive “Registrazioni meeting” condivisa in precedenza
  • Seleziona “Esegui tutto” nel menu “Esecuzione”
  • Un’applicazione Web dovrebbe avviarsi in pochi secondi. Fai clic sul URL generato in fondo al notebook di Colab per visualizzarlo

L’applicazione dovrebbe assomigliare alla prima immagine nella sezione precedente.

4. Capire le principali parti del codice

Al momento, la ChatGPT 4 API è ancora in versione beta. La versione utilizzata nel codice è ‘gpt-4-0314’ snapshot. Può anche essere cambiata alla versione corrente, ‘gpt-3.5-turbo’.

Mi concentrerò solo sui pezzi più importanti del codice.

4.1. Integrazione / API di Google Drive

Source: Autor

Le prime due righe di codice sono utilizzate per montare la tua cartella principale di Google Drive. L’utilizzo principale è per recuperare la chiave delle credenziali dell’account di servizio Google (file JSon) generato nella sezione Avvio rapido.

Il codice della sezione successiva recupera un elenco di file di tutti i documenti di trascrizione archiviati nella cartella di registrazione di Google Meet. L’elenco verrà utilizzato successivamente per visualizzare questi documenti sull’applicazione web.

4.2. Estrazione del testo del documento di trascrizione di Google Meet

Source: Autor

Queste funzioni sono utilizzate per estrarre elementi di testo da un ID di documento di Google definito. Google Meet genera un paragrafo chiamato ‘Trascrizione’. La posizione della sezione ‘Trascrizione’ è identificata e verrà utilizzata successivamente come punto di partenza per inserire il verbale della riunione. Le due sezioni inserite dall’applicazione saranno posizionate subito prima di questa sezione ‘Trascrizione’. (e subito dopo la sezione ‘Partecipanti’)

4.3. Preparazione di ChatGPT: suddivisione del testo del documento di trascrizione in frammenti

I modelli di API ChatGPT hanno un numero limitato di token per richiesta. Per rimanere compatibili con il modello ‘gpt-3.5-turbo’, il valore massimo utilizzato nel codice è di 4096 token per richiesta. Ma tieni presente che il modello ‘gpt-4’ può gestirne molti di più. Sono disponibili anche modelli da 8k o 32k, che possono essere utilizzati per migliorare significativamente la qualità del verbale della riunione per riunioni lunghe.

Di conseguenza, il testo del documento di trascrizione di Google Meet deve essere suddiviso in frammenti di 4000 token con una sovrapposizione di 100 token.

Queste funzioni preparano e restituiscono una lista di blocchi che saranno utilizzati successivamente dall’API ChatGPT.

4.4. Utilizzo dell’API ChatGPT

Fonte: Autor

Questa funzione genera il riassunto della riunione e gli elementi di azione in pochi passi. Viene effettuata una chiamata all’API ChatGPT per ciascuno di essi:

  • Passo 1: Riassumere il testo della trascrizione della riunione. La funzione itera sulla lista di blocchi generata in precedenza. Il contenuto inviato a ChatGPT si basa sulla conversazione registrata tra i partecipanti. L’API ChatGPT viene chiamata per ogni blocco con la seguente richiesta: ‘Riassumi questa trascrizione della riunione: <blocco>’
  • Passo 2: Consolidare la risposta (riassunto della riunione) dal Passo 1. L’API ChatGPT viene chiamata con la seguente richiesta: ‘Consolida questi riassunti della riunione: <risposte ChatGPT dal Passo 1>’
  • Passo 3: Ottenere gli elementi di azione con le scadenze dalla trascrizione. La funzione itera sulla lista di blocchi generata in precedenza. L’API ChatGPT viene chiamata per ogni blocco con la seguente richiesta: ‘Fornire un elenco di elementi di azione con una scadenza dal testo della trascrizione della riunione fornita: <blocco>’
  • Passo 4: Consolidare gli elementi di azione della riunione dal Passo 3 in un elenco numerato e conciso. L’API ChatGPT viene chiamata con la seguente richiesta: ‘Consolida questi elementi di azione della riunione con un elenco numerato e conciso: <risposte ChatGPT dal Passo 3>’

Ogni parametro utilizzato dall’API ChatGPT (ad esempio ‘temperatura’) è documentato nel codice.

4.5. Utilizzo della gestione dell’API di Google Docs per inserire i verbali finali della riunione

Fonte: Autor

Lo scopo di questa funzione è quello di inserire i verbali della riunione nel documento di Google selezionato dall’utente. Il testo viene inserito prima del paragrafo ‘Trascrizione’. L’indice di inizio identificato nelle funzioni precedenti viene utilizzato qui come punto di partenza.

Sono qui inserite due sezioni: ‘Riassunto della riunione’ e ‘Elementi di azione della riunione’.

L’inserimento di ciascuna sezione viene effettuato con i seguenti passaggi:

  • viene inserito il titolo della sezione (come testo, ad es. ‘Riassunto della riunione’)
  • il suo stile viene impostato su ‘HEADING_1’, lo stile del testo su ‘grassetto’, la dimensione del carattere su ’14’
  • viene inserito il contenuto della sezione (questo proviene dal risultato dell’API ChatGPT)
  • il suo stile viene impostato su ‘NORMAL’. Viene inoltre inserito un punto elenco con una freccia per la sezione ‘Riassunto della riunione’ e una casella di controllo per la sezione ‘Elementi di azione della riunione’

Vengono anche inseriti alcuni caratteri di ‘tabulazione’ e ‘nuova riga’ per correggere il testo restituito dall’API ChatGPT.

Suggerimento: si noti che la tabella ‘ar’ viene iterata in modo inverso per garantire che la posizione dell’indice di inizio sia sempre aggiornata dopo ogni inserimento di testo.

4.6. La principale applicazione web Python Dash

Fonte: Autor

Questa parte viene utilizzata per creare una semplice applicazione web con cui l’utente può interagire. Essenzialmente, mostra un elenco di documenti archiviati in una cartella condivisa di Google Drive. L’utente può selezionarne uno che viene visualizzato nella parte centrale dello schermo. Una volta premuto il pulsante, i verbali della riunione vengono inseriti in questo documento. Il documento aggiornato viene aggiornato con i risultati.

Codice costruito sul framework Dash. Funziona anche all’interno di un notebook Google Colab.

Ogni documento viene visualizzato all’interno di un iFrame dedicato. Il link del documento si basa sul valore ’embedLink’, precedentemente recuperato dall’API di Google Drive.

Inoltre, durante le chiamate all’API ChatGPT e durante i passaggi di inserimento dei verbali della riunione di Google Doc, viene visualizzata una barra di avanzamento.

5. Possibili miglioramenti

La principale sfida nell’utilizzo di ChatGPT all’interno della tua azienda è quella di avere una perdita di informazioni sensibili su cui la tua azienda sta lavorando. Questo è successo di recente alla Samsung, dove i dipendenti hanno accidentalmente divulgato segreti aziendali con ChatGPT.

Uno dei miglioramenti di questo codice potrebbe essere l’esecuzione della mascheratura dei dati prima di chiamare l’API di ChatGPT. Almeno i nomi dei partecipanti e i campi aggiuntivi contrassegnati contenenti informazioni sensibili dovrebbero essere mascherati. Anche il nome della riunione potrebbe contenere alcuni tag per la mascheratura dei dati. Ad esempio ‘Riunione con <Microsoft>’ in cui ‘Microsoft’ sarà mascherato nell’intero estratto di documenti di trascrizione dei dati. Una volta ricevuta la risposta dall’API di ChatGPT, è necessario fare il contrario. Ogni informazione mascherata deve essere smascherata prima di chiamare l’API di Google Docs.

Per questo, è necessario utilizzare una tabella di riferimento per memorizzare ogni ID di campo con il suo valore chiaro e mascherato. In questo modo, questi campi potrebbero essere mascherati prima di chiamare l’API di ChatGPT, quindi smascherati durante l’inserimento delle sezioni dei minuti di riunione con l’API di Google Docs.

6. La parola finale

Grazie per aver letto il mio articolo fino alla fine, spero che ti sia piaciuto!

Come puoi vedere, ChatGPT 4 API combinata con le API di Google Drive/Docs sono molto potenti e possono contribuire in modo significativo al miglioramento del tuo lavoro quotidiano.

Puoi trovare l’intero codice sorgente sul mio GitLab: Generazione dei minuti di riunione con ChatGPT

Get Certified in ChatGPT + Conversational UX + Dialogflow