CREATE TABLE IF NOT EXISTS `sys_ai_chat_session` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`chat_id` VARCHAR(64) NOT NULL COMMENT '会话ID',
|
`title` VARCHAR(255) DEFAULT NULL COMMENT '会话标题',
|
`prompt_template_id` BIGINT DEFAULT NULL COMMENT 'Prompt模板ID',
|
`prompt_scene_code` VARCHAR(64) DEFAULT NULL COMMENT 'Prompt场景',
|
`prompt_version` INT DEFAULT NULL COMMENT 'Prompt版本',
|
`prompt_name` VARCHAR(255) DEFAULT NULL COMMENT 'Prompt名称',
|
`message_count` INT NOT NULL DEFAULT 0 COMMENT '消息数',
|
`last_prompt_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次输入tokens',
|
`last_completion_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次输出tokens',
|
`last_total_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次总tokens',
|
`last_llm_call_count` INT NOT NULL DEFAULT 0 COMMENT '最近一次模型调用轮次',
|
`last_token_updated_at` DATETIME DEFAULT NULL COMMENT '最近一次tokens更新时间',
|
`sum_prompt_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计输入tokens',
|
`sum_completion_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计输出tokens',
|
`sum_total_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计总tokens',
|
`ask_count` BIGINT NOT NULL DEFAULT 0 COMMENT '累计提问次数',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_sys_ai_chat_session_chat_id` (`chat_id`),
|
KEY `idx_sys_ai_chat_session_update_time` (`update_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天会话表';
|
|
CREATE TABLE IF NOT EXISTS `sys_ai_chat_message` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`chat_id` VARCHAR(64) NOT NULL COMMENT '会话ID',
|
`seq_no` INT NOT NULL COMMENT '顺序号',
|
`role` VARCHAR(32) NOT NULL COMMENT '角色:user/assistant',
|
`content` LONGTEXT COMMENT '消息内容',
|
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
PRIMARY KEY (`id`),
|
KEY `idx_sys_ai_chat_message_chat_seq` (`chat_id`, `seq_no`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天消息表';
|