File size: 716 Bytes
e413948
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from pydantic import BaseModel, HttpUrl
from typing import List, Optional


class ScrapeRequest(BaseModel):
    url: HttpUrl


class QueryRequest(BaseModel):
    question: str


class SourceInfo(BaseModel):
    file_name: str
    text: str
    score: Optional[float] = None


class FinalResponse(BaseModel):
    final_answer: str
    sources: List[SourceInfo]


class SummarizeRequest(BaseModel):
    max_length: Optional[int] = 500
    style: Optional[str] = "concise"


class SummaryResponse(BaseModel):
    summary: str
    word_count: int
    source_documents: List[str]


class StatusResponse(BaseModel):
    status: str
    message: str
    details: Optional[dict] = None