|
from pydantic import BaseModel, Field |
|
from dataclasses import dataclass, field |
|
from typing import List, Dict,Optional |
|
|
|
|
|
|
|
@dataclass |
|
class Presentation(BaseModel): |
|
title: str = Field( |
|
description="The main title of the slide. Should be concise and descriptive, summarizing the core idea of the slide. Avoid lengthy titles and focus on clarity." |
|
) |
|
text: str = Field( |
|
description="The detailed description or narrative content of the slide. This should include key information, explanations, or supporting arguments. Keep it concise yet informative to avoid overwhelming the audience." |
|
) |
|
bulletPoints: Optional[List[str]] = Field( |
|
description="A list of bullet points summarizing key information on the slide. Each bullet point should be detail, long, and highlight a specific aspect of the slide's topic. ideally, limit to 3-5 points." |
|
) |
|
|
|
|
|
|
|
|
|
@dataclass |
|
class PPT(BaseModel): |
|
per:list[Presentation] = Field(description="A list of `Presentation` objects, where each object represents a single slide in the PowerPoint presentation. Ensure that the list is ordered logically to maintain the flow of the presentation. Each `Presentation` object should provide the necessary details, including title, content, bullet points, to create an engaging and informative slide deck.") |
|
|