Spaces:
Sleeping
Sleeping
| title: AgentTriage AMD Developer Cloud | |
| emoji: π΄ | |
| colorFrom: red | |
| colorTo: blue | |
| sdk: docker | |
| pinned: false | |
| # π΄ AgentTriage β Agentic SRE Incident Response on AMD Developer Cloud | |
| > Multi-agent log triage system that autonomously diagnoses production incidents using AMD-hosted LLMs and a LangGraph-powered agent pipeline. | |
| Built for the **AMD Developer Cloud Hackathon β Track 1: AI Agents & Agentic Workflows** | |
| π **[Try the Live Demo](https://OGrohit-agentic-triage-amd.hf.space)** | |
| --- | |
| ## π What Is This? | |
| AgentTriage is a production-grade agentic system where an AI agent pipeline automatically triages software incidents β the same work a human Site Reliability Engineer (SRE) does when production goes down. | |
| When something breaks in production (a server crashes, a database causes a cascade failure, or a service silently degrades), engineers need to: | |
| 1. Diagnose the severity (P1/P2/P3) | |
| 2. Identify the root cause (which service/component) | |
| 3. Decide on remediation (restart, kill-query, flush-cache) | |
| 4. Escalate to the right team | |
| AgentTriage automates this entire workflow using a **multi-agent pipeline** running on **AMD Developer Cloud**. | |
| --- | |
| ## π§ How It Works | |
| ### The Environment (LogTriageEnv) | |
| A simulated microservice incident environment with a REST API interface (OpenEnv-compatible). The agent interacts via a reset β step loop, reads logs and service states, takes actions, and gets scored. | |
| **Three incident scenarios:** | |
| | Task | Difficulty | Noise | Incident Type | | |
| |---|---|---|---| | |
| | `single_crash` | Easy | 20% | Payment service NullPointerException | | |
| | `cascading_failure` | Medium | 30% | user-db slow query β auth β gateway cascade | | |
| | `silent_degradation` | Hard | 60% | Gradual payment-db latency increase (no crash) | | |
| ### The Agent Pipeline | |
| ``` | |
| Incoming Logs + Service State | |
| β | |
| [PLANNER AGENT] | |
| Reads logs, decides strategy | |
| β | |
| [EXECUTOR AGENT] | |
| Takes triage actions step-by-step | |
| classify_severity β identify_root_cause β remediate β resolve | |
| β | |
| [SUMMARIZER AGENT] | |
| Produces structured incident report | |
| β | |
| Episode Score (0.0 β 1.0) | |
| ``` | |
| All agents powered by **AMD Developer Cloud** (Qwen2.5-72B on MI300X) with Groq fallback for the live demo. | |
| --- | |
| ## ποΈ Architecture | |
| ``` | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| β AgentTriage System β | |
| β β | |
| β ββββββββββββββββ ββββββββββββββββββββββββ β | |
| β β LangGraph ββββββΆβ AMD Developer β β | |
| β β Agent Loop β β Cloud LLM API β β | |
| β β βββββββ Qwen2.5-72B β β | |
| β ββββββββ¬ββββββββ ββββββββββββββββββββββββ β | |
| β β β | |
| β ββββββββΌββββββββ β | |
| β β LogTriage β β | |
| β β Environment β β | |
| β β (FastAPI) β β | |
| β ββββββββ¬ββββββββ β | |
| β β β | |
| β ββββββββΌββββββββββββββββββββββββββββββββββββ β | |
| β β Scenario Engine β β | |
| β β single_crash | cascading | silent_degradeβ β | |
| β ββββββββ¬ββββββββββββββββββββββββββββββββββββ β | |
| β β β | |
| β ββββββββΌββββββββ β | |
| β β Grader β β Episode Score (0.0β1.0) β | |
| β ββββββββββββββββ β | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| ``` | |
| --- | |
| ## π οΈ Tech Stack | |
| | Layer | Technology | | |
| |---|---| | |
| | Agent Framework | LangGraph | | |
| | LLM Backend | AMD Developer Cloud β Qwen2.5-72B on MI300X | | |
| | LLM Fallback | Groq β llama-3.3-70b-versatile | | |
| | Environment API | FastAPI + Uvicorn | | |
| | Data Validation | Pydantic v2 | | |
| | Containerization | Docker | | |
| | Environment Interface | OpenEnv-compatible (reset/step) | | |
| | Language | Python 3.11 | | |
| --- | |
| ## π Project Structure | |
| ``` | |
| agentic-triage-amd/ | |
| β | |
| βββ server/ # LogTriageEnv (environment core) | |
| β βββ app.py # FastAPI endpoints + UI routes | |
| β βββ environment.py # Core simulator (reset/step/state) | |
| β βββ models.py # Pydantic schemas | |
| β βββ log_generator.py # Log + service state generation | |
| β βββ scenarios/ | |
| β β βββ single_crash.py # Task 1: Payment service crash | |
| β β βββ cascading.py # Task 2: user-db cascade | |
| β β βββ silent_degrade.py # Task 3: Gradual latency degradation | |
| β βββ graders/ | |
| β βββ base_grader.py | |
| β βββ crash_grader.py | |
| β βββ cascade_grader.py | |
| β βββ silent_degrade_grader.py | |
| β | |
| βββ agents/ # Multi-agent pipeline | |
| β βββ planner.py # Reads logs, sets strategy | |
| β βββ executor.py # Step-by-step triage actions | |
| β βββ summarizer.py # Generates incident report | |
| β βββ pipeline.py # LangGraph orchestration | |
| β | |
| βββ static/ | |
| β βββ index.html # Judge-facing web UI | |
| β | |
| βββ amd_client.py # LLM client (AMD + Groq fallback) | |
| βββ run_agent.py # CLI entry point | |
| βββ Dockerfile | |
| βββ docker-compose.yml | |
| βββ requirements.txt | |
| βββ .env.example | |
| ``` | |
| --- | |
| ## βοΈ Setup & Running | |
| ### Option 1 β Docker (Recommended) | |
| ```bash | |
| git clone https://github.com/YOUR_USERNAME/agentic-triage-amd.git | |
| cd agentic-triage-amd | |
| cp .env.example .env | |
| # Add your GROQ_API_KEY or AMD_API_KEY to .env | |
| docker build -t agentic-triage-amd . | |
| docker run -p 7860:7860 --env-file .env agentic-triage-amd | |
| # Open http://localhost:7860 | |
| ``` | |
| ### Option 2 β Local Python | |
| ```bash | |
| pip install -r requirements.txt | |
| # Terminal 1 β environment server | |
| uvicorn server.app:app --host 0.0.0.0 --port 7860 | |
| # Terminal 2 β run agent on all 3 tasks | |
| python run_agent.py | |
| ``` | |
| --- | |
| ## π Environment Variables | |
| ```env | |
| # Use one of these β Groq for free tier, AMD for full power | |
| GROQ_API_KEY=your_groq_api_key | |
| GROQ_MODEL=llama-3.3-70b-versatile | |
| # AMD Developer Cloud VM | |
| AMD_API_KEY=your_amd_api_key | |
| AMD_BASE_URL=http://YOUR_VM_IP:8000/v1 | |
| AMD_MODEL=qwen | |
| ``` | |
| --- | |
| ## π§ͺ Scoring System | |
| Each task scored 0.0 β 1.0: | |
| | Action | Points | | |
| |---|---| | |
| | Correct severity classification | +0.30 | | |
| | Correct root cause identification | +0.35 | | |
| | Correct remediation command | +0.25 | | |
| | Speed bonus (within step threshold) | +0.10 | | |
| | Wrong escalation | -0.10 | | |
| | Ignoring a P1 incident | -0.50 | | |
| | Symptom identified as root cause | -0.10 | | |
| --- | |
| ## π Results | |
| | Task | Score | | |
| |---|---| | |
| | single_crash | 0.9 | | |
| | cascading_failure | 0.6 | | |
| | silent_degradation | 0.3 | | |
| | **Average** | **0.6** | | |
| --- | |
| ## π Team | |
| | Name | Role | | |
| |---|---| | |
| | Rohit Patil (Sonic) | Environment + Agent Pipeline | | |
| | [Teammate] | Infrastructure + AMD VM Setup | | |
| --- | |
| ## π License | |
| MIT License β open source, built for AMD Developer Cloud Hackathon. | |
| --- | |
| > Built with AMD MI300X (192GB VRAM) Β· Qwen2.5-72B Β· LangGraph Β· FastAPI Β· Docker | |