医疗AI助手

一个基于Flask、SocketIO、LangGraph和MCP的生产级医疗AI助手,提供智能药品搜索、商店定位和健康咨询功能。

  • by ABSatpute
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ABSatpute/medai-mcp-assistant

使用说明

MedAI-集成MCP的医疗助理

一个生产就绪的医疗人工智能助手,使用Flask、SocketIO、LangGraph和模型上下文协议(MCP)构建,用于智能医疗搜索、存储位置和健康查询。

特性

  • 🏥 医疗问答:人工智能驱动的健康和医学信息
  • 💊 智能医疗搜索:模糊匹配与以店铺为中心的排名
  • 🗺️ 商店位置:通过实时位置检测查找最近的医疗商店
  • 📍 距离计算:使用Haversine公式进行实时距离计算
  • 🎯 路线规划:通过OSRM获取所选商店的路线
  • 💬 实时聊天:具有持久线程的基于WebSocket的消息传递
  • 🔧 多步查询:使用工具链的复杂查询
  • 📊 交互式地图:基于叶子的商店可视化
  • 📋 处方分析:基于图像的处方处理

安装

# Clone repository
git clone https://github.com/YOUR_USERNAME/medical_app_langgraph.git
cd medical_app_langgraph

# Create virtual environment
python -m venv medlgenv
medlgenv\Scripts\activate  # Windows

# Install Flask dependencies
pip install -r requirements_flask.txt

# Create .env file
echo OPENAI_API_KEY=your_key_here > .env

用法

# Flask app (main implementation)
python app.py

# Alternative Streamlit version
streamlit run mcp_app.py

配置

更新“app.py”中的默认位置:

user_location = {"latitude": 18.566039, "longitude": 73.766370}

建筑

后端

  • 烧瓶 随着 袜子 用于实时WebSocket通信
  • LangGraph 用于AI工作流编排
  • SQLite 聊天记录持久化数据库
  • MCP服务器 用于工具集成

关键组件

  • 实时聊天:基于WebSocket的消息传递,带有自动生成的线程标题
  • 药品搜索:采用以店铺为中心的排名算法进行模糊匹配
  • 定位服务:Haversine距离计算和OSRM路线规划
  • 交互式地图:基于叶子的商店可视化,带有详细的弹出窗口

MCP集成

  • medical-database -药品和商店的SQL查询
  • medical-map -位置和地图服务
  • prescription-analyser -处方图像分析

许可证

MIT许可证