shreyab21 commited on
Commit
2dc8a8e
·
verified ·
1 Parent(s): ab4f2de

Create main.py

Browse files
Files changed (1) hide show
  1. main.py +36 -0
main.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ from planner import llama_reason
4
+ from retrieval import retrieve_context
5
+ from fastapi.middleware.cors import CORSMiddleware
6
+
7
+ app = FastAPI(title="Aegis Backend API")
8
+
9
+ # ✅ Allow frontend to talk to backend (and allow preflight OPTIONS)
10
+ app.add_middleware(
11
+ CORSMiddleware,
12
+ allow_origins=["*"], # or ["http://localhost:8081"]
13
+ allow_credentials=True,
14
+ allow_methods=["*"], # this allows OPTIONS too
15
+ allow_headers=["*"],
16
+ )
17
+
18
+ class ReasonRequest(BaseModel):
19
+ query: str
20
+
21
+ class RetrieveRequest(BaseModel):
22
+ query: str
23
+
24
+ @app.get("/")
25
+ def home():
26
+ return {"status": "Aegis backend running"}
27
+
28
+ @app.post("/reason")
29
+ def reason(request: ReasonRequest):
30
+ response = llama_reason(request.query)
31
+ return {"response": response}
32
+
33
+ @app.post("/retrieve")
34
+ def retrieve(request: RetrieveRequest):
35
+ context = retrieve_context(request.query)
36
+ return {"context": context}