package com.erp.ai.service;

import java.util.List;
import java.util.Map;

/**
 * AI模型管理服务接口
 */
public interface AIModelService {

    /**
     * 获取可用模型列表
     *
     * @return 模型列表（按服务分组）
     */
    Map<String, Object> getModels();

    /**
     * 切换AI模型
     *
     * @param service  服务名称
     * @param model    模型ID
     * @param userId   用户ID（用于记录日志）
     * @return 切换结果
     */
    Map<String, Object> switchModel(String service, String model, Long userId);

    /**
     * 获取当前模型信息
     *
     * @return 当前模型详情
     */
    Map<String, Object> getCurrentModel();

    /**
     * 测试模型连接
     *
     * @param service 服务名称（可选，使用当前服务）
     * @param model   模型ID（可选）
     * @return 测试结果
     */
    Map<String, Object> testModel(String service, String model);

    /**
     * 获取模型使用统计
     *
     * @param period 统计周期：day, week, month
     * @return 统计数据
     */
    Map<String, Object> getModelStatistics(String period);

    /**
     * 获取模型推荐
     *
     * @return 推荐列表
     */
    Map<String, Object> getModelRecommendations();
}
