liwen
3 months ago
21 changed files with 309 additions and 133 deletions
@ -0,0 +1,39 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.controller; |
||||||
|
|
||||||
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.service.ZhipuAnalysisInfoService; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisInfoVO; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import io.swagger.annotations.ApiParam; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springblade.core.tool.utils.Func; |
||||||
|
import org.springframework.validation.annotation.Validated; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 20:22 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@Api(value = "智谱分析信息管理", tags = "智谱分析信息管理") |
||||||
|
@RequestMapping("/zhipu/info") |
||||||
|
@AllArgsConstructor |
||||||
|
public class ZhipuAnalysisInfoController { |
||||||
|
private final ZhipuAnalysisInfoService analysisInfoService; |
||||||
|
|
||||||
|
@PostMapping("/save") |
||||||
|
@ApiOperation("保存智谱分析信息") |
||||||
|
@ApiOperationSupport(order = 1) |
||||||
|
public R<Boolean> save(@RequestBody @Validated ZhipuAnalysisInfoVO request) { |
||||||
|
return R.status(analysisInfoService.save(request.toEntity())); |
||||||
|
} |
||||||
|
|
||||||
|
@GetMapping("/remove") |
||||||
|
@ApiOperation("批量删除智谱分析信息") |
||||||
|
@ApiOperationSupport(order = 2) |
||||||
|
public R<Boolean> remove (@RequestParam @ApiParam("主键ID,按逗号分隔") String ids) { |
||||||
|
return R.status(analysisInfoService.removeByIds(Func.toLongList(",",ids))); |
||||||
|
} |
||||||
|
} |
@ -1,25 +1,53 @@ |
|||||||
package com.hnac.hzims.bigmodel.zhipuai.entity; |
package com.hnac.hzims.bigmodel.zhipuai.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
import lombok.Data; |
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
import org.springblade.core.mp.base.BaseEntity; |
import org.springblade.core.mp.base.BaseEntity; |
||||||
|
|
||||||
/** |
/** |
||||||
* @Author: ypj |
* @Author: ypj |
||||||
* @Date: 2024/8/8 15:17 |
* @Date: 2024/8/8 15:17 |
||||||
*/ |
*/ |
||||||
|
@ApiModel(value ="大模型分析信息") |
||||||
@Data |
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@TableName("hzims_analysis_info") |
||||||
public class ZhipuAnalysisInfoEntity extends BaseEntity { |
public class ZhipuAnalysisInfoEntity extends BaseEntity { |
||||||
|
|
||||||
private String resultType; |
@ApiModelProperty(value = "策略编码") |
||||||
|
@TableField("CODE") |
||||||
|
private String code; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "策略名称") |
||||||
|
@TableField("NAME") |
||||||
private String name; |
private String name; |
||||||
|
|
||||||
private String code; |
@ApiModelProperty(value = "调用模型名称") |
||||||
|
@TableField("MODEL") |
||||||
private String model; |
private String model; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "模型交互内容") |
||||||
|
@TableField("REQUEST_CONTENT") |
||||||
private String requestContent; |
private String requestContent; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果解析策略") |
||||||
|
@TableField("RESULT_STRATEGY") |
||||||
private String resultStrategy; |
private String resultStrategy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果类型") |
||||||
|
@TableField("RESULT_TYPE") |
||||||
|
private String resultType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果查询key值") |
||||||
|
@TableField("RESULT_KEY") |
||||||
|
private String resultKey; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果对比内容") |
||||||
|
@TableField("RESULT_CONDITION") |
||||||
|
private String resultCondition; |
||||||
|
|
||||||
} |
} |
||||||
|
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 20:05 |
||||||
|
*/ |
||||||
|
public interface ZhipuAnalysisInfoMapper extends BaseMapper<ZhipuAnalysisInfoEntity> { |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.service; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 20:03 |
||||||
|
*/ |
||||||
|
public interface ZhipuAnalysisInfoService extends IService<ZhipuAnalysisInfoEntity> { |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.service.impl; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.mapper.ZhipuAnalysisInfoMapper; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.service.ZhipuAnalysisInfoService; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 20:03 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class ZhipuAnalysisInfoServiceImpl extends ServiceImpl<ZhipuAnalysisInfoMapper, ZhipuAnalysisInfoEntity> implements ZhipuAnalysisInfoService { |
||||||
|
} |
@ -0,0 +1,45 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.utils; |
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
|
||||||
|
import java.io.File; |
||||||
|
import java.io.FileInputStream; |
||||||
|
import java.io.IOException; |
||||||
|
import java.util.Base64; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 21:07 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
public class ZhipuUtil { |
||||||
|
|
||||||
|
public static byte[] getFileBytes(String filePath) { |
||||||
|
File file = new File(filePath); |
||||||
|
FileInputStream fileInputStream = null; |
||||||
|
try { |
||||||
|
fileInputStream = new FileInputStream(file); |
||||||
|
byte[] bytes = new byte[(int) file.length()]; |
||||||
|
fileInputStream.read(bytes); |
||||||
|
return bytes; |
||||||
|
} catch (Exception e) { |
||||||
|
log.error("读取文件出错", e); |
||||||
|
} finally { |
||||||
|
if (null != fileInputStream) { |
||||||
|
try { |
||||||
|
fileInputStream.close(); |
||||||
|
} catch (IOException ignore) { |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
public static String getBase64(byte[] bytes) { |
||||||
|
return Base64.getEncoder().encodeToString(bytes); |
||||||
|
} |
||||||
|
|
||||||
|
public static String getBase64(String filePath) { |
||||||
|
return getBase64(getFileBytes(filePath)); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.vo; |
||||||
|
|
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
import org.springblade.core.tool.utils.BeanUtil; |
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 15:17 |
||||||
|
*/ |
||||||
|
@ApiModel(value = "大模型分析信息") |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
public class ZhipuAnalysisInfoVO { |
||||||
|
|
||||||
|
@ApiModelProperty(value = "策略编码") |
||||||
|
@NotNull |
||||||
|
private String code; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "策略名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "调用模型名称") |
||||||
|
@NotNull |
||||||
|
private String model; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "模型交互内容") |
||||||
|
private String requestContent; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果解析策略") |
||||||
|
private String resultStrategy; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果类型") |
||||||
|
private String resultType; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果查询key值") |
||||||
|
private String resultKey; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结果对比内容") |
||||||
|
private String resultCondition; |
||||||
|
|
||||||
|
public ZhipuAnalysisInfoEntity toEntity() { |
||||||
|
return BeanUtil.copy(this, ZhipuAnalysisInfoEntity.class); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue