petter2025 commited on
Commit
7e904fd
·
verified ·
1 Parent(s): 9099ecd

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app.py
2
+ from fastapi import FastAPI
3
+ from fastapi.middleware.cors import CORSMiddleware
4
+ import gradio as gr
5
+ from agentic_reliability_framework.core.governance.risk_engine import RiskEngine
6
+ from agentic_reliability_framework.core.memory.semantic_memory import SemanticMemory
7
+
8
+ app = FastAPI(title="ARF v4 API")
9
+
10
+ # Enable CORS for your frontend
11
+ app.add_middleware(
12
+ CORSMiddleware,
13
+ allow_origins=["https://arf-frontend-sandy.vercel.app"],
14
+ allow_methods=["*"],
15
+ )
16
+
17
+ # Initialize ARF components
18
+ risk_engine = RiskEngine()
19
+ memory = SemanticMemory()
20
+
21
+ @app.get("/health")
22
+ async def health():
23
+ return {"status": "ok", "version": "4.0.0"}
24
+
25
+ @app.get("/api/v1/get_risk")
26
+ async def get_risk():
27
+ # Your existing risk endpoint logic
28
+ risk_score = risk_engine.get_current_risk()
29
+ return {
30
+ "system_risk": risk_score.mean,
31
+ "status": "critical" if risk_score.mean > 0.8 else "normal"
32
+ }
33
+
34
+ # Optional: keep the Gradio interface for interactive testing
35
+ iface = gr.Interface(
36
+ fn=lambda: f"ARF v4 - Current risk: {risk_engine.get_current_risk().mean:.2f}",
37
+ inputs=[],
38
+ outputs="text",
39
+ title="ARF v4 Demo"
40
+ )
41
+ app = gr.mount_gradio_app(app, iface, path="/")