SwarnadiptaDas/APIE
GitHub: SwarnadiptaDas/APIE
基于 LangGraph 多 Agent 架构的 AI 事件响应平台,通过自动化的日志追踪关联、根因假设生成和一键纠正措施,将生产系统平均恢复时间从 45 分钟缩短至 8 分钟以内。
Stars: 0 | Forks: 0
# 自主生产事件工程师 🚨🤖
一个 AI 驱动的可靠性系统,可自动调查和诊断生产系统故障。将事件响应时间从 45 分钟以上缩短至 8 分钟以内。
[](.github/workflows/ci.yml)
[](#)
[](#)
## 问题陈述
当生产系统发生故障时,SRE 平均需要花费 45 分钟的时间来关联日志、追踪错误、查询指标,并在采取行动之前构建故障的心智模型。**该平台自动化了整个流程**,通过自主的多 agent 分析和一键式纠正措施,将 MTTR(平均恢复时间)缩短至 8 分钟以内。
## 技术栈
* **后端:** Python 3.11, FastAPI, LangGraph, LangChain, scikit-learn
* **数据库:** SQLite(指标 + 事件,零安装),ChromaDB(向量 RAG,零安装)
* **消息传递:** Python `asyncio.Queue`(零安装的进程内缓冲区)
* **前端:** React 18, TypeScript, Tailwind CSS, Recharts, Material-UI
* **基础设施:** 在 Windows 上完全原生运行 — 无需 Docker,无需外部数据库
## 架构图
```
graph TD
A[OpenTelemetry Exporters] -->|Logs, Traces, Metrics| B(Telemetry Collector)
B -->|"Metrics & Traces (aiosqlite)"| C[(SQLite local_data.db)]
B -->|"Semantic Logs (ChromaDB)"| D[(ChromaDB local_chroma_db)]
B -->|"In-Process Buffer"| E[asyncio.Queue]
C -->|"SQL Query (aiosqlite)"| F(Anomaly Detection Service)
F -->|ML Isolation Forest| F
F -->|"HTTP POST /incidents/internal_trigger"| G(AI Incident Agent)
subgraph LangGraph Multi-Agent System
G1[Investigator] --> G2[Hypothesis]
G2 --> G3[Validator]
G3 --> G4[Reporter]
end
G --> G1
D -.->|"RAG Past Incidents (ChromaDB)"| G2
G -->|"SQLite read/write"| C
G --> H(React Dashboard)
H -->|One-Click Action| I["Corrective Action
(Kubernetes or Simulated)"]
```
## 功能特性
1. **实时异常检测**:scikit-learn Isolation Forest 模型可持续检测多变量偏差(延迟、错误、CPU、内存)——在启动时以合成的基线数据进行初始化。
2. **多源证据关联**:自动将日志、分布式 trace 和指标提取到统一的时间窗口中。
3. **根因假设生成**:基于关联的证据,利用 LLM 生成前 3 个可能的根因。
4. **置信度验证**:自动将假设与 trace 时间及日志模式进行交叉核对,以对置信度进行评分。
5. **自动生成事件报告**:生成包含底层数据引用的专业复盘报告。
6. **一键纠正措施**:直接从仪表盘执行 K8s 命令(例如,重启服务、扩容、清除缓存)。
7. **历史事件知识库**:RAG(检索增强生成)利用本地 ChromaDB 从过去已解决的事件中学习,并建议经过验证的修复方案。
## 快速开始(零基础设施本地运行)
该应用程序完全在 Windows 上原生运行,具有**零外部软件依赖**。它使用轻量级的嵌入式数据库:
- **SQLite**:在本地存储指标、trace 和事件元数据(`local_data.db`)。
- **ChromaDB**:为日志和事件历史记录运行向量嵌入(`local_chroma_db`)。
- **Python `asyncio.Queue`**:在本地缓冲传入的指标。
要运行该应用程序:
1. 在根目录的 `.env` 文件中配置你的 Groq API 密钥。
2. 执行 PowerShell 运行脚本。这将安装所有 Python 和 Node.js 依赖,并原生启动全部 4 个服务:
.\scripts\run_all_native.ps1
## API 文档
该平台公开了两个主要的 API:
- **Telemetry API**:[http://localhost:8001/docs](http://localhost:8001/docs)(OTLP 摄取和查询)
- **AI Agent API**:[http://localhost:8000/docs](http://localhost:8000/docs)(事件编排和 WebSocket 订阅源)
## 评估指标
该项目使用 CI 门控评估,以确保 AI 的诊断准确性符合生产标准:
- **检测准确性**:Precision > 90%,Recall > 85%
- **根因准确性**:Top-1 假设与实际根因匹配率 > 70%
- **置信度校准**:高置信度(80+)的假设正确率 > 85%
- **响应时间**:在异常检测后的 3 分钟内完成全面分析
*(使用 `pytest tests/ -v` 在本地运行测试)*
## - 作者:Swarnadipta Das
B.Tech | CSE(AI & ML)
标签:API集成, LangGraph, 可观测性, 智能运维, 用户代理, 计算机取证, 逆向工具