from pydantic import BaseModel, Field from dataclasses import dataclass from typing import List, Optional @dataclass class Presentation(BaseModel): title: str = Field( description="The main title of the slide. Should be concise and descriptive." ) text: str = Field( description="The narrative content of the slide, containing key information." ) bulletPoints: Optional[List[str]] = Field( description="A list of bullet points summarizing key information. Ideally, limit to 3-5 points." ) @dataclass class PPT(BaseModel): per: list[Presentation] = Field( description="A list of `Presentation` objects representing PowerPoint slides." )