package com.erp.ai.service;

import com.erp.ai.dto.MessageDTO;

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

/**
 * AI对话服务接口
 */
public interface AIChatService {

    /**
     * 发送对话消息
     *
     * @param messages  消息列表
     * @param options   选项（max_tokens, temperature等）
     * @return AI响应结果
     */
    Map<String, Object> chat(List<MessageDTO> messages, Map<String, Object> options);

    /**
     * 测试AI连接
     *
     * @return 测试结果
     */
    Map<String, Object> testConnection();

    /**
     * 获取当前服务
     *
     * @return 当前服务名称
     */
    String getCurrentService();

    /**
     * 设置AI服务
     *
     * @param service 服务名称
     */
    void setService(String service);

    /**
     * 获取可用服务列表
     *
     * @return 服务列表
     */
    List<String> getAvailableServices();

    /**
     * 获取服务状态
     *
     * @return 服务状态Map
     */
    Map<String, Map<String, Object>> getServiceStatus();
}
