sifars-chatbot-demo / src /controllers /_database_controller.py
Aryan Jain
add tool calls and implemented knowledge base
e1fb2f2
raw
history blame contribute delete
971 Bytes
from fastapi import APIRouter, HTTPException
from fastapi.responses import JSONResponse
from src.utils import logger
from src.services import DatabaseService
class DatabaseController:
def __init__(self):
self.database_service = DatabaseService
self.router = APIRouter(prefix="/update_database", tags=["database"])
self.router.add_api_route("/", self.update_database, methods=["POST"])
async def update_database(self, urls: list[str] = ["https://sifars.com/"], knowledge_base: bool = False):
try:
async with self.database_service() as database_service:
response = await database_service._update_database(urls=urls, knowledge_base=knowledge_base)
return JSONResponse({
"status": "success",
"data": {"message": response}
})
except Exception as e:
logger.error(e)
raise HTTPException(status_code=500, detail=str(e))