Noaharon11/IncidentMemoryAI
GitHub: Noaharon11/IncidentMemoryAI
IncidentMemoryAI 是一个利用 RAG 和 LLM 推理的运维事件响应辅助工具,通过将新警报与历史事件上下文进行匹配来生成包含操作建议的调查报告。
Stars: 0 | Forks: 0
# IncidentMemoryAI
IncidentMemoryAI 是一个用于事件响应决策支持的 Python 作品集项目。
它接收自由文本的事件警报,搜索合成的历史事件邮件线程,并生成包含建议后续步骤的事件调查报告。
## 它解决的问题
事件响应人员通常需要快速回答以下问题:
- 以前发生过类似的事情吗?
- 是哪个团队处理的?
- 根本原因是什么?
- 我们现在应该采取什么行动?
- 这是真正的升级还是预期的维护行为?
IncidentMemoryAI 帮助运维人员将新警报与历史事件上下文进行比较,并将该上下文转化为以行动为导向的调查报告。
## 功能
- 自由文本事件警报输入
- 本地 JSON 事件邮件线程数据集
- 关键词搜索回退
- 使用 sentence-transformers 和 ChromaDB 的可选语义搜索
- 配置 `OPENAI_API_KEY` 后,提供由 OpenAI 驱动的事件调查报告
- OpenAI 不可用时的基于规则的回退机制
- 具有时间感知能力的维护窗口检测
- CLI 工作流
- Streamlit Web UI
- 在建议下方显示相似的历史事件
## 技术栈
- Python
- Streamlit
- OpenAI Python SDK
- python-dotenv
- sentence-transformers
- ChromaDB
- JSON 演示数据
## 安装
安装依赖项:
```
pip install -r requirements.txt
```
从 `.env.example` 创建一个 `.env` 文件:
```
OPENAI_API_KEY=
OPENAI_MODEL=gpt-4o-mini
```
如果没有 OpenAI key,应用程序可以通过使用基于规则的回退机制正常工作。
## 运行 CLI
```
python app.py
```
在 Windows 上使用自带的虚拟环境:
```
.\.venv\Scripts\python.exe app.py
```
## 运行 Streamlit UI
推荐方式:
```
python run.py
```
在 Windows 上使用自带的虚拟环境:
```
.\.venv\Scripts\python.exe run.py
```
你也可以直接运行 Streamlit:
```
streamlit run ui.py
```
或者:
```
.\.venv\Scripts\python.exe -m streamlit run ui.py
```
## 演示数据
`data/email_threads.json` 中的所有事件邮件均为合成的演示数据。它们不是真实的客户、商家、提供商或内部公司电子邮件。
## 未来路线图
- 添加结构化的事件严重程度和影响范围字段
- 为自然语言警报时间添加更丰富的时间戳解析
- 缓存 semantic embeddings,而不是在每次运行时都重新构建索引
- 为搜索、维护检测和回退报告添加测试
- 添加导出为 Markdown 或 PDF 的功能
- 添加对上传新的历史事件线程的支持
- 为推荐质量添加评估示例
标签:Kubernetes, LLM, Python, RAG, Streamlit, Unmanaged PE, 人工智能, 无后门, 用户模式Hook绕过, 访问控制, 运维, 逆向工具