File size: 1,551 Bytes
3002e1b
05626fe
6b61df1
3002e1b
 
 
8ce97f0
05626fe
 
 
 
8ce97f0
05626fe
 
a6a0614
 
 
 
 
 
 
 
 
 
6b61df1
 
 
 
 
 
 
 
 
 
 
 
82379f9
6b61df1
 
 
 
 
 
 
 
 
 
 
82379f9
a6a0614
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from pydantic import BaseModel, Field
from typing import Optional , Dict , Any
from datetime import date

class ResponseFormatter(BaseModel):
    endpoint: str = Field(description='Return the exact endpoint from the knowledge base of endpoints.')
    method: str = Field(description='Return the exact request type from the knowledge base of endpoints. GET or POST ')
    parameters: Optional[Dict[str, Optional[Any]]] = Field(
    None,
    description="Return the dictionary of parameters to pass to the endpoint. Each parameter value can be None if not specified."
    )

class CompareBodyFormatter(BaseModel):
    names: list
    frequency: str

class LatestMessageFormatter(BaseModel):
    latest_message:str

class ParameterFormatter(BaseModel):
    parameters_values:Optional[Dict[str, Optional[Any]]] = Field(None)

class EndpointFormatter(BaseModel):
    endpoint: str

class PostingTimeFormatter(BaseModel):
    start_date: Optional[date] = None
    end_date: Optional[date] = None
    influencer_name: str

class PeakCommentHourFormatter(BaseModel):
    start_date: Optional[date] = None
    end_date: Optional[date] = None
    influencer_name: str

class EmojiCountFormater(BaseModel):
    top_n: int = 10
    influencer_name: str

class CommentQualityFormatter(BaseModel):
    start_date: Optional[date] = None
    end_date: Optional[date] = None
    influencer_name: str

class BotAndDiversityFormatter(BaseModel):
    start_date: Optional[date] = None
    end_date: Optional[date] = None
    influencer_name: str
    top_n: int = 10