On this technical article, we are going to discover the way to leverage the ChatGPT 4 API together with Google Meet, Google Drive, and Google Docs APIs to robotically generate assembly minutes.
Taking minutes throughout a gathering is usually a time-consuming activity, and it’s typically troublesome to seize all the pieces that’s mentioned. With using synthetic intelligence, the method could be streamlined to make sure that nothing is missed.
As Microsoft Groups or Zoom, Google Meet has the flexibility to file 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 is also finished with Groups or Zoom recording.
For this, a easy net software will likely be used as a central level to handle the consumer interplay in addition to the completely different API calls. The aim is to show an inventory of those assembly transcript paperwork saved on a predefined Google Drive folder. The consumer will have the ability to choose one in all them then press a button to generate a abstract of the assembly minutes in addition to the motion objects with due dates. Additionally, these two new sections will likely 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 mandatory configuration and to grasp the Sprint/Python software code used to handle the ChatGPT, Google Drive & Docs APIs.
A hyperlink to my GitLab containing the total Python/Sprint supply code can also be obtainable on the following sections.
By the tip of this text, I’ll additionally share my ideas on some limitations and enhancements that could possibly be finished on this software. I hope it can let you discover new concepts on the way to keep targeted on extra priceless duties than taking assembly minutes.
So let’s dive in!
The online software appears just like the display screen under. The higher part shows an inventory of transcript paperwork current on the consumer’s shared Google Drive folder. Such paperwork are robotically generated within the ‘Meet Recordings’ folder when the consumer triggers the Google Meet recording button.
The consumer can choose a doc within the listing. The chosen doc is displayed within the central half. Lastly, the consumer can press the button to generate the assembly minutes.
As soon as the button pressed, the Assembly minutes are robotically inserted in 2 new sections:
The ‘Assembly Abstract’ part is a brief description of the assembly primarily based on the assembly transcript. It should keep artificial regardless of the period of the assembly.
The ‘Assembly Motion Objects’ part is a numbered motion objects checkbox listing which can also be primarily based on the transcript. When identified, a due date can also be inserted.
Every numbered assembly motion merchandise accommodates a checkbox that’s natively supported by Google Docs. They could possibly be used in a while by your groups to observe up the motion listing and to verify them as soon as they’re finished.
The next will let you edit and run the code current on my GitLab. Earlier than doing that, you’ll have to register at OpenAI to get your API key. Additionally, Google Drive and Docs APIs should 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 challenge named Assembly Minutes technology with ChatGPT
- Edit the Jupyter Python pocket book with Google Colab and put it aside by yourself Colab folder
- Exchange the ‘OPENAI_API_KEY’ worth within the code with your individual 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. Report it with the transcript. The video file and the transcript doc will robotically 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 couple of seconds. Click on on the URL generated within the backside of the Colab pocket book to show it
The applying ought to appear like the primary screenshot within the earlier part.
As of at this time, the ChatGPT 4 API remains to be in beta. The used model within the code is ‘gpt-4–0314’ snapshot. It may also be switched to the present model, ‘gpt-3.5-turbo’.
I’ll focus solely on crucial 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 following part retrieves a file listing of all transcript paperwork saved within the Google Meet Recording folder. The listing will likely be used later to show these paperwork on the internet software.
4.2. Google Meet transcript doc textual content extract
These capabilities are used to extract textual content components from an outlined Google Doc ID. Google Meet generates a paragraph named ‘Transcript’. The placement of the ‘Transcript’ part is recognized and will likely be used later as a place to begin to insert the assembly minutes. The 2 sections inserted by the appliance will likely 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. With a view to keep suitable with the ‘gpt-3.5-turbo’ mannequin, the max worth used within the code is 4096 tokens per request. However understand that the ‘gpt-4’ mannequin can deal with way more. A 8k or a 32k fashions are additionally obtainable, 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 capabilities will put together and return an inventory of chunks that will likely be used later by the ChatGPT API.
4.4. ChatGPT API utilization
This operate generates the assembly abstract and motion objects in a couple of steps. A ChatGPT API name is finished for every of them:
- Step 1: Summarize the assembly transcript textual content. The operate iterates over the chunk listing 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 objects with due dates from the transcript. The operate iterates over the chunk listing generated beforehand. The ChatGPT API known as for every chunk with the next request: ‘Present an inventory of motion objects with a due date from the supplied assembly transcript textual content: <chunk>’
- Step 4: Consolidate the assembly motion objects from Step 3 in a concise numbered listing. The ChatGPT API known as with the next request: ‘Consolidate these assembly motion objects with a concise numbered listing: <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 consumer. The textual content is inserted earlier than the ‘Transcript’ paragraph. The beginning index recognized within the earlier capabilities is used right here as a place to begin.
Two sections are inserted right here: ‘Assembly Abstract’ and ‘Assembly Motion objects’.
Every part’s insertion is finished with the next steps:
- the part’s title is inserted (as a textual content i.e. ‘Assembly Abstract’)
- its type is ready to ‘HEADING_1’, its textual content type is ready to ‘daring’, its font measurement is ready to ‘14’
- the part’s content material is inserted (this comes from the ChatGPT API outcome)
- its type is ready to ‘NORMAL’. A bullet level can also be inserted with an arrow for the ‘Assembly Abstract’ part and a checkbox for the ‘Assembly Motion objects’ part
Some ‘tabulation’ and ‘new line’ characters are additionally inserted to right the textual content returned from the ChatGPT API.
Tip: Please notice that the ‘ar’ desk is iterated in a reversed means to make sure the beginning index place stays at all times updated following every textual content insertion.
4.6. The primary Python Sprint Net Software
This half is used to construct a easy net software on which the consumer can work together. Principally, it shows an inventory of paperwork saved on a Google Drive shared folder. The consumer can choose one in all them which is displayed within the central a part of the display screen. 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 throughout 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 not too long ago at Samsung the place staff have by accident 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 must be masked. The assembly title may additionally comprise some tags for information masking. I.e ‘Assembly with <Microsoft>’ the place ‘Microsoft’ will likely be masked on the whole transcript doc information extract. As soon as the response is obtained from ChatGPT API, the reverse must be finished. 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 tip, hope you loved it!
As you may see, ChatGPT 4 API mixed with Google Drive/Docs APIs are very highly effective and might contribute considerably to enhancing your day-to-day work.
You could find the whole supply code on my GitLab: Assembly Minutes technology with ChatGPT