后台管理功能实现
This commit is contained in:
@@ -936,5 +936,265 @@ WHERE
|
||||
ORDER BY
|
||||
TABLE_NAME;
|
||||
|
||||
-- ============================================================================
|
||||
-- 19. AI接口配置表 (t_ai_config)
|
||||
-- 用于存储各种AI接口的调用配置,支持从配置文件迁移到数据库管理
|
||||
-- ============================================================================
|
||||
CREATE TABLE t_ai_config (
|
||||
id VARCHAR(64) PRIMARY KEY COMMENT 'UUID主键',
|
||||
config_name VARCHAR(100) NOT NULL COMMENT '配置名称',
|
||||
config_key VARCHAR(100) NOT NULL UNIQUE COMMENT '配置键值 (唯一标识)',
|
||||
config_type VARCHAR(50) NOT NULL DEFAULT 'coze' COMMENT '配置类型: coze-扣子, openai-OpenAI, claude-Claude, gemini-Gemini等',
|
||||
provider VARCHAR(50) NOT NULL COMMENT '服务提供商: coze, openai, anthropic, google等',
|
||||
|
||||
-- API基础配置
|
||||
api_base_url VARCHAR(500) NOT NULL COMMENT 'API基础URL',
|
||||
api_token VARCHAR(1000) NOT NULL COMMENT 'API访问令牌 (加密存储)',
|
||||
api_version VARCHAR(20) COMMENT 'API版本',
|
||||
|
||||
-- 模型配置
|
||||
model_name VARCHAR(100) COMMENT '模型名称',
|
||||
bot_id VARCHAR(100) COMMENT 'Bot ID (Coze专用)',
|
||||
workflow_id VARCHAR(100) COMMENT 'Workflow ID (Coze专用)',
|
||||
|
||||
-- 请求配置
|
||||
timeout_ms INT DEFAULT 30000 COMMENT '超时时间(毫秒)',
|
||||
retry_count INT DEFAULT 3 COMMENT '重试次数',
|
||||
retry_delay_ms INT DEFAULT 1000 COMMENT '重试延迟(毫秒)',
|
||||
max_tokens INT DEFAULT 4000 COMMENT '最大Token数',
|
||||
temperature DECIMAL(3,2) DEFAULT 0.7 COMMENT '温度参数 (0.0-2.0)',
|
||||
top_p DECIMAL(3,2) DEFAULT 1.0 COMMENT 'Top-p参数 (0.0-1.0)',
|
||||
|
||||
-- 功能配置
|
||||
support_stream TINYINT DEFAULT 1 COMMENT '是否支持流式输出: 0-不支持, 1-支持',
|
||||
support_function_call TINYINT DEFAULT 0 COMMENT '是否支持函数调用: 0-不支持, 1-支持',
|
||||
support_vision TINYINT DEFAULT 0 COMMENT '是否支持视觉理解: 0-不支持, 1-支持',
|
||||
support_file_upload TINYINT DEFAULT 0 COMMENT '是否支持文件上传: 0-不支持, 1-支持',
|
||||
|
||||
-- 使用场景配置
|
||||
usage_scenario VARCHAR(100) NOT NULL COMMENT '使用场景: chat-聊天, summary-总结, emotion_analysis-情绪分析, content_generation-内容生成等',
|
||||
priority INT DEFAULT 0 COMMENT '优先级 (数值越大优先级越高)',
|
||||
|
||||
-- 费用配置
|
||||
input_price_per_1k DECIMAL(10,6) DEFAULT 0.000000 COMMENT '输入Token价格(每1K)',
|
||||
output_price_per_1k DECIMAL(10,6) DEFAULT 0.000000 COMMENT '输出Token价格(每1K)',
|
||||
currency VARCHAR(10) DEFAULT 'USD' COMMENT '货币单位',
|
||||
|
||||
-- 限制配置
|
||||
rate_limit_per_minute INT DEFAULT 60 COMMENT '每分钟请求限制',
|
||||
rate_limit_per_hour INT DEFAULT 3600 COMMENT '每小时请求限制',
|
||||
rate_limit_per_day INT DEFAULT 86400 COMMENT '每日请求限制',
|
||||
|
||||
-- 状态配置
|
||||
is_enabled TINYINT DEFAULT 1 COMMENT '是否启用: 0-禁用, 1-启用',
|
||||
is_default TINYINT DEFAULT 0 COMMENT '是否为默认配置: 0-否, 1-是',
|
||||
environment VARCHAR(20) DEFAULT 'production' COMMENT '环境: development-开发, testing-测试, production-生产',
|
||||
|
||||
-- 扩展配置
|
||||
custom_headers JSON COMMENT '自定义请求头',
|
||||
custom_params JSON COMMENT '自定义参数',
|
||||
webhook_url VARCHAR(500) COMMENT 'Webhook回调地址',
|
||||
|
||||
-- 监控配置
|
||||
health_check_url VARCHAR(500) COMMENT '健康检查URL',
|
||||
health_check_interval_minutes INT DEFAULT 5 COMMENT '健康检查间隔(分钟)',
|
||||
|
||||
-- 描述信息
|
||||
description TEXT COMMENT '配置描述',
|
||||
usage_notes TEXT COMMENT '使用说明',
|
||||
|
||||
-- 公共字段
|
||||
create_by VARCHAR(64) COMMENT '创建人ID',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_by VARCHAR(64) COMMENT '更新人ID',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-未删除, 1-已删除',
|
||||
remarks VARCHAR(500) COMMENT '备注'
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI接口配置表 (t_ai_config)';
|
||||
|
||||
-- AI配置表索引
|
||||
CREATE INDEX idx_ai_config_config_key ON t_ai_config (config_key);
|
||||
CREATE INDEX idx_ai_config_config_type ON t_ai_config (config_type);
|
||||
CREATE INDEX idx_ai_config_provider ON t_ai_config (provider);
|
||||
CREATE INDEX idx_ai_config_usage_scenario ON t_ai_config (usage_scenario);
|
||||
CREATE INDEX idx_ai_config_is_enabled ON t_ai_config (is_enabled);
|
||||
CREATE INDEX idx_ai_config_is_default ON t_ai_config (is_default);
|
||||
CREATE INDEX idx_ai_config_environment ON t_ai_config (environment);
|
||||
CREATE INDEX idx_ai_config_priority ON t_ai_config (priority);
|
||||
CREATE INDEX idx_ai_config_create_time ON t_ai_config (create_time);
|
||||
CREATE INDEX idx_ai_config_update_time ON t_ai_config (update_time);
|
||||
CREATE INDEX idx_ai_config_is_deleted ON t_ai_config (is_deleted);
|
||||
CREATE INDEX idx_ai_config_scenario_enabled ON t_ai_config (usage_scenario, is_enabled);
|
||||
CREATE INDEX idx_ai_config_type_enabled ON t_ai_config (config_type, is_enabled);
|
||||
|
||||
-- ============================================================================
|
||||
-- AI配置初始化数据
|
||||
-- 基于AiChatServiceImpl.java中的配置参数创建默认配置
|
||||
-- ============================================================================
|
||||
|
||||
-- 1. Coze聊天配置 (默认聊天场景)
|
||||
INSERT INTO t_ai_config (
|
||||
id, config_name, config_key, config_type, provider,
|
||||
api_base_url, api_token, api_version,
|
||||
bot_id, workflow_id,
|
||||
timeout_ms, retry_count, retry_delay_ms, max_tokens, temperature,
|
||||
support_stream, support_function_call, support_vision, support_file_upload,
|
||||
usage_scenario, priority, is_enabled, is_default, environment,
|
||||
input_price_per_1k, output_price_per_1k, currency,
|
||||
rate_limit_per_minute, rate_limit_per_hour, rate_limit_per_day,
|
||||
description, usage_notes,
|
||||
create_time, update_time, is_deleted
|
||||
) VALUES (
|
||||
REPLACE(UUID(), '-', ''),
|
||||
'Coze聊天机器人配置',
|
||||
'coze.chat.default',
|
||||
'coze',
|
||||
'coze',
|
||||
'https://api.coze.cn',
|
||||
'sat_WgqusMh5gTfgRhsEFycGA5n9NailrJYV1rHeruJCHNB1gAvJz4laprLsvK8i2jEL',
|
||||
'v3',
|
||||
'7523042446285439016',
|
||||
'7523047462895796287',
|
||||
30000, 3, 1000, 4000, 0.7,
|
||||
1, 1, 0, 0,
|
||||
'chat', 100, 1, 1, 'production',
|
||||
0.001000, 0.002000, 'USD',
|
||||
60, 3600, 86400,
|
||||
'Coze平台的默认聊天机器人配置,用于日常情绪对话',
|
||||
'1. 需要配置有效的API Token\n2. 需要配置Bot ID和Workflow ID\n3. 支持流式输出和函数调用',
|
||||
NOW(), NOW(), 0
|
||||
);
|
||||
|
||||
-- 2. Coze总结配置 (专用于对话总结)
|
||||
INSERT INTO t_ai_config (
|
||||
id, config_name, config_key, config_type, provider,
|
||||
api_base_url, api_token, api_version,
|
||||
bot_id, workflow_id,
|
||||
timeout_ms, retry_count, retry_delay_ms, max_tokens, temperature,
|
||||
support_stream, support_function_call, support_vision, support_file_upload,
|
||||
usage_scenario, priority, is_enabled, is_default, environment,
|
||||
input_price_per_1k, output_price_per_1k, currency,
|
||||
rate_limit_per_minute, rate_limit_per_hour, rate_limit_per_day,
|
||||
description, usage_notes,
|
||||
create_time, update_time, is_deleted
|
||||
) VALUES (
|
||||
REPLACE(UUID(), '-', ''),
|
||||
'Coze对话总结配置',
|
||||
'coze.summary.default',
|
||||
'coze',
|
||||
'coze',
|
||||
'https://api.coze.cn',
|
||||
'sat_WgqusMh5gTfgRhsEFycGA5n9NailrJYV1rHeruJCHNB1gAvJz4laprLsvK8i2jEL',
|
||||
'v3',
|
||||
'7529062814150295595',
|
||||
'7523047462895796287',
|
||||
30000, 3, 1000, 8000, 0.3,
|
||||
0, 0, 0, 0,
|
||||
'summary', 90, 1, 1, 'production',
|
||||
0.001000, 0.002000, 'USD',
|
||||
30, 1800, 43200,
|
||||
'Coze平台的对话总结配置,专门用于生成对话摘要和情绪分析',
|
||||
'1. 使用较低的temperature以获得更稳定的总结结果\n2. 增加max_tokens以支持长文本总结\n3. 不支持流式输出',
|
||||
NOW(), NOW(), 0
|
||||
);
|
||||
|
||||
-- 3. Coze情绪分析配置 (专用于情绪分析)
|
||||
INSERT INTO t_ai_config (
|
||||
id, config_name, config_key, config_type, provider,
|
||||
api_base_url, api_token, api_version,
|
||||
bot_id, workflow_id,
|
||||
timeout_ms, retry_count, retry_delay_ms, max_tokens, temperature,
|
||||
support_stream, support_function_call, support_vision, support_file_upload,
|
||||
usage_scenario, priority, is_enabled, is_default, environment,
|
||||
input_price_per_1k, output_price_per_1k, currency,
|
||||
rate_limit_per_minute, rate_limit_per_hour, rate_limit_per_day,
|
||||
description, usage_notes,
|
||||
create_time, update_time, is_deleted
|
||||
) VALUES (
|
||||
REPLACE(UUID(), '-', ''),
|
||||
'Coze情绪分析配置',
|
||||
'coze.emotion_analysis.default',
|
||||
'coze',
|
||||
'coze',
|
||||
'https://api.coze.cn',
|
||||
'sat_WgqusMh5gTfgRhsEFycGA5n9NailrJYV1rHeruJCHNB1gAvJz4laprLsvK8i2jEL',
|
||||
'v3',
|
||||
'7529062814150295595', -- 复用总结bot,或配置专门的情绪分析bot
|
||||
'7523047462895796287', -- 复用总结workflow,或配置专门的情绪分析workflow
|
||||
45000, 3, 1500, 6000, 0.2,
|
||||
0, 1, 0, 0,
|
||||
'emotion_analysis', 95, 1, 1, 'production',
|
||||
0.001000, 0.002000, 'USD',
|
||||
20, 1200, 28800,
|
||||
'Coze平台的情绪分析配置,用于分析用户聊天记录的情绪状态',
|
||||
'1. 使用最低的temperature以获得准确的情绪分析\n2. 支持函数调用以获取结构化的分析结果\n3. 增加超时时间以处理复杂的情绪分析',
|
||||
NOW(), NOW(), 0
|
||||
);
|
||||
|
||||
-- 4. 备用OpenAI配置 (作为备选方案)
|
||||
INSERT INTO t_ai_config (
|
||||
id, config_name, config_key, config_type, provider,
|
||||
api_base_url, api_token, api_version,
|
||||
model_name,
|
||||
timeout_ms, retry_count, retry_delay_ms, max_tokens, temperature, top_p,
|
||||
support_stream, support_function_call, support_vision, support_file_upload,
|
||||
usage_scenario, priority, is_enabled, is_default, environment,
|
||||
input_price_per_1k, output_price_per_1k, currency,
|
||||
rate_limit_per_minute, rate_limit_per_hour, rate_limit_per_day,
|
||||
description, usage_notes,
|
||||
create_time, update_time, is_deleted
|
||||
) VALUES (
|
||||
REPLACE(UUID(), '-', ''),
|
||||
'OpenAI GPT-4备用配置',
|
||||
'openai.gpt4.backup',
|
||||
'openai',
|
||||
'openai',
|
||||
'https://api.openai.com/v1',
|
||||
'sk-placeholder-openai-api-key-here', -- 需要配置实际的OpenAI API Key
|
||||
'v1',
|
||||
'gpt-4-turbo-preview',
|
||||
30000, 3, 2000, 4000, 0.7, 1.0,
|
||||
1, 1, 1, 1,
|
||||
'chat', 50, 0, 0, 'production', -- 默认禁用,作为备用
|
||||
0.010000, 0.030000, 'USD',
|
||||
60, 3600, 86400,
|
||||
'OpenAI GPT-4备用配置,当Coze服务不可用时的备选方案',
|
||||
'1. 需要配置有效的OpenAI API Key\n2. 支持视觉理解和文件上传\n3. 成本较高,建议作为备用方案',
|
||||
NOW(), NOW(), 0
|
||||
);
|
||||
|
||||
-- 5. 开发环境测试配置
|
||||
INSERT INTO t_ai_config (
|
||||
id, config_name, config_key, config_type, provider,
|
||||
api_base_url, api_token, api_version,
|
||||
bot_id, workflow_id,
|
||||
timeout_ms, retry_count, retry_delay_ms, max_tokens, temperature,
|
||||
support_stream, support_function_call, support_vision, support_file_upload,
|
||||
usage_scenario, priority, is_enabled, is_default, environment,
|
||||
input_price_per_1k, output_price_per_1k, currency,
|
||||
rate_limit_per_minute, rate_limit_per_hour, rate_limit_per_day,
|
||||
description, usage_notes,
|
||||
create_time, update_time, is_deleted
|
||||
) VALUES (
|
||||
REPLACE(UUID(), '-', ''),
|
||||
'Coze开发环境测试配置',
|
||||
'coze.chat.development',
|
||||
'coze',
|
||||
'coze',
|
||||
'https://api.coze.cn',
|
||||
'sat_WgqusMh5gTfgRhsEFycGA5n9NailrJYV1rHeruJCHNB1gAvJz4laprLsvK8i2jEL', -- 开发环境可使用相同token或配置专门的开发token
|
||||
'v3',
|
||||
'7523042446285439016', -- 开发环境可使用相同bot-id或配置专门的开发bot-id
|
||||
'7523047462895796287', -- 开发环境可使用相同workflow-id或配置专门的开发workflow-id
|
||||
10000, 2, 500, 2000, 0.8,
|
||||
1, 1, 0, 0,
|
||||
'chat', 80, 1, 0, 'development',
|
||||
0.000500, 0.001000, 'USD',
|
||||
120, 7200, 172800,
|
||||
'Coze平台开发环境测试配置,用于开发和调试',
|
||||
'1. 开发环境专用配置\n2. 较短的超时时间和更高的请求限制\n3. 用于功能测试和调试',
|
||||
NOW(), NOW(), 0
|
||||
);
|
||||
|
||||
-- 提交事务
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user