Skip to content

下水石头以一种奇怪的方式运行起来的项目

Notifications You must be signed in to change notification settings

coooooooool123/PlanReplanWorkReact

 
 

Repository files navigation

空地智能体系统

一个基于 Plan-to-Execute 架构的智能地理空间分析系统,专门用于军事单位部署选址等复杂地理空间分析任务。系统融合了 知识图谱增强推理自适应规划工具链式执行 等能力,能够理解自然语言任务、自动规划执行流程、智能调用工具并持续优化策略。

🎯 核心能力

1. 自然语言理解与智能规划

  • 理解用户自然语言描述的地理空间分析需求
  • 基于知识图谱检索相关规则和经验,生成详细的执行计划
  • 支持多任务自动拆分(如"无人机和步兵分别应该部署在哪"),为每个单位生成独立计划
  • 自动确定每个步骤的具体筛选参数(缓冲区距离、高程范围、坡度范围等)

2. 知识图谱增强推理

  • 基于 OpenSPG KAG 框架构建结构化知识图谱
  • 从原始文本自动抽取实体和关系,构建领域知识库
  • 智能检索:结合语义相似度和关键词匹配,精准定位相关规则
  • 推理问答:基于知识图谱进行结构化推理,提供可溯源的答案

3. 自适应执行与错误恢复

  • Plan-to-Execute 架构:规划阶段确定具体参数,执行阶段直接使用
  • 自动错误恢复:执行失败时自动分析原因并重新规划(最多3次)
  • 用户反馈驱动:支持用户审查计划并提出修改意见,系统据此调整
  • 工具链式调用:自动识别工具依赖关系,前序工具输出自动作为后续工具输入

4. 前后端分离架构

  • RESTful API 服务,支持多客户端接入
  • Web 界面提供完整的任务流程管理
  • 交互式 API 文档,便于集成和测试

🏗️ 系统架构

┌─────────────────────────────────────────┐
│        前端层 (Streamlit)                │
│  任务流程 | 历史结果 | 知识图谱可视化     │
└────────────────┬────────────────────────┘
                 │ HTTP/REST API
┌────────────────▼────────────────────────┐
│         API服务层 (FastAPI)              │
│   任务规划 | 执行 | 知识图谱查询          │
└────────────────┬────────────────────────┘
                 │
┌────────────────▼────────────────────────┐
│      智能体核心层 (Orchestrator)         │
│  ┌──────────┐  ┌──────────┐  ┌────────┐│
│  │ 规划模块 │  │重新规划   │  │执行模块││
│  └────┬─────┘  └────┬─────┘  └────┬───┘│
│       └─────────────┴──────────────┘    │
│              │                           │
│    ┌─────────▼─────────┐                │
│    │  上下文管理器      │                │
│    │  - 知识图谱检索    │                │
│    │  - KAG推理问答     │                │
│    └─────────┬─────────┘                │
└──────────────┼──────────────────────────┘
               │
┌──────────────▼──────────────────────────┐
│           工具执行层                      │
│  缓冲区筛选 | 高程筛选 | 坡度筛选 | 植被筛选│
└──────────────┬──────────────────────────┘
               │
┌──────────────▼──────────────────────────┐
│         数据与知识层                      │
│  地理数据 | KAG知识图谱                   │
└──────────────────────────────────────────┘

🔄 工作流程

Plan-to-Execute 流程

用户任务输入
    │
    ▼
┌─────────────┐
│  规划阶段   │ ◄── 知识图谱检索
│             │     生成包含具体参数的计划
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  用户审查   │ ◄── 可选:提出修改意见
│  (可选)     │
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  执行阶段   │ ◄── 直接使用计划中的参数
│             │     工具链式调用
└──────┬──────┘
       │
       ├── 成功 ──► 输出结果
       │
       └── 失败 ──► 自动重新规划(最多3次)

📦 主要功能

智能体任务流程

  • 任务输入:自然语言描述分析需求
  • 计划生成:基于知识图谱检索,生成包含具体参数的执行计划
  • 计划审查:查看计划详情、筛选步骤、LLM思考过程、知识库推理结果
  • 计划执行:自动调用工具链,生成GeoJSON结果文件
  • 结果展示:交互式地图可视化,支持多任务分标签展示

知识图谱管理

  • 知识构建:基于KAG框架从文本自动抽取实体和关系
  • 知识检索:语义+关键词混合检索,精准匹配相关规则
  • 推理问答:基于知识图谱进行结构化推理
  • 可视化展示:实体-关系图可视化,支持筛选和搜索

历史结果管理

  • 查看所有历史执行结果
  • 下载GeoJSON文件
  • 在地图上查看结果

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 启动系统

python main.py

这将同时启动:

3. 使用示例

通过前端界面

  1. 打开浏览器访问 http://localhost:8501
  2. 在"智能体任务"标签页输入任务,例如:
    帮我找找无人机可以部署在哪里、坦克可以部署在哪里、步兵可以部署在哪里
    
  3. 系统将自动:
    • 检索相关部署规则
    • 生成执行计划
    • 等待您审查和确认
    • 执行计划并输出结果

通过API接口

# 生成计划
curl -X POST "http://localhost:8000/api/plan" \
  -H "Content-Type: application/json" \
  -d '{"task": "为步兵寻找合适的部署位置"}'

# 执行计划
curl -X POST "http://localhost:8000/api/execute" \
  -H "Content-Type: application/json" \
  -d '{"plan": {...}}'

🛠️ 技术栈

  • 后端框架: FastAPI
  • 前端框架: Streamlit
  • 知识图谱: OpenSPG KAG SDK
  • 嵌入模型: BAAI/bge-large-zh-v1.5
  • 地理空间处理: geopandas, shapely, rasterio
  • 地图可视化: Folium, pyvis

📝 设计理念

职能分离

  • 规划阶段:负责理解任务、检索知识、确定具体参数
  • 执行阶段:直接使用计划中的参数,无需重新推断
  • 重新规划:根据反馈或执行失败调整参数

知识增强

  • 基于结构化知识图谱而非纯文本检索
  • 支持推理问答,提供可溯源的答案
  • 知识图谱可视化,便于理解和调试

自适应优化

  • 执行失败时自动分析原因并重新规划
  • 支持用户反馈驱动的计划调整
  • 最多3次自动重试机制

📄 许可证

MIT License

About

下水石头以一种奇怪的方式运行起来的项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Other 0.3%