from datetime import datetime from pydantic import BaseModel, Field class KnowledgeDocumentUploadResponse(BaseModel): """知识文档上传响应:返回文档、任务和 Milvus collection 状态。""" document_id: int task_id: int | None = None duplicate: bool = False status: str parse_status: str embedding_status: str chunk_count: int collection_name: str class KnowledgeDocumentDetailResponse(BaseModel): """知识文档详情:用于内容管理员查看 PDF 构建结果。""" document_id: int institution_id: int file_name: str document_title: str | None = None document_category: str version: str status: str parse_status: str embedding_status: str chunk_count: int error_message: str | None = None created_at: datetime | None = None updated_at: datetime | None = None class KnowledgeDocumentListResponse(BaseModel): """知识文档列表:按机构返回最近上传文档。""" items: list[KnowledgeDocumentDetailResponse] = Field(default_factory=list)