| --- |
| sdk: gradio |
| title: Edge Node Diagnostics Agent |
| emoji: π¬ |
| colorFrom: blue |
| colorTo: purple |
| sdk_version: 6.14.0 |
| python_version: '3.13' |
| app_file: app.py |
| pinned: false |
| tags: |
| - ml-intern |
| - diagnostics |
| - edge-computing |
| - face-recognition |
| --- |
| |
| # π¬ Edge Node Diagnostics Agent |
|
|
| A specialized AI assistant for troubleshooting and optimizing the SmartClass face recognition pipeline running on classroom edge devices (Raspberry Pi 5 / Intel NUC). |
|
|
| ## Features |
|
|
| ### π¬ Conversational Diagnostics |
| Ask natural language questions about your edge node's health and get detailed, actionable diagnosis with specific configuration changes. |
|
|
| ### π§ Diagnostic Tools |
| The agent automatically queries relevant subsystems: |
| - **Pipeline Status** β Overall health and component status |
| - **Prometheus Metrics** β Real-time performance data |
| - **Detection Analysis** β SCRFD model performance |
| - **Recognition Analysis** β MobileFaceNet + FAISS status |
| - **Tracking Analysis** β ByteTrack subsystem |
| - **Event Transmission** β Redis/HTTP/SQLite delivery |
| - **Identity Engine** β Evidence accumulation status |
| - **Error Logs** β Recent warnings and errors |
| - **Configuration** β Current YAML settings |
|
|
| ### π Live Metrics Dashboard |
| Real-time (simulated) Prometheus metrics visualization updating every 5 seconds. |
|
|
| ### βοΈ Configuration Panel |
| Interactive sliders for tuning all pipeline parameters with immediate effect. |
|
|
| ### π₯ Fault Injection |
| Simulate common failure scenarios to test diagnostic capabilities: |
| - Low FPS (heavy processing load) |
| - Redis Disconnect (network failure) |
| - No Recognitions (threshold misconfiguration) |
| - High Temperature (thermal throttling) |
| - Tracking Chaos (ghost tracks) |
|
|
| ## Pipeline Architecture |
|
|
| ``` |
| Camera β SCRFD Detection β ByteTrack β Quality Gate β Face Align β MobileFaceNet β FAISS Search β Identity Evidence Engine β Redis/HTTP/SQLite |
| ``` |
|
|
| ## Example Questions |
|
|
| - "The edge node is only getting 2 FPS, how do I optimize?" |
| - "Faces are detected but never recognized" |
| - "Tracking IDs keep switching between the same person" |
| - "The offline queue keeps growing, events aren't being sent" |
| - "How do I tune the identity evidence engine?" |
|
|
| ## Technical Stack |
|
|
| - **Detection:** SCRFD (ONNX Runtime) |
| - **Tracking:** ByteTrack |
| - **Recognition:** MobileFaceNet / AdaFace ensemble |
| - **Search:** FAISS (cosine similarity) |
| - **Transmission:** Redis Streams β HTTP fallback β SQLite offline queue |
| - **Monitoring:** Prometheus metrics on port 9100 |
|
|