package com.seer.teach.teacher.service.platform;

import com.seer.teach.teacher.common.llm.sse.req.Message;
import lombok.Data;

import java.util.List;

/**
 * 通用大模型API请求数据结构
 * 适用于文生图和推理模型，适配各个平台
 */
@Data
public class LlmRequest {

    /**
     * 用户ID
     */
    private String url;
    
    /**
     * 模型名称
     */
    private String model;

    /**
     * API密钥
     */
    private String apiKey;

    /**
     * 身份标识
     */
    private String ak;

    /**
     * 请求签名
     */
    private String sk;

    /**
     * 提示词
     */
    private String prompt;

    /**
     * 文本
     */
    private String text;

    /**
     * 消息
     */
    private List<Message> messages;

    /**
     * 负向提示词
     */
    private String negativePrompt;
    
    /**
     * 是否启用流式输出
     */
    private Boolean stream = false;

    /**
     * 最大输入token数
     */
    private Integer maxInputTokens;

    /**
     * 最大输出token数
     */
    private Integer maxTokens;
    
    /**
     * 温度参数
     */
    private Double temperature;
    
    /**
     * 核采样参数
     */
    private Double topP;
    
    /**
     * 图片宽度
     */
    private Integer width;
    
    /**
     * 图片高度
     */
    private Integer height;
    
    /**
     * 生成图片数量
     */
    private Integer n = 1;
    
}