Fix SSE route dependency and align architecture docs

This commit is contained in:
ash66
2026-05-18 16:32:42 +08:00
parent 86b9ac806a
commit 3f69cad404
149 changed files with 4786 additions and 5957 deletions

View File

@@ -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",

View File

@@ -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"

View File

@@ -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"

View File

@@ -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]