legco_ai_assistant/backend/app/models/history.py

70 lines
1.8 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
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
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