Files
2026-07-08 20:02:29 +08:00

5.3 KiB
Raw Permalink Blame History

数据库设计

ER 图(核心关系)

  • templates (1) ——> (N) generation_points
  • generation_points (N) ——> (1) models
  • templates (1) ——> (N) generation_tasks

表结构详细

1. modelsAI 模型配置)

字段名 类型 约束 说明
id UUID PRIMARY KEY 主键
name VARCHAR(100) NOT NULL 模型名称
provider VARCHAR(50) NOT NULL 供应商:openai, azure, custom
endpoint VARCHAR(255) NOT NULL 接口地址
api_key TEXT NOT NULL 加密存储(Fernet 对称加密)
extra_params JSONB DEFAULT '{}' 扩展参数,如 max_tokens, temperature
is_enabled BOOLEAN DEFAULT TRUE 是否启用
remark TEXT 备注
created_at TIMESTAMP DEFAULT NOW()
updated_at TIMESTAMP DEFAULT NOW()

2. templates(模板文档)

字段名 类型 约束 说明
id UUID PRIMARY KEY
name VARCHAR(200) NOT NULL 模板名称
file_path VARCHAR(500) NOT NULL 原始 .docx 文件存储路径
html_content TEXT 转换后的 HTML 内容(供前端编辑)
created_at TIMESTAMP DEFAULT NOW()
updated_at TIMESTAMP DEFAULT NOW()

3. generation_pointsAI 生成点)

字段名 类型 约束 说明
id UUID PRIMARY KEY
template_id UUID FOREIGN KEY 关联模板
position JSONB NOT NULL 在 HTML 中的选区信息,如 {start: 100, end: 200} 或 XPath
prompt TEXT NOT NULL 用户编写的提示词
model_id UUID FOREIGN KEY 指定使用的模型,若为空则使用全局默认模型
ref_file_path VARCHAR(500) 参考文件存储路径(可选)
created_at TIMESTAMP DEFAULT NOW()
updated_at TIMESTAMP DEFAULT NOW()

4. generation_tasks(生成任务)

字段名 类型 约束 说明
id UUID PRIMARY KEY
template_id UUID FOREIGN KEY 关联模板
status VARCHAR(20) NOT NULL pending / processing / done / failed
result_file_path VARCHAR(500) 生成后的 .docx 文件路径
error_msg TEXT 任务失败时的错误信息
celery_task_id VARCHAR(100) Celery 任务 ID,便于追踪
created_at TIMESTAMP DEFAULT NOW()
finished_at TIMESTAMP 完成时间

5. system_config(系统配置,可选)

存储全局默认模型 ID 等键值对。

字段名 类型 约束 说明
key VARCHAR(50) PRIMARY 配置键
value TEXT 配置值(JSON 格式)
description VARCHAR(200) 描述

索引建议

  • templates:在 created_at 上建索引,便于按时间排序。
  • generation_points:在 template_id 上建外键索引,提高关联查询速度。
  • generation_tasks:在 template_id,status 上建索引,优化列表查询。