apifox测试excel文件上传,后端处理逻辑

学习链接:api测试Excel
Excel注解
任务描述:使用springboot框架与apifox测试软件以及ExcelUtil工具类完成对excel表的解析,并将数据转换为json格式。
excel注解

apifox测试描述

在这里插入图片描述
补充说明:文档上传,前端为form-data。

后端

easyExcel依赖:

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.2.10</version>
        </dependency>

Controller层:

在这里插入图片描述

service层:

在这里插入图片描述

在这里插入图片描述

domain实体类:

在这里插入图片描述
补充概念:
@Data:将@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstructor的功能捆绑在一起。@Data生成通常与简单POJO和bean关联的所有样板文件,所有字段的getter,所有非最终字段的setter、以及适当的toString、equals和hashCode实现。这些实现涉及类的字段、以及初始化所有最终字段的构造函数,以及所有没有使用@NonNull标记的初始化器的非最终字段

@Excel:@Excel(name=“excel表上的列名,类似与id值”,readConverterExp=“0为是,1为否”,dataFormat=“yyyy-MM-dd HH:mm:ss”)

学习链接:添加链接描述
注解:
@ExcelProperty:注解中有三个参数value,index,converter分别代表列名、列序号、数据转换格式;
@ColumnWith:列宽度的注解,只有一个value参数,最大可以设置255字符;
@ContentFontStyle:字体样式

参数含义
fontName字体名称
fontHeightInPoints字体高度
italic是否斜体
strikeout是否设置删除水平线
color字体颜色
typeOffset偏移量
underline下划线
bold是否加粗
charset编码格式

@ContentLoopMerge:合并单元格
eachRow\columnExtend->@ContentLoopMerge(eachRow=2)
@ContentRowHeight:设置行高
value:-1表示自动行高

Jackson:学习链接添加链接描述
json转Java:创建jackson的核心对象:ObjectMapper;调用objectMapper的相关方法进行数据转换----将json字符串转换为java对象om.readValue(string,对象)

java转Json:创建ObjectMapper对象;om.writeValueAsString(对象)

json:定义JsonObject jo = new J();添加:json.put(“key”,“value”);删除:json.remove(key);清除:json.clear()。
数组的:JsonArray a= new J();添加:a.add(jo);删除:a.remove(jo);

### 大模型对齐微调DPO方法详解 #### DPO简介 直接偏好优化(Direct Preference Optimization, DPO)是一种用于改进大型语言模型行为的技术,该技术通过结合奖励模型训练和强化学习来提升训练效率与稳定性[^1]。 #### 实现机制 DPO的核心在于它能够依据人类反馈调整模型输出的概率分布。具体来说,当给定一对候选响应时,DPO试图使更受偏好的那个选项具有更高的生成概率。这种方法不仅简化了传统强化学习所需的复杂环境设置,而且显著增强了模型对于多样化指令的理解能力和执行精度[^2]。 #### PAI平台上的实践指南 为了便于开发者实施这一先进理念,在PAI-QuickStart框架下提供了详尽的操作手册。这份文档覆盖了从环境配置直至完成整个微调流程所需的一切细节,包括但不限于数据准备、参数设定以及性能评估等方面的内容。尤其值得注意的是,针对阿里云最新发布的开源LLM——Qwen2系列,文中给出了具体的实例说明,使得即使是初次接触此类工作的用户也能顺利上手。 ```python from transformers import AutoModelForCausalLM, Trainer, TrainingArguments model_name_or_path = "qwen-model-name" tokenizer_name = model_name_or_path training_args = TrainingArguments( output_dir="./results", per_device_train_batch_size=8, num_train_epochs=3, ) trainer = Trainer( model_init=lambda: AutoModelForCausalLM.from_pretrained(model_name_or_path), args=training_args, train_dataset=train_dataset, ) # 假设已经定义好了train_dataset trainer.train() ``` 这段代码片段展示了如何使用Hugging Face库加载预训练模型并对其进行微调的过程。虽然这里展示的例子并不完全对应于DPO的具体实现方式,但它提供了一个基础模板供进一步定制化开发之用[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值