52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
from __future__ import annotations
|
||
|
||
from typing import List, Optional
|
||
|
||
from pydantic import BaseModel
|
||
|
||
|
||
class TemplateSectionItem(BaseModel):
|
||
id: str
|
||
sectionKey: str
|
||
sectionTitle: str
|
||
# 复刻 eval_report:章节提示词 / 输出合同 / 示例
|
||
sectionPrompt: Optional[str] = None
|
||
sectionOutputContract: Optional[str] = None
|
||
sectionOrder: int = 0
|
||
examples: Optional[str] = None
|
||
|
||
|
||
class TemplateItem(BaseModel):
|
||
id: str
|
||
name: str
|
||
description: Optional[str] = None
|
||
sourceFile: Optional[str] = None
|
||
createdAt: Optional[str] = None
|
||
updatedAt: Optional[str] = None
|
||
isDefault: bool = False
|
||
isActive: bool = True
|
||
sections: List[TemplateSectionItem] = []
|
||
|
||
|
||
class SectionReferenceItem(BaseModel):
|
||
id: str
|
||
templateId: Optional[str] = None
|
||
sourceFile: str
|
||
sectionKey: str
|
||
sectionTitle: str
|
||
sectionOrder: int = 0
|
||
contentLength: int = 0
|
||
content: str = ""
|
||
|
||
|
||
class UploadTemplateResult(BaseModel):
|
||
"""上传解析结果:模板(目录 + 声明)+ 入库的章节内容。"""
|
||
|
||
template: TemplateItem
|
||
sourceFile: str
|
||
markdownLength: int
|
||
totalSections: int
|
||
totalReferences: int
|
||
references: List[SectionReferenceItem] = []
|
||
parseWarnings: List[str] = []
|