Heroic2024/ProdGuard-RL

GitHub: Heroic2024/ProdGuard-RL

ProdGuard-RL 是一个模拟真实 DevOps 运维场景的强化学习环境,旨在训练和评估 AI 智能体进行故障排查与事件响应的能力。

Stars: 1 | Forks: 0

## 标题: ProdGuard-RL emoji: 🔧 colorFrom: blue colorTo: green sdk: docker app_file: app.py pinned: false # ProdGuard-RL ProdGuard-RL 是一个用于生产系统事件响应的交互式强化学习环境。 它模拟了真实的 DevOps 分诊工作流程,其中代理必须调查嘈杂的信号、采取纠正措施, 并在部分可观测性下识别根本原因。 该项目旨在: - 在现实的多步骤事件中评估基于 LLM 和基于策略的响应程序。 - 对决策质量、效率和诊断置信度进行基准测试。 - 部署为同时具有 API 和 Web 界面的 Hugging Face Docker Space。 ## 核心理念 每个回合都会提供一个警报和有限的遥测数据。代理可以: - 检查特定服务的日志和指标。 - 应用修复操作(重启、扩容、回滚)。 - 声明根本原因并给出置信度。 奖励机制鼓励良好的运维行为: - 快速、相关的调查。 - 正确的修复顺序。 - 准确的根本原因声明。 - 最少的不必要操作。 ## 包含内容 - 带有环境端点的 FastAPI 后端: - GET /health - GET /tasks - POST /reset - POST /step - GET /state - 位于 GET / 的浏览器前端 - 确定性场景:简单、中等、困难 - 用于可重现交互契约的类型化操作/状态模型 - 用于基准测试风格多任务评估的推理运行器 ## 项目结构 - app.py:Docker/Space 入口点 FastAPI 应用程序 - env.py:环境引擎和回合生命周期 - scenarios/:场景定义和任务目录 - inference.py:具有结构化日志的基准运行器 - grader.py:确定性评分工具 - frontend/:用于交互式控制室的浏览器 UI - server.py:本地开发服务器模块 ## 环境 API - POST /reset - 输入:任务选择器 - 输出:初始观察/状态 - POST /step - 输入:代理操作 payload - 输出:下一个状态、奖励、完成状态和元数据 - GET /state - 输出:当前观察快照 - GET /tasks - 输出:可用任务 - GET /health - 输出:服务存活状态 ## 运行应用程序 1. 激活虚拟环境 - PowerShell:.\.venv\Scripts\Activate.ps1 2. 安装依赖 - pip install -r requirements.txt 3. 启动本地 API + UI 服务器 - python server.py 4. 打开 UI - http://127.0.0.1:8000 ## 运行基准推理 1. 启动服务器(如果尚未运行) - python server.py 2. 运行推理基准 - python inference.py 运行器会针对每个任务输出结构化日志: - [START] 任务元数据 - [STEP] 操作、奖励、完成状态、错误 - [END] 成功状态、步数、分数、奖励轨迹 ## Hugging Face Space 🤗 此仓库已配置用于基于 Docker 的 Hugging Face Space 部署。 主要部署命令: - openenv push --repo-id HeroicCoder168/ProdGuardRL 部署后: - 运行时应用 URL:https://heroiccoder168-prodguardrl.hf.space - Space 页面:https://huggingface.co/spaces/HeroicCoder168/ProdGuardRL ## 快速 API 健全性检查 在服务器运行时,在另一个 PowerShell 终端中运行这些命令。 1. Health - Invoke-RestMethod http://127.0.0.1:8000/health 2. Tasks - Invoke-RestMethod http://127.0.0.1:8000/tasks 3. Reset (easy) - Invoke-RestMethod -Method Post -Uri http://127.0.0.1:8000/reset -ContentType application/json -Body '{"task":"easy"}' 4. Step - Invoke-RestMethod -Method Post -Uri http://127.0.0.1:8000/step -ContentType application/json -Body '{"action":"check_logs","service":"db"}' 5. State - Invoke-RestMethod http://127.0.0.1:8000/state ## 端到端回合检查 此序列应完成一个简单回合并返回 done=True 和分数。 PowerShell: $base='http://127.0.0.1:8000' Invoke-RestMethod -Method Post -Uri "$base/reset" -ContentType 'application/json' -Body '{"task":"easy"}' | Out-Null Invoke-RestMethod -Method Post -Uri "$base/step" -ContentType 'application/json' -Body '{"action":"check_metrics","service":"db"}' | Out-Null Invoke-RestMethod -Method Post -Uri "$base/step" -ContentType 'application/json' -Body '{"action":"check_logs","service":"db"}' | Out-Null Invoke-RestMethod -Method Post -Uri "$base/step" -ContentType 'application/json' -Body '{"action":"restart_service","service":"db"}' | Out-Null $final = Invoke-RestMethod -Method Post -Uri "$base/step" -ContentType 'application/json' -Body '{"action":"declare_root_cause","cause":"database outage","confidence":0.92}' $final 预期: - $final.done 为 True - $final.info.score 存在
标签:AIOps, Apex, API, AV绕过, Docker, FastAPI, Hugging Face, LLM, Python, Unmanaged PE, 事故响应, 人工智能, 仿真环境, 决策评估, 告警管理, 多模态安全, 大模型, 安全防御评估, 强化学习, 指标分析, 故障排查, 无后门, 智能运维, 机器学习, 根因分析, 用户模式Hook绕过, 监控, 自动化运维, 请求拦截, 运维, 逆向工具