A sophisticated AI-powered meeting room booking system built with LangGraph and modern web technologies
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.
- 🤖 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
| 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 |
- Python 3.11.0 or higher
- Conda (Miniconda or Anaconda)
- Groq API key (or compatible LLM provider)
-
Clone the Repository
git clone https://github.com/bigdata5911/Meeting-Room-Booking-AI-Agent.git cd Meeting-Room-Booking-AI-Agent -
Create Conda Environment
conda create -n meeting-agent python=3.11 -y conda activate meeting-agent
-
Install Dependencies
pip install -r requirements.txt
-
Configure Environment
Create a
.envfile in the project root:GROQ_API_KEY=your_api_key_here
-
Launch Application
conda activate meeting-agent flask run
Access the application at: http://localhost:5000
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
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/rooms.json: Room definitions and configurationsdata/bookings.json: Active and historical bookingsdata/clarification_messages.json: Predefined clarification templates
| Variable | Description | Required | Default |
|---|---|---|---|
GROQ_API_KEY |
Groq API authentication | ✅ | None |
FLASK_ENV |
Flask environment | ❌ | development |
DEBUG |
Debug mode | ❌ | True |
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
We welcome contributions! Please feel free to submit issues, feature requests, or pull requests.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
bigdata5911 - GitHub Profile
Built with ❤️ using LangGraph, Flask, and modern AI technologies
