Spaces:
Running
Running
File size: 2,139 Bytes
c7426d8 a171580 7eea859 a171580 c7426d8 |
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
"""Module containing the data models for the application."""
from typing import Optional, List
from pydantic import BaseModel, Field
class ReqData(BaseModel):
"""
RequestData is a Pydantic model that represents the data structure for a request.
Attributes:
query (str): The query string provided by the user.
chat_id (str): The unique identifier for the chat session.
user_id (str): The unique identifier for the user.
web (Optional[bool]): A flag indicating if the request is from the web. Defaults to False.
"""
query: str
id: Optional[List[str]] = []
site: Optional[List[str]] = []
chat_id: str
user_id: str
web: Optional[bool] = False
class MailReqData(BaseModel):
"""
MailReqData is a data model representing the structure of a mail request.
Attributes:
email (str): The email address of the sender.
query (str): The query or message content sent by the user.
"""
email: str
query: Optional[str] = ""
class ReqFollowUp(BaseModel):
"""
RequestFollowUp is a Pydantic model that represents a request for follow-up.
Attributes:
query (str): The query string that needs follow-up.
contexts (list[str]): A list of context strings related to the query.
"""
query: str
contexts: list[str]
class FollowUpQ(BaseModel):
"""
FollowUpQ model to represent a follow-up question based on context information.
Attributes:
question (list[str]): A list of follow-up questions based on context information.
"""
questions: list[str] = Field(..., description="3 Follow up questions based on context.")
class ChatHistory(BaseModel):
"""
ChatHistory model representing a chat session.
Attributes:
chat_id (str): The unique identifier for the chat session.
user_id (str): The unique identifier for the user.
"""
chat_id: str
user_id: str
class ChatSession(BaseModel):
"""
ChatSession model representing a chat session.
Attributes:
user_id (str): The unique identifier for the user.
"""
user_id: str
|