Files

42 lines
939 B
Python

"""Define schema models for rag."""
from pydantic import BaseModel
from typing import Optional
# Group related schema definitions so validation rules stay consistent.
class RagChatRequest(BaseModel):
"""Define the Rag Chat Request API model."""
query: str
top_k: int = 5
session_id: Optional[str] = None
filters: Optional[str] = None
class RetrievedDoc(BaseModel):
"""Define the Retrieved Doc API model."""
id: str
doc_name: str
clause_id: Optional[str] = None
score: float
content: str
preview: str
class SourceInfo(BaseModel):
"""Define the Source Info API model."""
name: str
clause: Optional[str] = None
class QuickQuestion(BaseModel):
"""Define the Quick Question API model."""
id: str
question: str
category: str
class QuickQuestionsResponse(BaseModel):
"""Define the Quick Questions Response API model."""
questions: list[QuickQuestion]