using iyixiGames.AI.DTOs.DeepSeek;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace iyixiGames.AI.Services
{
    /// <summary>
    /// DeepSeek AI 服务的接口。
    /// </summary>
    public interface IDeepSeekService
    {
        /// <summary>
        /// 调用 DeepSeek API 进行聊天完成。
        /// </summary>
        /// <param name="messages">聊天消息列表。</param>
        /// <param name="model">要使用的模型名称（可选，默认使用配置中的模型）。</param>
        /// <param name="maxTokens">最大生成 token 数（可选）。</param>
        /// <param name="temperature">生成温度（可选）。</param>
        /// <returns>DeepSeek 聊天完成响应。</returns>
        Task<DeepSeekChatCompletionResponse?> GetChatCompletionAsync(
            List<DeepSeekMessage> messages,
            string? model = null,
            int? maxTokens = null,
            double? temperature = null
        );

        /// <summary>
        /// 根据用户输入获取一个简单的文本响应。
        /// </summary>
        /// <param name="prompt">用户输入。</param>
        /// <returns>AI 生成的文本响应。</returns>
        Task<string?> GetTextResponseAsync(string prompt);
    }
}