chatdocs / models /schemas.py
shivvamm
Deploy ChatDocs main server (single-container demo)
b496a3b
Raw
History Blame Contribute Delete
2.3 kB
from pydantic import BaseModel,Field,EmailStr,HttpUrl
from typing import List , Dict,Optional, Any
from datetime import datetime
class RequestModel(BaseModel):
query: str
context: Optional[list[dict]] = None
session_id: str
chatbot_id:str
class Company(BaseModel):
name: str
metadata: dict
class ClientRequest(BaseModel):
company_name : str = Field(min_length=3, max_length=100)
base_url : Optional[HttpUrl]
email:str =EmailStr
deployment_url:Optional[HttpUrl]
chatbot_name: str = Field(min_length=1, max_length=100)
class AddDataRequest(BaseModel):
text: str
source: str
title: str
description: str
collection_name: str
class DeleteDataRequest(BaseModel):
document_ids: List[str]
collection_name: str
class SearchDataByMetaDataRequest(BaseModel):
key: str
value: str
collection_name: str
to_retrive: Optional[int] = 100
class DocumentResponse(BaseModel):
id: str
content: str
metadata: dict
class UpdatePromptRequest(BaseModel):
chatbot_prompt: str
class SendChat(BaseModel):
chatHistory:List
chatbot_id:str
session_id:str
class AddVisitorRequest(BaseModel):
origin_url: Optional[str] = None
session_id: Optional[str] = None
chatbot_id: Optional[str] = None
timezone: Optional[str] = None
language: Optional[str] = None
is_mobile: Optional[bool] = Field(None, alias="isMobile")
user_agent: Optional[str] = Field(None, alias="userAgent")
platform: Optional[str] = None
referrer: Optional[str] = None
location: Optional[Any] = None
network_type: Optional[str] = Field(None, alias="networkType")
email:Optional[str] = None
phone_number:Optional[str] = Field(None, alias="phoneNumber")
class QueryUserResponse(BaseModel):
id: int
session_id: str
ip_address: str
origin_url: str
timezone: Optional[str] = None
language: Optional[str] = None
is_mobile: Optional[bool] = None
user_agent: Optional[str] = None
platform:Optional[str] = None
referrer: Optional[str] = None
location:Optional[Any] = None
network_type: Optional[str] = None
email:Optional[str] = None
phone_number:Optional[str] = None