On this technical article, we are going to discover how you can leverage the ChatGPT 4 API together with Google Meet, Google Drive, and Google Docs APIs to routinely generate assembly minutes.
Taking minutes throughout a gathering is usually a time-consuming activity, and it’s usually troublesome to seize all the pieces that’s mentioned. With using synthetic intelligence, the method might be streamlined to make sure that nothing is missed.
As Microsoft Groups or Zoom, Google Meet has the power to report conferences. As soon as the recording is activated, the transcript of the assembly is generated in a Google Doc format and is saved on an outlined Google Drive shared folder. Google Meet transcript file is used right here however comparable transcript textual content extract may be performed with Groups or Zoom recording.
For this, a easy internet utility shall be used as a central level to handle the person interplay in addition to the totally different API calls. The aim is to show a listing of those assembly transcript paperwork saved on a predefined Google Drive folder. The person will be capable to choose considered one of them then press a button to generate a abstract of the assembly minutes in addition to the motion gadgets with due dates. Additionally, these two new sections shall be inserted in the identical Google Doc with Google Docs API, containing the outcomes from ChatGPT API.
This text will stroll you thru the steps required to arrange the required configuration and to know the Sprint/Python utility code used to handle the ChatGPT, Google Drive & Docs APIs.
A hyperlink to my GitLab containing the total Python/Sprint supply code can be out there on the subsequent sections.
By the top of this text, I’ll additionally share my ideas on some limitations and enhancements that could possibly be performed on this utility. I hope it would will let you discover new concepts on how you can keep centered on extra priceless duties than taking assembly minutes.
So let’s dive in!
The net utility seems to be just like the display under. The higher part shows a listing of transcript paperwork current on the person’s shared Google Drive folder. Such paperwork are routinely generated within the ‘Meet Recordings’ folder when the person triggers the Google Meet recording button.
The person can choose a doc within the record. The chosen doc is displayed within the central half. Lastly, the person can press the button to generate the assembly minutes.
As soon as the button pressed, the Assembly minutes are routinely inserted in 2 new sections:
The ‘Assembly Abstract’ part is a brief description of the assembly based mostly on the assembly transcript. It should keep artificial regardless of the period of the assembly.
The ‘Assembly Motion Objects’ part is a numbered motion gadgets checkbox record which can be based mostly on the transcript. When recognized, a due date can be inserted.
Every numbered assembly motion merchandise comprises a checkbox that’s natively supported by Google Docs. They could possibly be used afterward by your groups to observe up the motion record and to examine them as soon as they’re performed.
The next will will let you edit and run the code current on my GitLab. Earlier than doing that, you’ll must register at OpenAI to get your API key. Additionally, Google Drive and Docs APIs have to be activated on the Google console, in addition to making a Google Service Account.
- Go to the OpenAI web site and signal as much as get your API Key
- Go to my GitLab undertaking named Assembly Minutes technology with ChatGPT
- Edit the Jupyter Python pocket book with Google Colab and put it aside by yourself Colab folder
- Change the ‘OPENAI_API_KEY’ worth within the code with your personal api key
- Use the next hyperlink to activate the Google Drive & the Google Doc APIs
- Use the next hyperlink to create a Google Service Account
- Obtain and save the Google Service Account Key (JSon File) in your Colab folder. Title it ‘credentials_serviceaccount.json’ (or change the worth within the code)
- Share your ‘Meet Recordings’ Google Drive folder with the Google Service Account created beforehand (with ‘Editor’ permission)
- Attend a Google Meet assembly. File it with the transcript. The video file and the transcript doc will routinely be generated in your ‘Meet Recordings’ Google Drive folder
- Within the code, change the ‘GOOGLE_MEET_RECORDING_FOLDER’ worth with the ID of your ‘Meet Recordings’ Google Drive folder shared beforehand
- Choose ‘Run All’ within the ‘Execution’ menu
- A WebApp ought to begin in a number of seconds. Click on on the URL generated within the backside of the Colab pocket book to show it
The applying ought to seem like the primary screenshot within the earlier part.
As of right this moment, the ChatGPT 4 API continues to be in beta. The used model within the code is ‘gpt-4–0314’ snapshot. It can be switched to the present model, ‘gpt-3.5-turbo’.
I’ll focus solely on an important items of the code.
4.1. Google Drive integration / API
The primary two traces of code are used to mount your Google Drive root folder. The primary utilization is to retrieve the Google Service Account credential key (JSon file) generated throughout the Fast Begin part.
The code of the subsequent part retrieves a file record of all transcript paperwork saved within the Google Meet Recording folder. The record shall be used later to show these paperwork on the net utility.
4.2. Google Meet transcript doc textual content extract
These features are used to extract textual content parts from an outlined Google Doc ID. Google Meet generates a paragraph named ‘Transcript’. The placement of the ‘Transcript’ part is recognized and shall be used later as a place to begin to insert the assembly minutes. The 2 sections inserted by the applying shall be positioned simply earlier than this ‘Transcript’ part. (and proper after the ‘Attendees’ part)
4.3. ChatGPT preparation: break down of the transcript textual content into chunks
ChatGPT API fashions have a restricted variety of tokens per request. To be able to keep appropriate with the ‘gpt-3.5-turbo’ mannequin, the max worth used within the code is 4096 tokens per request. However remember the fact that the ‘gpt-4’ mannequin can deal with rather more. A 8k or a 32k fashions are additionally out there, they can be utilized to considerably enhance the assembly minutes’ high quality for lengthy conferences.
As a consequence, the Google Meet Transcript doc textual content must be damaged down into chunks of 4000 tokens with an overlap of 100 tokens.
These features will put together and return a listing of chunks that shall be used later by the ChatGPT API.
4.4. ChatGPT API utilization
This operate generates the assembly abstract and motion gadgets in a number of steps. A ChatGPT API name is completed for every of them:
- Step 1: Summarize the assembly transcript textual content. The operate iterates over the chunk record generated beforehand. The content material despatched to ChatGPT is predicated on the recorded dialog between the attendees. The ChatGPT API known as for every chunk with the next request: ‘Summarize this assembly transcript: <chunk>’
- Step 2: Consolidate the response (Assembly abstract) from Step 1. The ChatGPT API known as with the next request: ‘Consolidate these assembly summaries: <ChatGPT responses from Step 1>’
- Step 3: Get motion gadgets with due dates from the transcript. The operate iterates over the chunk record generated beforehand. The ChatGPT API known as for every chunk with the next request: ‘Present a listing of motion gadgets with a due date from the offered assembly transcript textual content: <chunk>’
- Step 4: Consolidate the assembly motion gadgets from Step 3 in a concise numbered record. The ChatGPT API known as with the next request: ‘Consolidate these assembly motion gadgets with a concise numbered record: <ChatGPT responses from Step 3>’
Every ChatGPT API used parameter (i.e. ‘temperature’) is documented within the code.
4.5. Google Docs API administration utilization to insert the ultimate assembly minutes
The target of this operate is to insert the assembly minutes into the Google Doc chosen by the person. The textual content is inserted earlier than the ‘Transcript’ paragraph. The beginning index recognized within the earlier features is used right here as a place to begin.
Two sections are inserted right here: ‘Assembly Abstract’ and ‘Assembly Motion gadgets’.
Every part’s insertion is completed with the next steps:
- the part’s title is inserted (as a textual content i.e. ‘Assembly Abstract’)
- its model is about to ‘HEADING_1’, its textual content model is about to ‘daring’, its font measurement is about to ‘14’
- the part’s content material is inserted (this comes from the ChatGPT API outcome)
- its model is about to ‘NORMAL’. A bullet level can be inserted with an arrow for the ‘Assembly Abstract’ part and a checkbox for the ‘Assembly Motion gadgets’ part
Some ‘tabulation’ and ‘new line’ characters are additionally inserted to appropriate the textual content returned from the ChatGPT API.
Tip: Please word that the ‘ar’ desk is iterated in a reversed approach to make sure the beginning index place stays at all times updated following every textual content insertion.
4.6. The primary Python Sprint Internet Software
This half is used to construct a easy internet utility on which the person can work together. Mainly, it shows a listing of paperwork saved on a Google Drive shared folder. The person can choose considered one of them which is displayed within the central a part of the display. As soon as the button is pressed, the assembly minutes are inserted into this doc. The up to date doc is refreshed with the outcomes.
This code is constructed on prime of the Sprint framework. It even works inside a Google Colab pocket book.
Every doc is displayed inside a devoted iFrame. The doc’s hyperlink is predicated on ‘embedLink’ worth, beforehand retrieved by the Google Drive API.
Additionally, a progress bar is displayed in the course of the ChatGPT API calls and the Google Doc assembly minutes’ insertion steps.
The primary problem utilizing ChatGPT inside your organization is to have a leak of delicate data your organization is engaged on. This occurred lately at Samsung the place workers have unintentionally leaked firm secrets and techniques with ChatGPT.
One of many enhancements of this code could possibly be the execution of knowledge masking earlier than calling the ChatGPT API. At the least the attendee names and extra tagged fields containing delicate data needs to be masked. The assembly title may additionally comprise some tags for information masking. I.e ‘Assembly with <Microsoft>’ the place ‘Microsoft’ shall be masked on your entire transcript doc information extract. As soon as the response is acquired from ChatGPT API, the reverse must be performed. Every masked data must be unmasked earlier than calling the Google Docs API.
For this, a reference desk must be used to retailer every area ID with its clear and its masked worth. So these fields could possibly be masked earlier than calling the ChatGPT API, then unmasked when inserting the assembly minutes’ sections with Google Docs API.
Thanks for studying my article to the top, hope you loved it!
As you’ll be able to see, ChatGPT 4 API mixed with Google Drive/Docs APIs are very highly effective and may contribute considerably to bettering your day-to-day work.
You will discover your entire supply code on my GitLab: Assembly Minutes technology with ChatGPT