from fastapi import APIRouter, HTTPException, Query
|
|
from app.models.schemas import SceneAnalyzeRequest, SceneAnalyzeResponse
|
from app.services.scene_engine import SceneEngine
|
|
router = APIRouter(prefix="/api/v1/scene", tags=["scene"])
|
scene_engine = SceneEngine()
|
|
|
@router.post("/analyze", response_model=SceneAnalyzeResponse)
|
async def analyze_scene(request: SceneAnalyzeRequest) -> SceneAnalyzeResponse:
|
result = scene_engine.analyze(
|
device_id=request.device_id,
|
timestamp=request.timestamp,
|
context_hints=request.context_hints,
|
)
|
return SceneAnalyzeResponse(
|
scene=result["scene"],
|
confidence=result["confidence"],
|
greeting_strategy=result["greeting_strategy"],
|
suggested_intent=result["suggested_intent"],
|
)
|