File size: 1,233 Bytes
93a5bf9
be3a5c4
 
 
 
 
 
9acd478
be3a5c4
 
 
a9f99c3
be3a5c4
b55b8d4
 
503e05b
a9f99c3
93a5bf9
 
 
 
 
 
 
 
6523fd0
 
eb40d68
 
6523fd0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from pydantic import BaseModel, ConfigDict , Field
from typing import Optional
import pandas as pd

class State(BaseModel):
    carry_on: Optional[bool]=False
    messages: Optional[str] = None
    idea: list
    brainstroming_topics: Optional[list] = []
    preferred_topics: Optional[list] = []
    stories : Optional[list]=[]
    final_story: Optional[list]=[]
    retrievals : Optional[list]=[]
    business_details : Optional[dict]={}
    latest_preferred_topics: Optional[list] = []
    images: Optional[list] = []  # Base64-encoded strings of images
    image_captions: Optional[list] = []
    model_config = ConfigDict(arbitrary_types_allowed=True)


class BrainstromTopicFormatter(BaseModel):
    topic1:str=Field(description="First brainstorming topic of the story")
    topic2:str=Field(description="Second brainstorming topic of the story")
    topic3:str=Field(description="Third brainstorming topic of the story")
    topic4:str=Field(description="Fourth brainstorming topic of the story")

class QueryFormatter(BaseModel):
    video_topic: str = Field(description="The video topic that user passes to the agent")
    # business_details: dict = Field (description="The business details that user passes to the agent")