Skip to content

lightlifedev/Meeting-Room-Booking-AI-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meeting Room Booking AI Agent

Meeting Room Booking AI Agent

A sophisticated AI-powered meeting room booking system built with LangGraph and modern web technologies

Python Flask LangGraph License

📋 Overview

This project implements an intelligent meeting room booking agent that leverages LangGraph and Large Language Models (LLMs) to provide a seamless booking experience. The system features natural language processing capabilities, real-time availability checking, and an intuitive web interface.

✨ Key Features

  • 🤖 AI-Powered Conversations: Natural language processing for meeting room requests
  • 📅 Smart Availability Checking: Real-time room availability verification
  • 🔄 Interactive Workflow: Dynamic clarification loops for incomplete requests
  • 🌐 Modern Web Interface: Clean, responsive UI for seamless interaction
  • 📊 Flexible Data Storage: JSON-based database for easy prototyping and development
  • 🔌 Multi-LLM Support: Compatible with various language models

🏗️ System Architecture

System Architecture

Core Components

Component Description Technology
Web Interface User interaction layer Flask, HTML/CSS
AI Agent Intelligent booking logic LangGraph, LLM APIs
Data Layer Room and booking storage JSON-based NoSQL
Booking System Availability management Mock API services

🚀 Quick Start

Prerequisites

  • Python 3.11.0 or higher
  • Conda (Miniconda or Anaconda)
  • Groq API key (or compatible LLM provider)

Installation

  1. Clone the Repository

    git clone https://github.com/bigdata5911/Meeting-Room-Booking-AI-Agent.git
    cd Meeting-Room-Booking-AI-Agent
  2. Create Conda Environment

    conda create -n meeting-agent python=3.11 -y
    conda activate meeting-agent
  3. Install Dependencies

    pip install -r requirements.txt
  4. Configure Environment

    Create a .env file in the project root:

    GROQ_API_KEY=your_api_key_here
  5. Launch Application

    conda activate meeting-agent
    flask run

    Access the application at: http://localhost:5000

📁 Project Structure

Meeting-Room-Booking-AI-Agent/
├── 📄 README.md                    # Project documentation
├── 📋 requirements.txt             # Python dependencies
├── ⚙️ config.py                   # Configuration settings
├── 🚀 app.py                      # Main Flask application
├── 🛠️ helper.py                   # Utility functions
│
├── 🤖 booking_agent/              # Core AI agent components
│   ├── 📊 schemas.py              # Pydantic data models
│   ├── 🔄 workflow.py             # LangGraph workflow definition
│   ├── 🧠 nodes.py                # Agent node implementations
│   ├── ⚡ conditions.py            # Transition conditions
│   └── 💬 prompt_config.py        # System prompts and templates
│
├── 🗄️ data/                       # Data storage
│   ├── 📋 rooms.json              # Room definitions
│   ├── 📅 bookings.json           # Current bookings
│   └── 💬 clarification_messages.json  # Clarification templates
│
├── 🔌 mock_apis/                  # Mock service layer
│   ├── 🏢 room_services.py        # Room data services
│   └── 📅 booking_services.py     # Booking API simulation
│
├── 🎨 static/                     # Web assets
│   └── 🎨 style.css               # CSS styling
│
├── 📄 templates/                  # HTML templates
│   └── 🏠 index.html              # Main web interface
│
└── 📚 docs/                       # Documentation assets
    ├── 🏗️ system_architecture.svg  # System diagram
    ├── 🔄 flowchart.svg           # Workflow diagram
    └── 🤖 chatbot.jpg             # Application screenshot

🤖 Supported Language Models

The system is designed to work with multiple LLM providers:

Provider Model Status Configuration
Groq LLaMA3-8b ✅ Default GROQ_API_KEY
Ollama Local models ✅ Supported Local installation
OpenAI GPT models 🔄 Compatible OPENAI_API_KEY

📊 Data Management

Storage Structure

  • data/rooms.json: Room definitions and configurations
  • data/bookings.json: Active and historical bookings
  • data/clarification_messages.json: Predefined clarification templates

Data Flow

Agent Workflow

🔧 Configuration

Environment Variables

Variable Description Required Default
GROQ_API_KEY Groq API authentication None
FLASK_ENV Flask environment development
DEBUG Debug mode True

Customization

The system can be easily customized by modifying:

  • Prompts: Edit booking_agent/prompt_config.py
  • Workflow: Modify booking_agent/workflow.py
  • Data Models: Update booking_agent/schemas.py
  • UI Styling: Customize static/style.css

🤝 Contributing

We welcome contributions! Please feel free to submit issues, feature requests, or pull requests.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 Author

bigdata5911 - GitHub Profile


Built with ❤️ using LangGraph, Flask, and modern AI technologies


Contact Us

Telegram

About

This project implements an intelligent meeting room booking agent that leverages LangGraph and Large Language Models (LLMs) to provide a seamless booking experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors