wangzhibo
2026-10-08 220e4fab27b7f419b3e89e2f2d28ae789aac09d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"],
    )