init. project

This commit is contained in:
2026-04-13 11:34:23 +08:00
commit c7c0659a85
202 changed files with 31196 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
from typing import Optional, List
from datetime import datetime
from pydantic import BaseModel
class KnowledgeBaseBase(BaseModel):
name: str
description: Optional[str] = None
class KnowledgeBaseCreate(KnowledgeBaseBase):
pass
class KnowledgeBaseUpdate(KnowledgeBaseBase):
pass
class DocumentBase(BaseModel):
file_name: str
file_path: str
file_hash: str
file_size: int
content_type: str
class DocumentCreate(DocumentBase):
knowledge_base_id: int
class DocumentUploadBase(BaseModel):
file_name: str
file_hash: str
file_size: int
content_type: str
temp_path: str
status: str = "pending"
error_message: Optional[str] = None
class DocumentUploadCreate(DocumentUploadBase):
knowledge_base_id: int
class DocumentUploadResponse(DocumentUploadBase):
id: int
created_at: datetime
class Config:
from_attributes = True
class ProcessingTaskBase(BaseModel):
status: str
error_message: Optional[str] = None
class ProcessingTaskCreate(ProcessingTaskBase):
document_id: int
knowledge_base_id: int
class ProcessingTask(ProcessingTaskBase):
id: int
document_id: int
knowledge_base_id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class DocumentResponse(DocumentBase):
id: int
knowledge_base_id: int
created_at: datetime
updated_at: datetime
processing_tasks: List[ProcessingTask] = []
class Config:
from_attributes = True
class KnowledgeBaseResponse(KnowledgeBaseBase):
id: int
user_id: int
created_at: datetime
updated_at: datetime
documents: List[DocumentResponse] = []
class Config:
from_attributes = True
class PreviewRequest(BaseModel):
document_ids: List[int]
chunk_size: int = 1000
chunk_overlap: int = 200