WayneGB13/SURAKSHA-NETRA
GitHub: WayneGB13/SURAKSHA-NETRA
该项目是一个融合环境灾害与地缘政治冲突数据、利用大语言模型生成情报简报的 AI 驱动区域风险监控仪表板。
Stars: 0 | Forks: 0
# SURAKSHA-NETRA — AI 驱动的区域风险监控仪表板
SURAKSHA-NETRA 是一个先进的多 agent 安全与环境威胁情报平台,旨在监控印度的区域风险(重点关注**印度东北部**和**查谟与克什米尔 / 拉达克**)。
通过将开放的卫星衍生环境灾害数据(活跃火灾、洪水泛滥、降雨异常)与开源的地缘政治冲突指标(战斗、暴乱、抗议、平民暴力)相融合,该系统能够计算出综合的每周风险评级,利用 LLM 综合生成描述性监控报告,并通过带有检索增强查询机器人的交互式地理空间仪表板展示结果。
## 🏗️ 系统架构
下图说明了数据流经采集器、评分融合模型、生成式 LLM agent 以及检索增强向量索引,最终进入 Streamlit 仪表板的流程:
```
graph TD
classDef agent fill:#1e293b,stroke:#38bdf8,stroke-width:2px,color:#fff;
classDef storage fill:#0f172a,stroke:#475569,stroke-width:1px,color:#94a3b8;
classDef api fill:#0284c7,stroke:#0369a1,stroke-width:1px,color:#fff;
subgraph Data Sources
NASA[NASA FIRMS API]:::api
ACLED[ACLED API]:::api
MONSOON[Monsoon & Flood Simulator]:::api
end
subgraph Phase 1: Data Collectors
EC[Environmental Collector]:::agent
CC[Conflict Collector]:::agent
CACHE[(Local File Cache)]:::storage
end
subgraph Raw Data Storage
RAW_ENV[(data/raw/environmental/)]:::storage
RAW_CONF[(data/raw/conflict/)]:::storage
end
subgraph Phase 2: Scoring & Fusion
FA[Fusion Agent]:::agent
RS[Risk Scoring Model]:::agent
AD[Anomaly Detector]:::agent
SCORES[(weekly_scores.csv)]:::storage
end
subgraph Phase 3: GenAI Layer
RA[Report Agent]:::agent
GEMINI[Google Gemini API]:::api
DOC_EMB[Document Embedder]:::agent
CHROMA[(Chroma Vector DB)]:::storage
QA_AGENT[Query Agent]:::agent
end
subgraph Dashboard
ST[Streamlit Dashboard]:::agent
end
NASA --> EC
MONSOON --> EC
ACLED --> CC
EC <--> CACHE
CC <--> CACHE
EC --> RAW_ENV
CC --> RAW_CONF
RAW_ENV --> FA
RAW_CONF --> FA
FA --> RS
RS --> AD
AD --> SCORES
SCORES --> RA
RAW_ENV --> RA
RAW_CONF --> RA
RA <--> GEMINI
RA -->|Weekly Briefs| DOC_EMB
RAW_CONF -->|Conflict Events| DOC_EMB
DOC_EMB --> CHROMA
CHROMA <--> QA_AGENT
QA_AGENT <--> GEMINI
ST <--> QA_AGENT
ST <--> SCORES
ST -->|Pipeline Triggers| FA
```
## 📁 仓库结构
```
suraksha-netra/
├── config/
│ └── regions.yaml # Region bounding boxes (NE India, J&K)
├── data/
│ ├── cache/ # API response caches for rate-limiting protection
│ ├── processed/ # Computed weekly risk scores & historical normalizer bounds
│ └── raw/ # Downloaded raw CSV records (fires, floods, conflicts)
├── agents/
│ ├── collector_environmental.py
│ ├── collector_conflict.py
│ ├── fusion_agent.py
│ ├── report_agent.py
│ └── query_agent.py
├── ml/
│ ├── risk_scoring.py
│ └── anomaly_detection.py
├── rag/
│ ├── vector_store.py # Custom Gemini embedding functions & Chroma store manager
│ └── embed_documents.py # Indexes weekly reports and raw events
├── dashboard/
│ └── app.py # Streamlit dashboard interface (maps, charts, QA bot)
├── scheduler/
│ └── run_pipeline.py # Central orchestration entrypoint
├── docs/
│ └── weekly_reports/ # Generated AI Weekly briefs (markdown format)
├── requirements.txt # Python dependencies
├── .env # Local API secrets
└── .env.example # Secrets configuration template
```
## ⚙️ 设置与安装
### 1. Python 环境设置
我们建议使用 **Python 3.11** 或 **3.13** 来运行该项目。
克隆仓库并安装依赖项:
```
# 创建虚拟环境
python -m venv venv
venv\Scripts\Activate.ps1
# 安装 requirements
pip install -r requirements.txt
```
### 2. 环境变量配置
在根目录下将 `.env.example` 复制为 `.env`:
```
Copy-Item .env.example .env
```
打开 `.env` 并配置以下变量:
- `NASA_FIRMS_MAP_KEY`: 从 NASA FIRMS API 获取的免费 map token。
- `ACLED_EMAIL` & `ACLED_KEY`: 在 ACLED 注册以获取您的邮箱和免费的学术/非商业 API key。(如果凭据留空,将生成基于历史趋势的模拟数据)。
- `GEMINI_API_KEY`: 从 Google AI Studio 免费层级获取的 API Key。
## 🚀 执行与使用
### 1. 执行数据 Pipeline Orchestrator
Orchestrator 会在单次执行循环中下载最新的数据流,运行风险评分数学引擎,生成 LLM 摘要,并将上下文嵌入到 Chroma DB 中。
运行自定义日期范围的 pipeline:
```
python scheduler/run_pipeline.py --start 2026-06-26 --end 2026-07-10
```
*注意:如果未指定日期,系统将查询截至 7 天前结束的滚动 14 天时间窗口,以确保近实时遥测记录已稳定。*
### 2. 运行 Streamlit 仪表板
启动交互式 Web 门户:
```
streamlit run dashboard/app.py
```
在浏览器中打开 `http://localhost:8501`。
该仪表板提供:
- **风险概览**:关键指标和显示火灾/冲突集群的交互式地图。
- **环境灾害**:与基线平均值相比的降雨异常和洪水泛滥趋势。
- **地缘政治威胁**:FATALITIES 日志、参与者分析以及冲突类型饼图。
- **RAG 助手**:浏览 AI 生成的简报并提出自然语言威胁监控问题。
### 3. 运行验证测试
验证每个单独阶段是否正常运行:
```
# Phase 1: API 连接和原始检索检查
python test_collectors.py
# Phase 2: 风险评分公式和异常触发器验证
python test_scoring.py
# Phase 3: ChromaDB vector store 索引和查询合成检查
python test_rag.py
```
## 📄 许可证
该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](file:///c:/SURAKSHA NETRA/LICENSE) 文件。
标签:AI智能体, DLL 劫持, Kubernetes, RAG, 地理空间可视化, 大语言模型, 威胁情报, 开发者工具, 数据融合, 逆向工具