File size: 606 Bytes
29031d5
 
 
 
 
 
 
 
 
ca3e603
 
 
29031d5
 
 
ca3e603
 
 
 
 
 
29031d5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from pydantic import BaseModel, Field
from typing import Optional

class QueryRequest(BaseModel):
    query: str = Field(min_length=3, max_length=1000)
    session_id: Optional[str] = None

class SchemeResult(BaseModel):
    scheme_name: str
    slug: str = ""
    level: str = ""
    source_url: str = ""

class QueryResponse(BaseModel):
    response: str
    refined_output: Optional[list[dict]] = None
    disclaimer: str = ""
    matched_schemes: list[SchemeResult] = []
    citations: list[dict] = []
    cache_hit: bool = False
    latency_tier: str = "standard"
    session_id: Optional[str] = None