erp-java/services/ai-service/sql/init.sql

58 lines
3.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- AI对话表
CREATE TABLE IF NOT EXISTS `ai_conversations` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID',
`tenant_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '租户ID',
`title` VARCHAR(255) NOT NULL COMMENT '对话标题',
`model` VARCHAR(100) DEFAULT NULL COMMENT 'AI模型',
`service` VARCHAR(50) DEFAULT NULL COMMENT 'AI服务提供商',
`status` VARCHAR(20) DEFAULT 'active' COMMENT '状态: active, archived, deleted',
`message_count` INT UNSIGNED DEFAULT 0 COMMENT '消息数量',
`total_tokens` BIGINT UNSIGNED DEFAULT 0 COMMENT '总Token数',
`last_message_at` DATETIME DEFAULT NULL COMMENT '最后消息时间',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT UNSIGNED DEFAULT 0 COMMENT '逻辑删除标记',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_tenant_id` (`tenant_id`),
KEY `idx_status` (`status`),
KEY `idx_last_message_at` (`last_message_at`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI对话表';
-- AI消息表
CREATE TABLE IF NOT EXISTS `ai_messages` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`conversation_id` BIGINT UNSIGNED NOT NULL COMMENT '对话ID',
`role` VARCHAR(20) NOT NULL COMMENT '角色: user, assistant, system',
`content` TEXT NOT NULL COMMENT '消息内容',
`tokens` INT UNSIGNED DEFAULT 0 COMMENT 'Token数量',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`deleted` TINYINT UNSIGNED DEFAULT 0 COMMENT '逻辑删除标记',
PRIMARY KEY (`id`),
KEY `idx_conversation_id` (`conversation_id`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI消息表';
-- AI使用记录表可选用于更详细的统计
CREATE TABLE IF NOT EXISTS `ai_usage_logs` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID',
`tenant_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '租户ID',
`service` VARCHAR(50) NOT NULL COMMENT 'AI服务',
`model` VARCHAR(100) NOT NULL COMMENT '模型',
`request_type` VARCHAR(50) NOT NULL COMMENT '请求类型: chat, task, test',
`input_tokens` INT UNSIGNED DEFAULT 0 COMMENT '输入Token数',
`output_tokens` INT UNSIGNED DEFAULT 0 COMMENT '输出Token数',
`total_tokens` INT UNSIGNED DEFAULT 0 COMMENT '总Token数',
`response_time_ms` INT UNSIGNED DEFAULT 0 COMMENT '响应时间(毫秒)',
`status` VARCHAR(20) DEFAULT 'success' COMMENT '状态: success, failed',
`error_message` TEXT DEFAULT NULL COMMENT '错误信息',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_service_model` (`service`, `model`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI使用记录表';