🌱 LeafScan AI:使用MCP的代理AI进行植物病害检测
   
基于人工智能的植物早期疾病健康助手 检测、解释、治疗和音频指导。
______________________________________________________________________
🚀 概述
此应用程序是 人工智能植物病害诊断系统 技术支持:
- MCP服务器(FastMCP) 暴露人工智能工具\\
- FastAPI后端 主持CNN模特+LLM+音频生成器\\
- 基于代理的工具调用,实现推理驱动的工作流程
用户可以:
- 上传以下图片 土豆、番茄或胡椒 叶子\\
- 使用CNN模型自动检测植物病害\\
- 使用LLM生成详细的解释\\
- 获取语音建议\\
- 使用第二个代理工具检索工厂级详细信息
Streamlit应用程序交互 *仅* 随着 MCP服务器,其中 协调整个工具调用工作流程——制定解决方案 可扩展、模块化、易于扩展。
______________________________________________________________________
✨ 主要特点
🌿 植物病害分类
- 上传图片\\
- 选择植物类型\\
- CNN模型识别疾病\\
- 显示置信度得分
🤖 语言代理:疾病解释与治疗
- LLM生成:
- 概述\\ - 症状\\ - 原因\\ - 推荐治疗\\ - 预防提示
🔊 音频代理
- 将诊断+治疗转化为言语\\
- 在应用内播放音频
📘 工厂信息工具
- 提供:
- 工厂描述\\ - 营养/用法详情\\ - 栽培简介\\
- 无论疾病状态如何,都会触发
⚙️ 代理+MCP架构
- 溪流→ MCP客户端\\
- MCP客户端→ MCP服务器(通过FastMCP公开的工具)\\
- MCP服务器→ 快速API→ ML模型+LLM+TTS
______________________________________________________________________
🧠 为什么选择人工智能?
使用a 能动性模型 使能够:
- 推理驱动的工具调用
- 代理人决定 *哪个* 后端工具调用和 *在什么 订单*.
- 模块化可扩展性
- CNN、LLM和音频生成器是单独的工具。
- 容错
- 如果JSON格式不正确,代理可以重试或请求 澄清。
- 自主性
- AI的行为就像一个编排器,而不仅仅是一个被动模型。
- 可重复使用性
- 工具可以由其他应用程序使用(移动、API集成, 等等)。
这种设计非常类似于现代工业级 能动性 编排系统.
______________________________________________________________________
🏗️ 系统架构
高级结构
Streamlit UI (MCP Client)
│
▼
MCP Server (FastMCP)
├── analyze_plant (Tool)
└── plant_info (Tool)
└── play_audio (Tool)
│
▼
FastAPI Backend
│
├── /analyze → Vision + LLM + TTS pipeline
└── /plant_info → LLM-based botanical information
└── /play_audio → gTTS-based audio generation______________________________________________________________________
🔄 代理流程图
User Uploads Image + Selects Plant
│
▼
Streamlit (MCP Client)
│ calls tool
▼
MCP Server (FastMCP)
│ calls API
▼
FastAPI Server
┌────────────┬──────────────┬─────────────┐
│ Vision CNN │ LLM Agent │ Audio Agent │
└────────────┴──────────────┴─────────────┘
│ returns results
▼
MCP Server aggregates
▼
Streamlit displays results______________________________________________________________________
🧩 组件
1.Streamlit应用程序(MCP客户端)
- 上传图像的用户界面
- 调用MCP工具
- 显示器:
- 疾病结果 - 自信 - LLM解释 - 工厂信息 - 音频回放
2.MCP服务器(FastMCP)
显示以下工具:
______________________________________________________________________
工具名称描述
______________________________________________________________________
analyze_plant 调用FastAPI /analyze 为了 疾病分类 解释和音频 代
plant_info 呼叫 /plant_info 为了 一般工厂细节
play_audio 呼叫 /play_audio 为了 播放解决方案音频
______________________________________________________________________
3.FastAPI后端
包含:- CNN模特 (土豆、番茄、胡椒)- LLM解释 发电机 - gTTS音频代理 - 终点: /analyze, /plant_info, /audio/{file}
______________________________________________________________________
🛠️ 安装和设置
- 克隆存储库:
git clone
cd plant-agentic-ai- 安装依赖项:
pip install -r requirements.txt- 启动FastAPI服务器:
uvicorn main:app --reload- 启动MCP服务器:
python mcp_server.py- 运行Streamlit UI:
streamlit run app.py______________________________________________________________________
📁 项目结构
project/
├── fastapi_server.py # FastAPI server exposing api
├── mcp_server.py # FastMCP server accessing api and exposing tools
├── app.py # Streamlit frontend (Non-MCP client) for Hugging Face deployment/use
├── app_local.py # Streamlit frontend (Non-MCP client) for local use
├── mcp_streamlit_agent.py # Streamlit frontend (MCP Client/Agent) for lcoal use
├── mcp_test_script.py # Testing MCP server Health
├── models/ # Dir: Trained CNN models
├── audio/ # Dir: Generated TTS/audio files
├── plant_diseasecure.json # File for defaut solution as failover
└── requirements.txt______________________________________________________________________
⚠️ 免责声明
此工具用于 教育和农业援助,不是a 替代认证农学家或植物病理学家。
______________________________________________________________________
👤 作者
凯撒侯赛因\ GitHub投资组合:https://kaisarhossain.github.io/portfolio/
