ishworrsubedii's picture
Initial commit
a4a2363
"""
Created By: ishwor subedi
Date: 2024-07-31
"""
from pydantic import BaseModel, EmailStr
from typing import List, Optional
## ---------------------------------- SpeechTranscription API Models ----------------------------------
class TextToSpeechRequest(BaseModel):
text: str
lang: str
tld: str
class SpeechToTextRequest(BaseModel):
lang: str
## ---------------------------------- Chatbot API Models ----------------------------------
class AddTextRequest(BaseModel):
vectorstore: str
text: str
class AddWebsiteRequest(BaseModel):
website_urls: List[str]
vectorstore: str
source: str
class AnswerQueryRequest(BaseModel):
query: str
vectorstore: str
llm_model: str = "llama3-70b-8192"
class DataAnalyzerRequest(BaseModel):
query: str
class GetLinksRequest(BaseModel):
url: str
class YoutubeTranscriptRequest(BaseModel):
vectorstore: str
urls: List[str]
class WebsiteUrlTextExtractionRequest(BaseModel):
url: str
class WebsiteUrlTextExtractionListRequest(BaseModel):
urls: List[str]
class GetCurrentCountRequest(BaseModel):
vectorstore: str
class ListChatbotsRequest(BaseModel):
username: str
class GetChatHistoryRequest(BaseModel):
vectorstore: str
class ChatHistoryItem(BaseModel):
timestamp: str
question: str
response: str
class DeleteChatbotRequest(BaseModel):
vectorstore: str
class AddQAPairRequest(BaseModel):
vectorstore: str
question: str
answer: str
class TrainChatbotRequest(BaseModel):
vectorstore: str
urls: list[str]
class LoadPDFRequest(BaseModel):
vectorstore: str
class LoadEditedJson(BaseModel):
vectorstore: str
data_source_name: str
source_endpoint: str
json_data: dict
class PublicPrivateCheckRequest(BaseModel):
vectorstore: str
mode: str | None = None
class DeleteChatbotSourceRequest(BaseModel):
vectorstore: str
data_source_name: str
## ---------------------------------- User Management API Models ----------------------------------
class UserSignupRequest(BaseModel):
username: str
email: EmailStr
password: str
class UserSigninRequest(BaseModel):
email: EmailStr
password: str
class CheckSessionRequest(BaseModel):
user_id: str
class GetUserDataRequest(BaseModel):
access_token: str
class RefreshSessionRequest(BaseModel):
refresh_token: str
class LoginWithAccessTokenRequest(BaseModel):
access_token: str
refresh_token: str
class UsernameCreationOauthRequest(BaseModel):
username: str
user_id: str
email: str
class SetSessionDataRequest(BaseModel):
access_token: str
refresh_token: str
user_id: str
class SignOutRequest(BaseModel):
user_id: str
class NewChatbotRequest(BaseModel):
chatbot_name: str
username: str
## ---------------------------------- Analytics API Models ----------------------------------
class FeedbackRequest(BaseModel):
feedback: str
user_id: str
vectorstore: Optional[str]
class UserSatisfactionRateRequest(BaseModel):
start_date: Optional[str]
end_date: Optional[str]
vectorstore: Optional[str]
class TokenUsageRequest(BaseModel):
start_date: Optional[str]
end_date: Optional[str]
vectorstore: Optional[str]
class AverageSessionInteractionRequest(BaseModel):
start_date: Optional[str]
end_date: Optional[str]
vectorstore: Optional[str]
class DailyActiveEndUserRequest(BaseModel):
start_date: Optional[str]
end_date: Optional[str]
vectorstore: Optional[str]
class DailyChatCountRequest(BaseModel):
start_date: Optional[str]
end_date: Optional[str]
vectorstore: Optional[str]