chatbot3 / app /main.py
MuhammadSaad16's picture
Add application file
600f3a7
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.routes import chat
from app.database import engine, Base
from app.qdrant_client import init_qdrant_collection
app = FastAPI(title="RAG Chatbot API")
# CORS Configuration - Allow frontend to connect
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include routers
app.include_router(chat.router)
@app.on_event("startup")
async def startup_event():
# Create database tables
try:
Base.metadata.create_all(bind=engine)
print("✅ Database tables created successfully")
except Exception as e:
print(f"⚠️ Warning: Database initialization failed: {e}")
# Initialize Qdrant collection
try:
init_qdrant_collection()
except Exception as e:
print(f"⚠️ Warning: Qdrant initialization failed: {e}")
print(" The API will still work but RAG features may be limited")
@app.get("/")
async def root():
return {"message": "RAG Chatbot API"}
@app.get("/api/health")
async def health():
return {"status": "ok"}