package com.heyu.api.baidu.request.convert;


import com.heyu.api.baidu.response.BBaseResp;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/***
 * https://console.bce.baidu.com/support/?_=1740703582749&timestamp=1740704125877#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E6%99%BA%E8%83%BD%E6%96%87%E6%A1%A3%E5%88%86%E6%9E%90&api=rest%2F2.0%2Fbrain%2Fonline%2Fv2%2Fparser%2Ftask&method=post
 *
 * 文档解析-提交请求
 */
@NoArgsConstructor
@Data
public class BParserTextRequest extends BBaseResp {

    /***
     * 文件的base64编码数据：
     * -版式文档：pdf、jpg、jpeg、png、bmp、tif、tiff、ofd、ppt、pptx
     * -流式文档：doc、docx、txt、xls、xlsx、wps
     * 文档大小不超过50M，文档页数不超过1000页（流式文档按2000字算一页）
     * 优先级： file_data > file_url，当file_data字段存在时，file_url字段失效
     */
    private String fileData;

    /***
     * 文件完整URL，URL长度不超过1024字节，支持格式与file一致，仅支持上传1篇文件，文件大小不超过50M
     * 优先级： file_data > file_url，当file_data字段存在时，file_url字段失效
     * 请注意关闭URL防盗链
     */
    private String fileUrl;


    /***
     * 文件名，请保证文件名后缀正确，例如 "1.pdf "
     */
    private String fileName;


    /***
     * JSON 字符串，文档切分的传参结构，Python中，json字符串示例 json.dumps({"switch": True, "chunk_size": -1 })，详细结构详见下方说明，具体调用方式详见下方请求示例
     */
    private String returnDocChunks;


/***
 * True/False	是否进行文档内容切分，「default=False」
 */
    private String switchBoolean = "False";


    /***
     * (0,∞)	切分块的大小，按照字符数统计。若段落字符数小于或等于chunk_size，则按chunk_size切分；若大于chunk_size，则整段作为一个切分块，不因chunk_size限制而额外切分。
     * 「default=-1」，表示不限制切分块的大小，按照文档的段落进行切分
     */
    private Integer chunkSize;


    /***
     * chunk/mark	切分方式。
     * chunk:按照字符数「chunk_size」切分;
     * mark:按照「separators」中的标点符号切分;
     * 「default=chunk」
     */
    private String splitType;


    /***
     * 切分标点，仅包含表示一句话结束的标点。
     * 「default=["。", "；", "！", "？", ";", "!", "?"]」
     */
    private List<String> list;

}