from pydantic import BaseModel from typing import Optional, List class FoodRecognizeRequest(BaseModel): image_url: str prompt: str = "识别图片中的主要食材,返回 JSON 格式:[{name, confidence, category}]" class FoodsItem(BaseModel): name: str confidence: float category: str = "unknown" class FoodRecognizeResponse(BaseModel): foods: List[FoodsItem] raw_response: str = "" trace_id: str = "" class MenuGenerateRequest(BaseModel): selected_foods: str participants: str date: str allergies: Optional[str] = None avoid_foods: Optional[str] = None health_goals: Optional[str] = None spice_level: Optional[int] = None cuisine_pref: Optional[str] = None class MenuIngredient(BaseModel): name: str grams: int class MenuDish(BaseModel): name: str ingredients: List[MenuIngredient] cooking_method: str = "" nutrition: Optional[dict] = None notes: str = "" class MenuGenerateResponse(BaseModel): menu_json: str = "" trace_id: str = ""