aegis-backend / main.py
shreyab21's picture
Create main.py
2dc8a8e verified
raw
history blame contribute delete
948 Bytes
from fastapi import FastAPI
from pydantic import BaseModel
from planner import llama_reason
from retrieval import retrieve_context
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI(title="Aegis Backend API")
# βœ… Allow frontend to talk to backend (and allow preflight OPTIONS)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # or ["http://localhost:8081"]
allow_credentials=True,
allow_methods=["*"], # this allows OPTIONS too
allow_headers=["*"],
)
class ReasonRequest(BaseModel):
query: str
class RetrieveRequest(BaseModel):
query: str
@app.get("/")
def home():
return {"status": "Aegis backend running"}
@app.post("/reason")
def reason(request: ReasonRequest):
response = llama_reason(request.query)
return {"response": response}
@app.post("/retrieve")
def retrieve(request: RetrieveRequest):
context = retrieve_context(request.query)
return {"context": context}