https://github.com/amritendunath/appointmate_1.0
A LangGraph-powered multi-agent/supervisor system for appointment scheduling. It enables users to interact in natural language to check doctor availability, book, reschedule, or cancel appointments.
https://github.com/amritendunath/appointmate_1.0
fastapi langchain langgraph nltk numpy pandas psycopg2 python sqlalchemy uvicorn websocket
Last synced: 3 months ago
JSON representation
A LangGraph-powered multi-agent/supervisor system for appointment scheduling. It enables users to interact in natural language to check doctor availability, book, reschedule, or cancel appointments.
- Host: GitHub
- URL: https://github.com/amritendunath/appointmate_1.0
- Owner: amritendunath
- Created: 2025-09-27T15:13:18.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-27T18:58:24.000Z (9 months ago)
- Last Synced: 2025-09-27T20:28:01.134Z (9 months ago)
- Topics: fastapi, langchain, langgraph, nltk, numpy, pandas, psycopg2, python, sqlalchemy, uvicorn, websocket
- Language: Python
- Homepage:
- Size: 56.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Appointmate_1.0: A Multi-Agent Appointment Booking System
Appointmate implements a **multi-agent system** for appointment booking using **LangGraph**. The system allows users to interact in **natural language** to inquire about doctor availability, set, reschedule, or cancel appointments while maintaining conversational context.
## ✨ Key Features
- **Natural Language Interaction**: Users can ask about doctor availability and book/reschedule/cancel appointments.
- **Multi-Agent System**: Separate AI agents handle information retrieval, scheduling, and rescheduling.
- **Context Awareness**: The system maintains conversation context per session.
- **Efficient Query Handling**: Queries are efficiently processed using LangGraph and multiple AI agents.
## 🏗 Architecture
The system consists of:
- **Front-End Server**: Interacts with users.
- **FastAPI Backend**: Handles API requests at `/generate-stream`.
- **LangGraph Agents**:
- **Supervisor Agent**: Coordinates tasks.
- **Information Agent**: Retrieves doctor availability details.
- **Appointment Agent**: Manages appointment scheduling, rescheduling, and cancellation.
- **SQLite Database**: Stores session-based chat conversations.
- **LangSmith Monitoring**: Observes agent activity and flow execution.
## 🔄 Multi-Agent Flow in LangGraph
The **LangGraph**-powered agentic workflow includes:
- **Primary Assistant**: Guides users through appointment-related tasks.
- **Appointment Agent**: Handles new appointment details.
- **Update Appointment Tools**: Tools to set, reschedule or cancel an appointment.
- **Information Agent**: Handle Availbility related query based on specialization or name.
- **Update Information Tools**: Tools to fetch doctor's availability.
- **Exit & Context Management**: Manages session flow and conversation termination.
## 🚀 Getting Started
### 1️⃣ Clone the Repository
```bash
git clone https://github.com/amritendunath/Appointmate_1.0.git
cd Appointmate_1.0
```
### 2️⃣ Install Dependencies
```bash
pip install -r requirements.txt
```
### 3️⃣ Start the FastAPI Server
```bash
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 2 --reload
```
### 4️⃣ Start the Streamlit UI
```bash
streamlit run front-end/chat_ui.py
```
## 📌 Future Enhancements
- Extend AI capabilities for multi-specialty clinic bookings.
- Integrate additional external databases for real-time availability.
- Implement authentication and user management.
- Implement More Skills/tools and Agents
## 🛠 Tech Stack
- **FastAPI**: Backend API Framework
- **LangGraph**: Multi-Agent Workflow
- **SQLite**: Database
- **LangSmith**: Agent Monitoring
- **Uvicorn**: ASGI Server
## 📧 Contact
For issues or contributions, create a pull request or open an issue. 🚀
Connect with me on **[LinkedIn (Amritendu Nath)](https://www.linkedin.com/in/amritendunath/)**.