智能预约调度系统

一个基于AI代理的自动化预约管理系统,支持医生预约的创建、取消、改期及可视化监控。

  • by avinesh-valsan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 avinesh-valsan/Agentic-Appointment-Scheduling-System

使用说明


代理预约调度系统

概述

这 代理预约调度系统 使用代理框架自动化与医生预约、重新安排和管理预约的过程。 该系统集成了 MCP(多功能协议) 接口、基于API的通信以及用于可视化的可选仪表板。


目标

  • 设计一个基于人工智能的代理,能够处理与预约相关的任务。
  • 通过API和MCP服务器演示多组件交互。
  • 实现对预约的程序化和可视化监控。

系统能力

代理可以执行以下操作:

  • 添加appointment –创建新约会。
  • 取消预约 –取消现有约会。
  • 重新安排预约 –修改预约的时间或日期。
  • get_doctors –检索可用医生的列表。
  • 获取所有预约 –显示所有已安排的约会。

项目结构

appointment_scheduling_agent/
│
├── as_2/
│   ├── api.py               # Core FastAPI server handling API requests
│   ├── dashboard.py         # Optional Streamlit dashboard for visualization
│   ├── core/                # Core modules and helper functions
│   ├── data/                # Data storage for appointments and doctors
│   ├── server/              # MCP server implementation
│   ├── requirements.txt     # Python dependencies
│   └── __pycache__/         # Compiled cache files

安装

步骤1:克隆存储库

git clone https://github.com/<your-username>/appointment_scheduling_agent.git
cd appointment_scheduling_agent/as_2

步骤2:创建虚拟环境

python -m venv venv
source venv/bin/activate    # For Windows: venv\Scripts\activate

步骤3:安装依赖项

pip install -r requirements.txt

如何运行系统

该系统需要 至少两个(可选三个) 单独的终端来运行所有组件。


终端1:运行核心API(FastAPI)

必须运行此程序,其他组件才能工作。

uvicorn api:app --reload --port 8000

它的作用: 在启动中央API集线器 http://127.0.0.1:8000. 这将处理所有预约和医生数据。


终端2:运行AI代理桥(MCP)

这将AI代理连接到后端API。

uvicorn server.main:mcp --reload --port 8001

它的作用: 在以下位置启动MCP服务器 http://127.0.0.1:8001. AI代理(例如Claude或其他兼容代理)在此处连接以访问调度工具。


终端3:运行仪表板(可选)

这个可视化仪表板有助于监控和管理约会。

streamlit run dashboard.py

它的作用: 在浏览器中启动仪表板视图,以便于交互和可视化。


📋 API终点

API服务器运行后,您可以通过Swagger界面与之交互 👉 http://127.0.0.1:8000/docs

方法 端点 描述
发布 /appointments 安排新的预约
获取 /appointments 检索所有已安排的约会
删除 /appointments/{id} 按ID取消特定预约
获取 /doctors 检索可用医生列表

示例提示

您可以使用以下自然语言提示测试系统:

  • “与Ramesh Gupta博士预约明天上午11点。”
  • “取消我与Sushma Desai医生的预约。”
  • “将我与Sunita Sharma博士的预约重新安排到周五下午3点。”
  • “显示我的所有约会。”
  • “列出可用的医生。”

使用的技术

  • Python 3.10+
  • 快速API
  • FastMCP框架
  • 流光灯(仪表板)
  • JSON用于数据存储