This commit is contained in:
张成
2025-12-27 20:14:40 +08:00
parent 43382668a3
commit 43f7884e52
14 changed files with 1818 additions and 21 deletions

View File

@@ -0,0 +1,35 @@
-- 添加"AI调用记录"菜单项到系统设置菜单下
INSERT INTO sys_menu (
name,
parent_id,
model_id,
form_id,
icon,
path,
component,
api_path,
is_show_menu,
is_show,
type,
sort,
create_time,
last_modify_time,
is_delete
) VALUES (
'AI调用记录', -- 菜单名称
0, -- parent_id: 系统设置菜单的ID根据实际情况调整
0, -- model_id
0, -- form_id
'md-analytics', -- icon: 分析图标
'ai_call_records', -- path: 路由路径
'system/ai_call_records.vue', -- component: 组件路径(已在 component-map.js 中定义)
'system/ai_call_records_server.js', -- api_path: API 服务文件路径
1, -- is_show_menu: 1=显示在菜单栏
1, -- is_show: 1=启用
'页面', -- type: 页面类型
10, -- sort: 排序(可根据实际情况调整)
NOW(), -- create_time: 创建时间
NOW(), -- last_modify_time: 最后修改时间
0 -- is_delete: 0=未删除
);

View File

@@ -0,0 +1,32 @@
-- 创建 AI 调用记录表
-- 用于记录所有 AI API 调用的详细信息和 Token 使用情况
CREATE TABLE `ai_call_records` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`user_id` INT(11) NULL DEFAULT NULL COMMENT '用户ID如果是用户触发的调用',
`sn_code` VARCHAR(50) NULL DEFAULT NULL COMMENT '设备序列号',
`service_type` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '服务类型chat, completion, embedding等',
`model_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'AI模型名称gpt-4, gpt-3.5-turbo等',
`prompt_tokens` INT(11) NOT NULL DEFAULT 0 COMMENT '输入Token数量',
`completion_tokens` INT(11) NOT NULL DEFAULT 0 COMMENT '输出Token数量',
`total_tokens` INT(11) NOT NULL DEFAULT 0 COMMENT '总Token数量',
`request_content` TEXT NULL COMMENT '请求内容用户输入的prompt',
`response_content` TEXT NULL COMMENT '响应内容AI返回的结果',
`cost_amount` DECIMAL(10,4) NULL DEFAULT NULL COMMENT '本次调用费用(元)',
`status` VARCHAR(20) NOT NULL DEFAULT 'success' COMMENT '调用状态success=成功, failed=失败, timeout=超时)',
`error_message` TEXT NULL COMMENT '错误信息(如果调用失败)',
`response_time` INT(11) NULL DEFAULT NULL COMMENT '响应时间(毫秒)',
`api_provider` VARCHAR(50) NOT NULL DEFAULT 'openai' COMMENT 'API提供商openai, azure, anthropic等',
`business_type` VARCHAR(50) NULL DEFAULT NULL COMMENT '业务类型job_filter, chat, resume_optimization等',
`reference_id` INT(11) NULL DEFAULT NULL COMMENT '关联业务ID如job_posting_id, chat_record_id等',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`is_delete` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除1=已删除0=未删除)',
PRIMARY KEY (`id`),
INDEX `idx_user_id` (`user_id`),
INDEX `idx_sn_code` (`sn_code`),
INDEX `idx_service_type` (`service_type`),
INDEX `idx_status` (`status`),
INDEX `idx_create_time` (`create_time`),
INDEX `idx_business_type` (`business_type`),
INDEX `idx_reference_id` (`reference_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI调用记录表';