49 lines
2.8 KiB
SQL
49 lines
2.8 KiB
SQL
-- 评价 / 对比功能所需结构(在已有库上增量执行;若列或表已存在会报错,可忽略对应语句)
|
||
-- MySQL 5.7+ / 8.0
|
||
|
||
-- 1. prompt_history 扩展字段(模型 history_models.PromptHistory 依赖)
|
||
-- 分两条执行:避免 AFTER 依赖列名/顺序;若某列已存在会报 Duplicate column,可忽略该条
|
||
ALTER TABLE prompt_history
|
||
ADD COLUMN comparison_group_id VARCHAR(64) NULL COMMENT '对比组ID';
|
||
ALTER TABLE prompt_history
|
||
ADD COLUMN is_comparison_enabled TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否参与对比';
|
||
ALTER TABLE prompt_history ADD INDEX idx_comparison_group (comparison_group_id);
|
||
|
||
-- 若上面因「列已存在」失败,说明已执行过,可继续执行下面建表。
|
||
|
||
-- 2. 评价表(与 evaluation_models.PromptEvaluation 一致)
|
||
CREATE TABLE IF NOT EXISTS prompt_evaluation (
|
||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||
history_id INT NOT NULL COMMENT '历史记录ID',
|
||
user_id INT NOT NULL COMMENT '评价者用户ID',
|
||
clarity_rating TINYINT NULL COMMENT '清晰度评分',
|
||
specificity_rating TINYINT NULL COMMENT '具体性评分',
|
||
effectiveness_rating TINYINT NULL COMMENT '有效性评分',
|
||
professionalism_rating TINYINT NULL COMMENT '专业性评分',
|
||
completeness_rating TINYINT NULL COMMENT '完整性评分',
|
||
is_best_version TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否为最佳版本',
|
||
comparison_group_id VARCHAR(64) NULL COMMENT '对比组ID',
|
||
overall_rating TINYINT NULL COMMENT '综合评分',
|
||
comments TEXT NULL COMMENT '评价意见',
|
||
created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
INDEX idx_history_id (history_id),
|
||
INDEX idx_user_id (user_id),
|
||
INDEX idx_comparison_group (comparison_group_id),
|
||
CONSTRAINT fk_pe_history FOREIGN KEY (history_id) REFERENCES prompt_history(id) ON DELETE CASCADE
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提示词评价表';
|
||
|
||
-- 3. 对比组表
|
||
CREATE TABLE IF NOT EXISTS comparison_group (
|
||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||
group_id VARCHAR(64) NOT NULL COMMENT '对比组ID',
|
||
user_id INT NOT NULL COMMENT '创建者用户ID',
|
||
name VARCHAR(100) NULL COMMENT '对比组名称',
|
||
description TEXT NULL COMMENT '对比组描述',
|
||
is_public TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否公开',
|
||
created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
UNIQUE KEY uk_group_id (group_id),
|
||
INDEX idx_user_id (user_id)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='对比组表';
|