Website Link: https://meeting-notes-main.vercel.app/
Google Colab Demo: https://colab.research.google.com/drive/1BWbhKEIG9HMczS0sl8ejKHhrm-KAuziT?usp=sharing
Follow these steps to get started:
Ensure you have Node.js and npm installed on your machine. You can download them here.
.
-
Clone the Repository: Clone this repository to your local machine.
git clone https://github.com/AnshTanwar/meeting-notes-main.git cd meeting-notes-main -
Install Dependencies: Run the following command to install the project dependencies.
npm install --legacy-peer-deps
-
Set up environment variables: Add the following key-value pair to the .env file: Create a .env file: In the root directory, create a new file named .env.
ASSEMBLYAI_API_KEY=<your api key> FIREBASE_SERVICE_ACCOUNT_KEY_BASE64=<your api key> FIREBASE_STORAGE_BUCKET=<your api key>
-
Start the Development Server: Run the following command to start the development server.
npm run dev
-
Access the Application: Open your web browser and navigate to http://localhost:3000.
The application should be accessible at http://localhost:3000.
-
Setup: Initialize the AssemblyAI API and configure transcription settings with options like
speaker_labels,auto_highlights, andentity_detection. -
Transcription: Use
transcribe()to process the audio and generate the transcript with speaker labels. -
Extract Speaker-Text Pairs: Loop through the transcript’s utterances, store each speaker’s text in a list as
[Speaker n, text]. -
Output: The list of speaker-text pairs is ready for analysis.
This code utilizes multiple prompts to generate a structured analysis of meeting transcripts, including a summary, counterpoints, ideas, and action items. Below are the steps involved:
-
Generate Meeting Summary
- Objective: Summarizes key outcomes, action items, and discussed steps from the meeting transcript.
- Input: Meeting transcript (list of speaker-dialogue pairs).
- Output: A JSON object containing the meeting outcomes, action items, and discussed steps.
-
Extract Counterpoints and Ideas
- Objective: Identifies counterpoints and proposed ideas discussed but not adopted during the meeting.
- Input: Meeting transcript (list of speaker-dialogue pairs).
- Output: A JSON object containing counterpoints and proposed ideas.
-
Assign Actions and Responsibilities
- Objective: Organizes action items from the meeting summary into structured tasks with responsibilities, deadlines, and importance levels.
- Input: Meeting transcript (list of speaker-dialogue pairs) and action items (extracted from the meeting summary).
- Output: A JSON array containing detailed task assignments (description, DRI, consulted individuals, importance, deadline).
-
Main Function
- Objective: Calls the above functions sequentially to generate a comprehensive meeting analysis.
- Input: Meeting transcript (list of speaker-dialogue pairs).
- Output: A dictionary containing the meeting summary, counterpoints and ideas, and action items with responsibilities.
- Each function interacts with the generative model (
gemini-1.5-pro-latest) to produce content based on the specified inputs. - The model configurations, such as
temperatureandtop_p, are adjusted for each task to control the output.
analyze_meeting(meeting_transcript_list)


