joelcedric2/Fors8
GitHub: joelcedric2/Fors8
Fors8 是一个基于知识图谱和五万 AI 智能体蒙特卡洛模拟的地缘政治冲突预测引擎,通过实时 OSINT 和市场数据生成概率加权的事件走向报告。
Stars: 0 | Forks: 0
# Fors8 — 地缘政治冲突预测引擎
**OSINT 机构对这类分析收取六位数的费用。Fors8 使用 50,000 个 AI agent 免费完成。**
2025 年 3 月 27 日,Fors8 预测美国/以色列与伊朗的冲突将以僵局结束——被设定为西方保全面子的结果——持续 6-9 周。结果完全如预测般上演。
Fors8 构建了地缘政治实体(军队、政府、贸易路线、联盟)的知识图谱,然后在其上部署了具有特定角色的 AI 决策者,他们通过 Monte Carlo 运行来模拟冲突动态。最终输出是一份结构化的预测报告,包含结果概率、参与者层面的分析以及基于数据的置信度评分。
## 截图
### 知识图谱 — 612 个实体,1200+ 关系

*交互式 D3.js 知识图谱,展示了地缘政治实体(IRGC、CENTCOM、霍尔木兹海峡、民族国家)及其关系。节点按类型进行颜色编码:军事、政治、经济、地理。*
### 分割视图 — 图谱 + 预测报告

*工作区布局,左侧为知识图谱,右侧为生成的预测报告。分析师可以在阅读模拟输出的同时探索实体关系。*
### 预测报告 — “谁赢了?”分析

*完整的预测报告,包含概率加权结果、升级路径和基于 agent 模拟共识生成的战略评估。*
### 结果概率与参与者结果

*结果概率分布和按参与者划分的结果表,展示了每个国家和组织在不同模拟运行中的表现。*
## 功能
- **知识图谱 (Zep GraphRAG)** — 从 OSINT 来源提取的 612+ 实体和 1,200+ 关系,构成了 agent 推理的结构支柱
- **50K Agent 社会模拟** — 遍布 18 个国家的 agent 在论坛中互动,建立联盟,并根据传入的数据转变立场
- **15 个特定角色的 AI 决策者** — 将军、外交官、能源交易员、国家元首和情报官员,各自具备适合其领域的推理能力
- **Monte Carlo 模拟** — 可配置的运行次数以确保统计置信度;结果在数百次模拟过程中汇总
- **数据基础验证** — 针对已解决的预测进行 Brier score 跟踪,以衡量并改善随时间推移的校准情况
- **实时 OSINT 摄取** — GDELT 事件流、新闻 API 和社交媒体监控将实时数据输入到模拟中
- **市场数据集成** — 通过 yfinance 获取石油期货、国防板块股票、GCC 股票市场和航运费率指数
- **历史基础概率** — 以过去地缘政治事件的经验频率为基准校准预测
- **Polymarket 集成** — 使用预测市场赔率作为校准基线和外部共识基准
- **图谱衍生角色** — 基于图谱结构生成(MiroFish 风格)的 agent 个性与决策框架,而非硬编码
## 架构
```
Frontend (Vue 3 + Vite) Backend (Python / Flask)
+-----------------------+ +---------------------------+
| D3.js Knowledge Graph |<------>| Flask API |
| Prediction Reports | | PostgreSQL (persistence) |
| Chat Interface | | Zep Cloud (GraphRAG) |
| Settings / GPU Mgmt | | OSINT Scrapers |
+-----------------------+ | Agent Simulation Engine |
| Market Data Service |
+---------------------------+
|
v
+---------------------------+
| Inference (Ollama) |
| Vast.ai GPU Cluster |
| 2x A100 recommended |
+---------------------------+
```
| 层级 | 技术栈 |
|-----------|-------------------------------------------------|
| 前端 | Vue 3, Vite, D3.js |
| 后端 | Python, Flask, PostgreSQL, Zep Cloud |
| 推理 | Vast.ai GPU 上的 Ollama(推荐 2x A100) |
| 数据 | GDELT, yfinance, Polymarket API, 新闻抓取器 |
## 快速开始
### 后端
```
cd backend
pip install -r requirements.txt
cp ../.env.example ../.env # Configure API keys (see below)
python run.py
```
### 前端
```
cd frontend
npm install
npm run dev
```
默认情况下,前端运行在 `http://localhost:5173`,后端 API 运行在 `http://localhost:5000`。
## 配置 (.env)
以下环境变量是必需的:
| 变量 | 描述 |
|-----------------|-----------------------------------------------------|
| `LLM_API_KEY` | LLM 提供商的 API key |
| `LLM_BASE_URL` | LLM endpoint 的 Base URL |
| `ZEP_API_KEY` | 用于 GraphRAG 的 Zep Cloud API key |
| `VASTAI_API_KEY` | 用于 GPU 配置的 Vast.ai API key |
| `VLLM_ENDPOINT` | vLLM / Ollama 推理服务器的 Endpoint URL |
| `VLLM_MODEL` | 模型标识符(例如,`qwen2.5:32b`) |
**绝不将 API key 提交到版本控制中。** 使用 `.env` 文件并确保 `.env` 已被列入 `.gitignore`。
## GPU 要求
| 规格 | 详情 |
|-------------|--------------------------------------|
| 最低要求 | 总计 80 GB+ VRAM 的 2x GPU |
| 推荐 | 2x A100 (80 GB) 或 2x A800 |
| 模型 | 通过 Ollama 使用 `qwen2.5:32b` |
**不要使用单个 GPU。** 长 context 的 agent 模拟会在单张 80 GB 显卡上发生 OOM。系统期望至少有两块 GPU 并使用 tensor 并行。
## License
MIT
标签:AI智能体, AI风险缓解, ESC4, OSINT, 代码示例, 仿真模拟, 地缘政治, 数据分析, 测试用例, 逆向工具, 预测分析