80 lines
2.3 KiB
Python
80 lines
2.3 KiB
Python
"""Pydantic schemas for the query-history endpoints."""
|
|
|
|
from pydantic import BaseModel
|
|
from typing import List, Optional
|
|
|
|
|
|
class QueryHistoryRecord(BaseModel):
|
|
input_text: str
|
|
extracted_questions: Optional[str] = None
|
|
decompose_prompt: Optional[str] = None
|
|
decomposer_time_ms: int = 0
|
|
retriever_time_ms: int = 0
|
|
chunks_retrieved: Optional[str] = None
|
|
chunks_retrieved_count: int = 0
|
|
filter_prompt: Optional[str] = None
|
|
filter_time_ms: int = 0
|
|
chunks_filtered: Optional[str] = None
|
|
chunks_filtered_count: int = 0
|
|
generate_prompt: Optional[str] = None
|
|
generator_time_ms: int = 0
|
|
total_time_ms: int = 0
|
|
final_answer: Optional[str] = None
|
|
sources: Optional[str] = None
|
|
profile_used: Optional[str] = None
|
|
chunks_retrieved_per_subq_count: Optional[str] = None
|
|
chunks_filtered_per_subq_count: Optional[str] = None
|
|
highlight_prompt: Optional[str] = None
|
|
highlight_response: Optional[str] = None
|
|
highlight_time_ms: int = 0
|
|
|
|
|
|
class QueryHistorySummary(BaseModel):
|
|
id: int
|
|
input_text: str
|
|
total_time_ms: int
|
|
chunks_retrieved_count: int
|
|
chunks_filtered_count: int
|
|
profile_used: Optional[str] = None
|
|
created_at: str
|
|
|
|
|
|
class QueryHistoryDetail(BaseModel):
|
|
id: int
|
|
input_text: str
|
|
extracted_questions: Optional[str] = None
|
|
decompose_prompt: Optional[str] = None
|
|
decomposer_time_ms: int
|
|
retriever_time_ms: int
|
|
chunks_retrieved: Optional[str] = None
|
|
chunks_retrieved_count: int
|
|
filter_prompt: Optional[str] = None
|
|
filter_time_ms: int
|
|
chunks_filtered: Optional[str] = None
|
|
chunks_filtered_count: int
|
|
generate_prompt: Optional[str] = None
|
|
generator_time_ms: int
|
|
total_time_ms: int
|
|
final_answer: Optional[str] = None
|
|
sources: Optional[str] = None
|
|
profile_used: Optional[str] = None
|
|
chunks_retrieved_per_subq_count: Optional[str] = None
|
|
chunks_filtered_per_subq_count: Optional[str] = None
|
|
highlight_prompt: Optional[str] = None
|
|
highlight_response: Optional[str] = None
|
|
highlight_time_ms: int = 0
|
|
created_at: str
|
|
|
|
|
|
class QueryHistoryList(BaseModel):
|
|
queries: List[QueryHistorySummary]
|
|
total: int
|
|
limit: int
|
|
offset: int
|
|
|
|
|
|
class DeleteResponse(BaseModel):
|
|
status: str
|
|
deleted_id: Optional[int] = None
|
|
deleted_count: Optional[int] = None
|