opengeos/GeoAgent
A multimodal AI agent for geospatial data analysis and interactive visualization
解决的问题
GeoAgent 为地理空间 Python 包、实时地图组件和 QGIS 插件提供了一个共享的 AI Agent 层。通过集中化工具绑定、提供者配置和安全钩子等通用功能,消除了每个地理空间库都需要构建和维护其各自独立的 Agent 栈的需求。
工作原理
GeoAgent 构建在 Strands Agents 之上,作为一个外观层(facade),将大语言模型 (LLM) 与地理空间上下文(例如 QGIS 会话或 leafmap 对象)绑定在一起。它使用 @geo_tool 装饰器将 Python 函数转换为带有元数据的结构化工具。它提供专门的工厂(例如 for_leafmap、for_qgis),自动将工具集绑定到特定的地图环境。它支持广泛的模型提供者,包括 OpenAI、Anthropic、Google Gemini 以及通过 Ollama 或 vLLM 运行的本地模型。
适用对象
专为希望将 AI Agent 集成到其库或应用程序中的地理空间开发者,以及希望使用自然语言控制地图画布并执行地理空间分析的 GIS 用户而设计。
亮点
- 广泛的提供者支持:兼容 OpenAI、Anthropic、Gemini、Bedrock、OpenRouter、LiteLLM、vLLM 和 Ollama。
- 多平台集成:可在 QGIS、
leafmap、anymap和基于浏览器的 MapLibre 应用中运行。 - 安全机制:包含确认钩子,可以在执行破坏性或高成本操作之前暂停 Agent。
- 多模态能力:支持基于视觉的工作流,允许用户粘贴图像或截取地图画布的屏幕截图供 AI 分析。
- 可扩展的工具集:为 QGIS 项目管理、NASA OPERA 数据搜索和通用地图导航提供内置的工具接口。
相关
- 项目
- 项目
- 项目
- 项目
- 项目