meal.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from pydantic import BaseModel
  2. from typing import Optional, List
  3. class FoodRecognizeRequest(BaseModel):
  4. image_url: str
  5. prompt: str = "识别图片中的主要食材,返回 JSON 格式:[{name, confidence, category}]"
  6. class FoodsItem(BaseModel):
  7. name: str
  8. confidence: float
  9. category: str = "unknown"
  10. class FoodRecognizeResponse(BaseModel):
  11. foods: List[FoodsItem]
  12. raw_response: str = ""
  13. trace_id: str = ""
  14. class MenuGenerateRequest(BaseModel):
  15. selected_foods: str
  16. participants: str
  17. date: str
  18. allergies: Optional[str] = None
  19. avoid_foods: Optional[str] = None
  20. health_goals: Optional[str] = None
  21. spice_level: Optional[int] = None
  22. cuisine_pref: Optional[str] = None
  23. class MenuIngredient(BaseModel):
  24. name: str
  25. grams: int
  26. class MenuDish(BaseModel):
  27. name: str
  28. ingredients: List[MenuIngredient]
  29. cooking_method: str = ""
  30. nutrition: Optional[dict] = None
  31. notes: str = ""
  32. class MenuGenerateResponse(BaseModel):
  33. menu_json: str = ""
  34. trace_id: str = ""