package com.senmesh.sdk.dify.dto; import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; import java.util.List; import java.util.Map; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * Dify对话请求 * * @author sr */ @Data @NoArgsConstructor @AllArgsConstructor @Builder public class DifyChatRequest implements Serializable { private static final long serialVersionUID = 1L; /** 输入参数 */ private Map inputs; /** 查询内容 */ private String query; /** 响应模式: blocking/streaming */ @JsonProperty("response_mode") @Builder.Default private String responseMode = "blocking"; /** 会话ID */ @JsonProperty("conversation_id") private String conversationId; /** 用户标识 */ private String user; /** 文件列表 */ private List files; /** * 文件信息 */ @Data @NoArgsConstructor @AllArgsConstructor @Builder public static class DifyFileInfo implements Serializable { private static final long serialVersionUID = 1L; /** 文件类型: image/document */ private String type; /** 传输方式: remote_url/local_file */ @JsonProperty("transfer_method") @Builder.Default private String transferMethod = "local_file"; /** 远程URL */ private String url; /** 上传文件ID */ @JsonProperty("upload_file_id") private String uploadFileId; } }