refactor: 脚本提示词体系重构 — 子类从目录改为单个文件
- 删除 system/bk/ 下所有旧提示词,平铺替换为 23 个新文件 - 文件名格式统一为: 文案——描述.txt - 后端: _meta.json 扁平化,loader.py 新增 list_prompt_files() + load_prompt_file() - 后端: API 从 subcategory 改为 filename,按指定文件读取 - 后端: categories 接口返回文件列表(label/desc/filename)供前端展示 - 前端: ScriptCreation 分类选择改为卡片网格,展示文案+描述 - 前端: 清理 subcategoryCode,统一改为 filename - 前端: 字幕字号调整为 64/96/80px
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
===============
|
||||
"""
|
||||
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
|
||||
@@ -12,12 +11,12 @@ from app.schemas.segment import Segment
|
||||
ScriptShot = Segment
|
||||
|
||||
|
||||
class SubcategoryItem(BaseModel):
|
||||
"""小类项"""
|
||||
class PromptFileItem(BaseModel):
|
||||
"""提示词文件项"""
|
||||
|
||||
code: str = Field(..., description="小类代码")
|
||||
name: str = Field(..., description="小类名称")
|
||||
count: int = Field(..., description="提示词文件数量")
|
||||
filename: str = Field(..., description="文件名")
|
||||
label: str = Field(..., description="文案(文件名前半部分)")
|
||||
desc: str = Field(..., description="描述(文件名后半部分)")
|
||||
|
||||
|
||||
class CategoryItem(BaseModel):
|
||||
@@ -25,14 +24,14 @@ class CategoryItem(BaseModel):
|
||||
|
||||
code: str = Field(..., description="大类代码")
|
||||
name: str = Field(..., description="大类名称")
|
||||
subcategories: list[SubcategoryItem] = Field(..., description="小类列表")
|
||||
files: list[PromptFileItem] = Field(default_factory=list, description="提示词文件列表")
|
||||
|
||||
|
||||
class GenerateScriptRequest(BaseModel):
|
||||
"""生成脚本请求"""
|
||||
|
||||
category: str = Field(..., description="大类代码,如 bk")
|
||||
subcategory: str = Field(..., description="小类代码,如 ht")
|
||||
filename: str = Field(..., description="提示词文件名,如 水电改造避坑——水电改造的4个坑.txt")
|
||||
duration: int = Field(default=45, ge=30, le=180, description="视频时长(秒)")
|
||||
script_type: str = Field(default="干货型", description="脚本类型")
|
||||
model: str | None = Field(None, description="指定模型(可选)")
|
||||
|
||||
Reference in New Issue
Block a user