subashpoudel's picture
next commit
9f72bcf
raw
history blame
1.49 kB
from pydantic import BaseModel, ConfigDict , Field
from typing import Optional
class State(BaseModel):
interactions: Optional[list] = []
model_config = ConfigDict(arbitrary_types_allowed=True)
# Pydantic model for extracted business info
class DetailsFormatter(BaseModel):
'''
Format the details from the business interaction of User and Assistant
'''
business_type_or_name: str = Field(description="The type or name of the business.")
platform: str = Field(description="The platform used for the promotion of business")
target_audience: str = Field(description="The target audience of the business")
business_goals: str = Field(description="The business goals of the business")
offerings: str = Field(description="The offerings of the business")
devices_used_to_create_videos: str = Field(description="The devices used to create videos.")
Challenges_faced: str = Field(description="The challenges faced by the business")
additional_informations: str = Field(description="Additional queries or details regarding the video or idea creation.")
class CompletionFormatter(BaseModel):
completion: str = Field(description="Just the one word result: **completed** or **not completed**")
class ConversationFormatter(BaseModel):
response: str = Field(description="The entire response of the assistant.")
complete: str = Field(description= "Return 'True' if the details extraction is completed. Return 'False' if not completed.")