chatbot-backend / app.py
tyaisndu's picture
Innitial commit
53a6864
from fastapi import FastAPI
from pydantic import BaseModel
from fastapi.middleware.cors import CORSMiddleware
from services.predictor import predict_intent
from services.keyword import keyword_correction
from services.response import generate_response
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
class QueryRequest(BaseModel):
text: str
@app.get("/")
def root():
return {"message": "Land Registry Chatbot API is running 🚀"}
@app.post("/predict")
def predict(request: QueryRequest):
intent, confidence, probabilities = predict_intent(request.text)
corrected_intent = keyword_correction(request.text, intent)
response = generate_response(corrected_intent, request.text)
return {
"query": request.text,
"predicted_intent": corrected_intent,
"confidence": round(confidence, 3),
"response": response,
"probabilities": probabilities.tolist()
}