移动检索与反射代理
基于图检索增强生成(GraphRAG)和多代理反射的智能移动分析
</div>MRRA 是一个前沿的 Python 包,通过融合 GraphRAG(基于图的检索增强生成)和 多代理反射,彻底改变了移动轨迹分析。只需提供包含 user_id、timestamp、latitude 和 longitude 列的轨迹数据,即可解锁对未来位置、未来定位以及完整日常路线的智能预测。
pip install mrra
git clone https://github.com/AoWangg/mrra.git
cd mrra
pip install -e .
# 用于 MCP 工具集成
pip install mrra[mcp]
# 用于开发
pip install mrra[dev]
import pandas as pd
from mrra.data.trajectory import TrajectoryBatch
from mrra.retriever.graph_rag import GraphRAGGenerate
from mrra.agents.builder import build_mrra_agent
# 📊 准备您的轨迹数据
df = pd.DataFrame({
'user_id': ['user_1', 'user_1', 'user_1'],
'timestamp': ['2023-01-01 09:00:00', '2023-01-01 12:00:00', '2023-01-01 18:00:00'],
'latitude': [31.2304, 121.4737, 31.2404],
'longitude': [121.4737, 31.2504, 121.4937],
})
# 🔄 创建轨迹批次和检索器
tb = TrajectoryBatch(df)
retriever = GraphRAGGenerate(tb=tb)
# 🤖 构建 MRRA 代理
agent = build_mrra_agent(
llm={
"provider": "openai-compatible",
"model": "qwen-plus",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"api_key": "YOUR_API_KEY" # 生产中使用环境变量
},
retriever=retriever,
reflection={
"max_round": 3,
"subAgents": [
{"name": "temporal", "prompt": "时间推理专家", "mcp": {"weather": {}}},
{"name": "spatial", "prompt": "空间分析专家", "mcp": {"maps": {}}},
{"name": "pattern", "prompt": "行为模式分析师", "mcp": {}},
],
"aggregator": "confidence_weighted_voting"
}
)
# 🎯 进行预测
result = agent.invoke({
"task": "next_position",
"user_id": "user_1",
"t": "2023-01-02 09:30:00"
})
print(result)
# 🗺️ 配置真实世界服务
reflection_config = {
"subAgents": [
{
"name": "spatial",
"prompt": "具有实时地图数据的空间分析专家",
"mcp": {
"gmap": {
"url": "https://mcp.amap.com/sse?key=YOUR_AMAP_KEY",
"transport": "sse"
}
}
}
]
}
| 任务 | 描述 | 输入 | 输出 |
|---|---|---|---|
next_position | 在给定时间之后预测下一个位置 | user_id, t | 下一个坐标预测 |
future_position | 预测特定未来的地点 | user_id, t | 未来坐标预测 |
full_day_traj | 生成完整的日常轨迹 | user_id, date | 全天路线序列 |
user_id:每个用户的唯一标识符timestamp:ISO 格式的时间戳(例如,“2023-01-01 09:00:00”)latitude:纬度坐标(浮点数)longitude:经度坐标(浮点数)MRRA 支持多种 MCP 集成策略,并具有优雅的回退机制:
langchain-mcp-adapters(推荐)langchain-mcp 工具包# 🌟 GeoLife 数据集演示
python scripts/verify_geolife.py
# 🔍 检索器测试
python scripts/check_retriever.py
我们欢迎贡献!请参阅我们的 贡献指南 获取详细信息。
# 创建环境
conda create -n mrra-dev python=3.10
conda activate mrra-dev
# 开发模式安装
pip install -e .[dev]
# 运行测试
pytest
# 代码格式化
ruff format .
ruff check .
本项目采用 MIT 许可证 - 详情见 LICENSE 文件。
站在巨人的肩膀上: