evliyapp_backend / app /api /chat.py
GulAkkoca
backend entegration ver1
38a13e6
Raw
History Blame Contribute Delete
788 Bytes
from typing import Any, Dict, Optional
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel, Field
from app.db.supabase import SupabaseConfigError
from app.services.recommendation_service import recommend_pois
router = APIRouter(prefix="/chat", tags=["Chat"])
class RecommendRequest(BaseModel):
query: str = Field(..., min_length=1)
location: Optional[Dict[str, Any]] = None
@router.post("/recommend")
def recommend(payload: RecommendRequest):
try:
return recommend_pois(payload.query, payload.location)
except SupabaseConfigError as exc:
raise HTTPException(status_code=500, detail=str(exc)) from exc
except Exception as exc:
raise HTTPException(status_code=500, detail=f"Recommendation failed: {exc}") from exc