SwarnadiptaDas/APIE

GitHub: SwarnadiptaDas/APIE

基于 LangGraph 多 Agent 架构的 AI 事件响应平台,通过自动化的日志追踪关联、根因假设生成和一键纠正措施,将生产系统平均恢复时间从 45 分钟缩短至 8 分钟以内。

Stars: 0 | Forks: 0

# 自主生产事件工程师 🚨🤖 一个 AI 驱动的可靠性系统,可自动调查和诊断生产系统故障。将事件响应时间从 45 分钟以上缩短至 8 分钟以内。 [![CI/CD Pipeline](https://img.shields.io/badge/CI%2FCD-Passing-brightgreen?style=flat-square&logo=githubactions)](.github/workflows/ci.yml) [![Python 3.11](https://img.shields.io/badge/Python-3.11-blue?style=flat-square&logo=python)](#) [![React 18](https://img.shields.io/badge/React-18-blue?style=flat-square&logo=react)](#) ## 问题陈述 当生产系统发生故障时,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, 可观测性, 智能运维, 用户代理, 计算机取证, 逆向工具