作物分类协调服务

一个基于模型上下文协议(MCP)的多智能体系统,用于协调Sentinel-1卫星影像的PSETAE作物分类工作流,整合Google Earth Engine进行数据提取。

  • by shivaprakash23
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 shivaprakash23/mcp_server_psetae

使用说明

Sentinel-1 PSETAE的MCP服务器

使用模型上下文协议(MCP)来编排Sentinel-1 PSETAE作物分类工作流的多代理系统实现。

概述

该存储库实现了一个模型上下文协议(MCP)服务器,该服务器协调多个AI代理执行PSETAE(带时间注意力编码器的像素集编码器)工作流,用于使用Sentinel-1卫星图像进行作物分类。该系统与谷歌地球引擎(GEE)集成用于数据提取,并利用现有的PSETAE代码库进行模型训练和推理。此实现专门关注Sentinel-1数据,以便在扩展到其他数据源之前建立稳定的基线。

特性

  • 多代理架构:具有管理员和专业Worker代理的分层代理结构
  • 工作流程编排:从数据提取到推理的PSETAE任务的端到端自动化
  • GEE整合:与谷歌地球引擎无缝交互,用于卫星数据检索
  • 模块化设计:代理封装了PSETAE管道的特定功能
  • 中央知识库:通过MCP数据库共享上下文和内存

系统架构

代理结构

  • 管理代理:协调工作流程并委派任务
  • 工人代理人:
    • Sentinel1数据提取代理:处理Sentinel-1的GEE数据检索和处理
    • Sentinel1Model训练代理:管理Sentinel-1的模型训练和超参数调优
    • Sentinel1推理剂:将Sentinel-1模型应用于新数据
    • Sentinel1ileCoverageAgent:分析研究区域的卫星瓦片覆盖情况
    • Sentinel1文档代理:根据训练的PSETAE模型的结果准备报告。

安装

  1. 克隆此存储库:
git clone https://github.com/yourusername/mcp_server_psetae.git
cd mcp_server_psetae
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置Google Earth引擎身份验证:
earthengine authenticate

用法

启动MCP服务器

python server/server.py --port 8080 --project-dir /path/to/project

正在初始化管理代理

# First, retrieve the admin token from the database
# Then initialize the admin agent with:
# "Initialize as an admin agent with this token: [admin-token] Please add the MCD.md file to the project context. Don't summarize it."

创建工人代理

工作代理是通过管理代理创建的:

  1. 要求管理员代理创建一个worker(例如,“创建一个ID为‘数据提取worker’的worker代理”)
  2. 管理员将提供一个worker令牌
  3. 使用提供的令牌初始化worker

工作流示例

  1. 项目初始化:

    • 定义研究区域、时间段和卫星数据源
  2. 数据提取:

    • 使用谷歌地球引擎提取HLS或Sentinel数据
    • 处理和规范化卫星图像
  3. 模型训练:

    • 用提取的数据训练PSETAE模型
    • 调整超参数以获得最佳性能
  4. 推断:

    • 将训练好的模型应用于新数据
    • 生成作物分类图
  5. 覆盖率分析:

    • 分析研究区域的卫星瓦片覆盖范围
    • 生成覆盖率报告

目录结构

mcp_server_psetae/
├── server/                  # MCP server implementation
├── agents/                  # Agent implementations
├── utils/                   # Utility functions
├── config/                  # Configuration files
├── docs/                    # Documentation
└── tests/                   # Test scripts

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • 隆德大学Shivaprakash Yaragal的PSETAE代码库
  • rinadelph代理MCP框架
  • Python API的谷歌地球引擎团队