| |
| from fastapi import FastAPI |
| from fastapi.middleware.cors import CORSMiddleware |
| import gradio as gr |
| from agentic_reliability_framework.core.governance.risk_engine import RiskEngine |
| from agentic_reliability_framework.core.memory.semantic_memory import SemanticMemory |
|
|
| app = FastAPI(title="ARF v4 API") |
|
|
| |
| app.add_middleware( |
| CORSMiddleware, |
| allow_origins=["https://arf-frontend-sandy.vercel.app"], |
| allow_methods=["*"], |
| ) |
|
|
| |
| risk_engine = RiskEngine() |
| memory = SemanticMemory() |
|
|
| @app.get("/health") |
| async def health(): |
| return {"status": "ok", "version": "4.0.0"} |
|
|
| @app.get("/api/v1/get_risk") |
| async def get_risk(): |
| |
| risk_score = risk_engine.get_current_risk() |
| return { |
| "system_risk": risk_score.mean, |
| "status": "critical" if risk_score.mean > 0.8 else "normal" |
| } |
|
|
| |
| iface = gr.Interface( |
| fn=lambda: f"ARF v4 - Current risk: {risk_engine.get_current_risk().mean:.2f}", |
| inputs=[], |
| outputs="text", |
| title="ARF v4 Demo" |
| ) |
| app = gr.mount_gradio_app(app, iface, path="/") |