Fix SSE route dependency and align architecture docs
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
"""Initialize the app.schemas package."""
|
||||
|
||||
from .doc import (
|
||||
DocumentUploadResponse,
|
||||
DocumentInfo,
|
||||
@@ -24,6 +26,8 @@ from .compliance import (
|
||||
ComplianceChatRequest,
|
||||
AnalyzeResponse,
|
||||
)
|
||||
# Keep package boundaries explicit so backend imports stay predictable.
|
||||
|
||||
|
||||
__all__ = [
|
||||
"DocumentUploadResponse",
|
||||
|
||||
@@ -1,21 +1,28 @@
|
||||
"""Define schema models for compliance."""
|
||||
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from enum import Enum
|
||||
# Group related schema definitions so validation rules stay consistent.
|
||||
|
||||
|
||||
|
||||
class RiskLevel(str, Enum):
|
||||
"""Define the Risk Level enumeration."""
|
||||
high = "high"
|
||||
medium = "medium"
|
||||
low = "low"
|
||||
|
||||
|
||||
class ComplianceStatus(str, Enum):
|
||||
"""Define the Compliance Status enumeration."""
|
||||
pass_status = "pass"
|
||||
warning = "warning"
|
||||
fail = "fail"
|
||||
|
||||
|
||||
class Regulation(BaseModel):
|
||||
"""Define the Regulation API model."""
|
||||
id: int
|
||||
name: str
|
||||
clause: Optional[str] = None
|
||||
@@ -26,6 +33,7 @@ class Regulation(BaseModel):
|
||||
|
||||
|
||||
class ComplianceSegment(BaseModel):
|
||||
"""Define the Compliance Segment API model."""
|
||||
id: int
|
||||
index: int
|
||||
intent: str
|
||||
@@ -37,6 +45,7 @@ class ComplianceSegment(BaseModel):
|
||||
|
||||
|
||||
class RiskDashboard(BaseModel):
|
||||
"""Define the Risk Dashboard API model."""
|
||||
score: float
|
||||
high_risk_count: int
|
||||
medium_risk_count: int
|
||||
@@ -47,6 +56,7 @@ class RiskDashboard(BaseModel):
|
||||
|
||||
|
||||
class PriorityAction(BaseModel):
|
||||
"""Define the Priority Action API model."""
|
||||
regulation: str
|
||||
issue: str
|
||||
suggestion: str
|
||||
@@ -54,6 +64,7 @@ class PriorityAction(BaseModel):
|
||||
|
||||
|
||||
class ComplianceResult(BaseModel):
|
||||
"""Define the Compliance Result API model."""
|
||||
task_id: str
|
||||
dashboard: RiskDashboard
|
||||
segments: list[ComplianceSegment]
|
||||
@@ -61,9 +72,11 @@ class ComplianceResult(BaseModel):
|
||||
|
||||
|
||||
class ComplianceChatRequest(BaseModel):
|
||||
"""Define the Compliance Chat Request API model."""
|
||||
query: str
|
||||
|
||||
|
||||
class AnalyzeResponse(BaseModel):
|
||||
"""Define the Analyze Response API model."""
|
||||
task_id: str
|
||||
status: str = "processing"
|
||||
@@ -1,9 +1,14 @@
|
||||
"""Define schema models for doc."""
|
||||
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
# Group related schema definitions so validation rules stay consistent.
|
||||
|
||||
|
||||
|
||||
class DocumentUploadResponse(BaseModel):
|
||||
"""Define the Document Upload Response API model."""
|
||||
doc_id: str
|
||||
filename: str
|
||||
size: int
|
||||
@@ -11,6 +16,7 @@ class DocumentUploadResponse(BaseModel):
|
||||
|
||||
|
||||
class DocumentInfo(BaseModel):
|
||||
"""Define the Document Info API model."""
|
||||
id: str
|
||||
name: str
|
||||
chunks: int
|
||||
@@ -19,10 +25,12 @@ class DocumentInfo(BaseModel):
|
||||
|
||||
|
||||
class DocumentListResponse(BaseModel):
|
||||
"""Define the Document List Response API model."""
|
||||
docs: list[DocumentInfo]
|
||||
|
||||
|
||||
class ChunkInfo(BaseModel):
|
||||
"""Define the Chunk Info API model."""
|
||||
chunk_id: str
|
||||
doc_name: str
|
||||
clause_id: Optional[str] = None
|
||||
@@ -33,12 +41,14 @@ class ChunkInfo(BaseModel):
|
||||
|
||||
|
||||
class ParseResponse(BaseModel):
|
||||
"""Define the Parse Response API model."""
|
||||
doc_id: str
|
||||
chunks: int
|
||||
status: str = "parsed"
|
||||
|
||||
|
||||
class EmbedResponse(BaseModel):
|
||||
"""Define the Embed Response API model."""
|
||||
doc_id: str
|
||||
vectors: int
|
||||
status: str = "embedded"
|
||||
@@ -1,13 +1,19 @@
|
||||
"""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
|
||||
|
||||
|
||||
class RetrievedDoc(BaseModel):
|
||||
"""Define the Retrieved Doc API model."""
|
||||
id: str
|
||||
doc_name: str
|
||||
clause_id: Optional[str] = None
|
||||
@@ -17,15 +23,18 @@ class RetrievedDoc(BaseModel):
|
||||
|
||||
|
||||
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]
|
||||
Reference in New Issue
Block a user