package com.lingyue.ai.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * DeepSeek Chat API 请求
 *
 * @author lingyue
 * @since 2026-01-15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatRequest {

    /**
     * 模型名称
     */
    private String model;

    /**
     * 消息列表
     */
    private List<ChatMessage> messages;

    /**
     * 温度参数（0-2，默认1）
     */
    @Builder.Default
    private Double temperature = 0.7;

    /**
     * 最大生成 Token 数
     */
    @Builder.Default
    private Integer max_tokens = 2048;

    /**
     * 是否流式返回
     */
    @Builder.Default
    private Boolean stream = false;

    /**
     * 快速创建请求
     */
    public static ChatRequest of(String model, List<ChatMessage> messages) {
        return ChatRequest.builder()
                .model(model)
                .messages(messages)
                .build();
    }
}
