Using GenAI – Generate my Meeting Minutes!

Using GenAI – Generate my Meeting Minutes!

Today I will share another example where I utilize Generative AI with you. Although the story is explained quite quickly. Documenting meeting minutes can be a tedious task, especially when I am an active participant. However, the outcome of the meeting is crucial as I need to share the action items and results with my colleagues.

What if I had a buddy who could do this task for me? Right, I use my Generative AI for this. In other words, I use the recorded transcript and pass this text to my AI. Furthermore, my AI understands the transcript and create my meeting minutes in seconds. Finally, I share the minutes with my colleagues.

Testing my concept

You know, testing this concept is important. For this I use my own Azure OpenAI Chatbot to generate my demo data. I enter this:

Generate me a demo meeting transcript output from a sales meeting. The transcript should contain at least 4 persons and the duration is approx. 45 minutes. In addition, add timestamps to the result. Use 1000 words for the conversation between the attendees and start directly with the first conversation. Use names for the attendees.

The result is this:

AI generated Meeting Transcript

OK, this was easy. Now I will test my next step. I enter this:

Generate the meeting minutes.

Again, the result is acceptable for me:

AI generated Meeting Minutes

My Solution Draft

My future solution has two parts. The Azure part is where I use an Azure Container App to generate the meeting minutes from the meeting transcript. I already implemented this app based on Python, FastAPI, LangChain. As you see in the architecture overview, my app provides an API and uses gpt-3.5-turbo-16k as LLM in my and Azure OpenAI instance:

generate meeting minutes solution draft

I will explain these implementation details soon in a separate blog post.

The second part of my solution is a minimized user interface. Here I will use a Power Automate Flow to upload my meeting minutes. In addition, my Power Automate Flow will call my Azure API and invoke the generation of my meeting minutes. Finally, my Flow will post a message in Microsoft Teams to me and deliver the result.

Implementing a Solution

First, I’ll give you an overview of my solution in Microsoft Azure. Here, my API is already implemented and deployed as an Azure Container App in my Azure Tenant:

containerized app

I love this approach, because an Azure Containerized App allows me to host my API applications with a minimum of cost. I only pay for the consumption of my application when it is used. In detail, I use the configured auto scaling feature of my container app:

containerized app auto scaling

This scales my application down to zero, when no one is using it. In other words, my application only consumes my Azure credits, when my API is used, and my application is executed. The downside is the first call takes some seconds until my container app is up and running.

Here are some more details of my API. My Meeting Minutes Generator have 1 method. Right, this method generates the meeting minutes from a given text:

meeting minutes API

Yes, I can use that API directly and I get my meeting minutes generated:

API genrated meeting minutes result

But you know, there is a better way. I follow my plan and create a user interface in seconds within a Power Automate Flow.

My Power Automate Flow

I have already explained that I use a simple Power Automate Flow as my user interface. Here is the result:

Upload file and generate meeting minutes with AI

First, I use a manual trigger to upload my meeting transcript file. Next, I use my Get File Content compose action to extract the content of my file. This content is Base64 encoded. That’s why I use the second compose action to decode this content into plain text. The formula is this:

base64ToString(outputs('Get_File_Content'))

Afterwards, I pass the decodes meeting transcript directly into my HTTP Generate Meeting Minutes action. However, I know that API call can take a while. This means, I must extend the timeout in my Power Automate Flow action:

action settings

My tip to you is this: Ask the AI for the correct format…

Ask the AI for the correct time format

Finally, I use a Microsoft Teams action Post message in a chat or channel to send the generated meeting minutes directly back to the person who have triggered my Power Automate Flow:

deliver meeting minutes as Post message in a chat or channel action

Generate Meeting Minutes in Action

My solution in action is this. I run my prepared Power Automate Flow and select my transcript file from Microsoft Teams:

upload meeting transcript and start the flow

This will take a while and depends on the size of my transcript file.

positive flow run

Finally, I receive this Microsoft Teams message which contains my AI generated meeting minutes:

generated meeting minutes

Perfect! I created a solution where my AI generates meeting minutes from my transcript.

Summary

The areas in which I can use generative AI are almost unlimited. Most of the time, the solution depends on my imagination and the combination of existing technologies. In detail, I proved a potential solution by using my Azure OpenAI chatbot. Furthermore, you saw that I also used the AI to generate my demo meeting transcript.

After I got this positive proof of my concept I started to drafted a minimal solution. I used a Pro-Developer approach in Microsoft Azure. This means, I implemented and deployed an API as containerized app that uses Azure OpenAI to generate my meeting minutes.

The rest of my solution is a simple Power Automate Flow that I use as my user interface. My Flow can upload my transcript file and pass the file content to my API. Furthermore, my Flow waits until the meeting minutes are generated from my containerized app. Finally, the Flow send me the resulting meeting minutes back as Microsoft Teams message.

My conclusion: Using a simplified Power Platform solution as a user interface helps with the use of generative AI!

Share
Comments are closed.