GFiaMon's picture
Updated: Readme and add Documentation
ce49379
metadata
title: Meeting Agent Docker
emoji: ๐Ÿณ
colorFrom: yellow
colorTo: indigo
sdk: docker
pinned: false
short_description: Docker build Gradio for the Meeting Intelligence Agent.

๐ŸŽ™๏ธ Meeting Intelligence Agent

AI-powered assistant for meeting transcription, analysis, and management.

This project implements an intelligent conversational agent that orchestrates the entire meeting intelligence workflow. It allows users to upload video recordings, automatically transcribe them with speaker identification, edit transcripts, store them in a vector database (Pinecone), and perform advanced RAG (Retrieval-Augmented Generation) queries to extract insights, summaries, and action items.

Status Python Gradio License

Complete Project Repo in GitHub: https://github.com/GFiaMon/meeting-intelligence-agent


๐Ÿ“‹ Table of Contents


๐ŸŒŸ Features

  • ๐Ÿ—ฃ๏ธ Natural Language Interface: Control everything through a chat-based agent using LangGraph.

  • ๐ŸŒ Local/Cloud Deployment: Docker + Hugging Face Spaces.

  • ๐Ÿ“น Video Analysis Pipeline:

    • Upload MP4/MOV/AVI files directly.
    • WhisperX Transcription: High-accuracy speech-to-text.
    • Speaker Diarization: Automatically distinguishes between different speakers.
    • Smart Speaker Mapping: LLM intelligently assigns real names to speaker labels (e.g., "Speaker_01" โ†’ "Alice") from context.
  • โœ๏ธ Interactive Editor: Review and correct transcripts before commiting them to the database.

  • ๐Ÿง  Semantic Search (RAG):

    • Stores meetings in Pinecone vector database.
    • Intelligent metadata extraction (Titles, Dates, Summaries) using GPT-4o-mini.
    • Time-Aware Queries: Understands relative time (e.g., "What did we discuss 2 weeks ago?") using a dedicated Time MCP server.
    • Ask questions like "What did we decide about the budget?" or "List all action items for John".
  • ๐Ÿ”Œ MCP Integration (Model Context Protocol):

    • Connects to external tools like Notion to export meeting minutes directly.
    • Custom Time Server: World time queries for relative date calculations.
    • Zoom Integration: (Future) Real-time meeting capture via RTMS API.
  • ๐Ÿ“Š LangSmith Integration: Full tracing and monitoring of agent workflows.


๐Ÿ“š Documentation

Additional Documentation Files

For detailed technical documentation, see: - ARCHITECTURE.md - Full system design - TECHNICAL_IMPLEMENTATION.md - Complete tool reference and Mermaid diagrams - DEPLOYMENT_GUIDE.md - Step-by-step deployment guide - Pinecone Management Script - Utility for database management

๐Ÿ—๏ธ System Architecture

+--------+       +------------------+
|  User  | <---> | Gradio Interface |
+--------+       +------------------+
                          ^
                          |
                          v
+-------------------------------------------------------+
|           Conversational Agent (LangGraph)            |
|                   +----------------+                  |
|                   |  OpenAI GPT-4  |                  |
|                   +----------------+                  |
+---------------------------+---------------------------+
                            |
          +-----------------+-----------------+
          |                 |                 |
          v                 v                 v
+------------------+ +-------------+ +------------------+
| Tools & Caps     | | Video Pipe  | | Ext. Integrations|
| - Video Process  | | - Upload    | | - Notion API     |
| - Queries        | | - WhisperX  | | - Zoom API       |
| - External MCP   | | - Diarize   | | - Time API       |
|                  | | - Editor    | |                  |
+------------------+ +-------------+ +------------------+
          |                 |
          +--------+--------+
                   |
                   v
          +------------------+
          |   Data Storage   |
          | (Pinecone DB)    |
          +------------------+

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.11
  • FFmpeg (required for audio processing)
  • Node.js & npm (optional, required if using Notion MCP integration)
  • Pinecone Account
  • OpenAI API Key

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/meeting-agent.git
    cd meeting-agent
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure Environment: Create a .env file in the root directory:

    OPENAI_API_KEY=your_openai_key
    PINECONE_API_KEY=your_pinecone_key
    PINECONE_INDEX=your_index_name
    PINECONE_ENVIRONMENT=us-east-1
    
    # Optional: For Notion MCP
    ENABLE_MCP=true
    NOTION_TOKEN=your_notion_key
    
    # LangSmith (optional)
    LANGSMITH_API_KEY=your_langsmith_key
    LANGSMITH_PROJECT=meeting-agent
    
  4. Run the Application:

    python app.py
    

    Access the UI at http://localhost:7860.

Pinecone Management

Manage your vector database with the included utility:

# List all meetings
python scripts/manage_pinecone.py list

# View statistics
python scripts/manage_pinecone.py stats

# Delete specific meeting
python scripts/manage_pinecone.py delete meeting_abc12345

๐Ÿณ Docker Support

Build and run the application in a container.

  1. Build the image:

    docker build -t meeting-agent .
    

    โš ๏ธ IMPORTANT FOR HUGGING FACE SPACES:
    Standard Gradio deployment may fail due to specific dependency conflicts (WhisperX/Pyannote).
    You must use Docker for deployment.
    Use requirements_hf.txt (rename it to requirements.txt inside your deployment repo) which contains safe, Linux-compatible version ranges. The standard requirements.txt is optimized for local Mac/Dev environments.

  2. Run the container:

    docker run -p 7860:7860 --env-file .env meeting-agent
    

๐ŸŒ Live Demo & Deployment

Hugging Face Spaces

Custom MCP Servers

  • โฐ World Time Server: A custom MCP server for timezone-aware queries deployed at https://huggingface.co/spaces/GFiaMon/date_time_mpc_server_tool (Can be cloned or connected as an external MCP server to an AI agent)

  • ๐ŸŽฅ Zoom RTMS Integration: In development (external_mcp_servers/zoom_mcp/), working with Zoom's API team


๐Ÿ“ Project Structure

meeting-agent/
โ”œโ”€โ”€ app.py                # ๐Ÿš€ Entry point (Gradio App)
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ agents/           # LangGraph Agent definition
โ”‚   โ”œโ”€โ”€ config/           # Configuration & Settings
โ”‚   โ”œโ”€โ”€ processing/       # Audio/Video processing pipelines
โ”‚   โ”œโ”€โ”€ retrievers/       # Pinecone & RAG logic
โ”‚   โ”œโ”€โ”€ tools/            # Tool definitions (Video, General, MCP)
โ”‚   โ””โ”€โ”€ ui/               # Gradio UI components
โ”œโ”€โ”€ documentation/        # Technical Documentation
โ”œโ”€โ”€ scripts/              # Helper scripts
โ””โ”€โ”€ requirements.txt      # Dependencies

๐Ÿ“Š Monitoring & Evaluation

LangSmith Integration

The agent integrates with LangSmith for comprehensive tracing and monitoring:

  • Prompt/Response Tracking: All agent interactions are logged
  • Tool Usage: Complete tool execution history
  • Performance Metrics: Latency and token usage tracking
  • Debugging: Easy identification of issues in complex workflows

Basic Evaluation

While full quantitative metrics are a future enhancement, the system includes:

  • Functional Testing: All tools tested end-to-end
  • Integration Testing: Pinecone, Notion, and MCP connections verified

๐Ÿ”Œ MCP Integration Details

Current MCP Servers

  1. Notion MCP: Official @notionhq/notion-mcp-server for Notion API access
  2. World Time Server: Custom Gradio-based MCP server for timezone-aware queries
  3. Zoom RTMS: Prototype for future Zoom integration (in development)

Time-Aware Queries Example

The custom Time MCP server enables queries like:

  • "What did we discuss last Tuesday?"
  • "Show me meetings from 2 weeks ago"
  • "What action items were assigned in December?"

The server calculates relative dates and provides timezone-aware timestamps for accurate meeting retrieval.


๐Ÿ”ฎ Future Enhancements

In Development

  • Zoom RTMS API Integration: Real-time meeting transcription and capture
  • Enhanced Metrics: Quantitative evaluation with LangSmith
  • Batch Processing: Handle multiple meetings simultaneously

Planned Features

  • Multi-language Support: Transcription in 10+ languages
  • Advanced Analytics: Sentiment analysis, speaker analytics
  • Export Formats: PDF, Google Docs, etc

๐Ÿค Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for more information.


๐Ÿ™ Acknowledgments

  • Ironhack Data Science & AI Program - Course framework and guidance
  • OpenAI - Whisper and GPT models
  • WhisperX - Audio/Video processing
  • Pinecone - Vector database
  • Notion - Notion API access
  • LangChain - Agent framework and tools
  • Hugging Face - Deployment platform and community

๐Ÿ“ง Contact

Author: Guillermo Fiallo Montero - Data Science & AI Engineer

LinkedIn

Project Link: https://github.com/GFiaMon/meeting-intelligence-agent


Capstone Project - Ironhack Data Science & AI Program - December 2025