Cook_with_a_LLM / src /pipeline.py
Fred1e4's picture
Complete Cook App (#5)
75c5414
raw
history blame contribute delete
854 Bytes
"""Shared data models for the Cook-with-Me pipeline."""
from __future__ import annotations
from typing import Optional
from pydantic import BaseModel, Field
class DishOption(BaseModel):
name: str
why: str = ""
class RecipeStep(BaseModel):
n: int = 1
instruction: str
duration: str = "5 min"
tip: Optional[str] = None
visual: str = ""
image_path: Optional[str] = None
image_b64: Optional[str] = None # base64 PNG from FLUX
class Recipe(BaseModel):
name: str
cuisine: str = "International"
servings: int = 2
total_time_minutes: int = 30
steps: list[RecipeStep] = Field(default_factory=list)
nutrition: dict = Field(default_factory=dict)
final_dish_visual: str = ""
final_dish_image_path: Optional[str] = None
final_dish_image_b64: Optional[str] = None # base64 PNG from FLUX