Files

64 lines
1.3 KiB
Python
Raw Permalink Normal View History

"""文档相关数据模型"""
2026-05-11 11:22:55 +08:00
from pydantic import BaseModel
from typing import Optional, Any
2026-05-11 11:22:55 +08:00
from datetime import datetime
class DocumentUploadResponse(BaseModel):
"""文档上传响应"""
2026-05-11 11:22:55 +08:00
doc_id: str
filename: str
size: int
status: str = "uploaded"
parse_task_id: Optional[str] = None # 解析任务ID
2026-05-11 11:22:55 +08:00
class DocumentInfo(BaseModel):
"""文档信息"""
2026-05-11 11:22:55 +08:00
id: str
name: str
chunks: int
status: str
created_at: Optional[datetime] = None
class DocumentListResponse(BaseModel):
"""文档列表响应"""
2026-05-11 11:22:55 +08:00
docs: list[DocumentInfo]
class ChunkInfo(BaseModel):
"""文本块信息"""
2026-05-11 11:22:55 +08:00
chunk_id: str
doc_name: str
clause_id: Optional[str] = None
chapter: Optional[str] = None
content: str
token_count: int
chunk_index: int
class ParseResponse(BaseModel):
"""解析响应"""
2026-05-11 11:22:55 +08:00
doc_id: str
task_id: Optional[str] = None
chunks: int = 0
status: str = "parsing"
2026-05-11 11:22:55 +08:00
class EmbedResponse(BaseModel):
"""嵌入响应"""
2026-05-11 11:22:55 +08:00
doc_id: str
task_id: Optional[str] = None
vectors: int = 0
status: str = "embedding"
class TaskStatusResponse(BaseModel):
"""任务状态响应"""
task_id: str
status: str
progress: int
message: Optional[str] = None
result: Optional[Any] = None