luyie
3 months ago
18 changed files with 551 additions and 0 deletions
@ -0,0 +1,5 @@ |
|||||||
|
build.artifact=hzims-service-api |
||||||
|
build.group=com.hnac.hzims |
||||||
|
build.name=hzims-service-api |
||||||
|
build.time=2024-08-12T06\:09\:01.772Z |
||||||
|
build.version=4.0.0-SNAPSHOT |
@ -0,0 +1,26 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.config; |
||||||
|
|
||||||
|
import com.zhipu.oapi.ClientV4; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties; |
||||||
|
import org.springframework.context.annotation.Bean; |
||||||
|
import org.springframework.context.annotation.Configuration; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/9 17:01 |
||||||
|
*/ |
||||||
|
@Configuration |
||||||
|
@EnableConfigurationProperties(ZhipuAiConfigProperties.class) |
||||||
|
@AllArgsConstructor |
||||||
|
public class ZhipuAiConfig { |
||||||
|
|
||||||
|
private ZhipuAiConfigProperties properties; |
||||||
|
|
||||||
|
@Bean("clientV4") |
||||||
|
public ClientV4 clientV4() { |
||||||
|
return new ClientV4.Builder(properties.getApiSecret()).build(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.config; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||||
|
import org.springframework.cloud.context.config.annotation.RefreshScope; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 14:03 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ConfigurationProperties(prefix = "zhipuai") |
||||||
|
public class ZhipuAiConfigProperties { |
||||||
|
|
||||||
|
private String apiSecret; |
||||||
|
|
||||||
|
private String url; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,27 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.constants; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/9 9:50 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
public enum AnalysisModel implements BaseEnum { |
||||||
|
|
||||||
|
GLM_4("glm-4", "GLM-4模型"), |
||||||
|
GLM_4V("glm-4v", "GLM-4V模型"), |
||||||
|
COG_VIDEO_X("cogvideox", "CogVideoX模型"), |
||||||
|
COG_VIEW("cogvideox", "CogVideoX模型"), |
||||||
|
GLM_4_ALL_TOOLS("glm-4-alltool", "GLM-4-AllTools模型"); |
||||||
|
|
||||||
|
private final String code; |
||||||
|
|
||||||
|
private final String msg; |
||||||
|
|
||||||
|
AnalysisModel(String code, String msg) { |
||||||
|
this.code = code; |
||||||
|
this.msg = msg; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.constants; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
import org.apache.poi.ss.formula.functions.T; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 15:27 |
||||||
|
*/ |
||||||
|
@Getter |
||||||
|
public enum AnalysisResultType implements BaseEnum { |
||||||
|
BOOLEAN("BOOLEAN", "是非判断", "是", Boolean.class), |
||||||
|
NUMBER("NUMBER", "确定数量", null, Integer.class), |
||||||
|
DECIMAL("DECIMAL", "获取数值", null, BigDecimal.class); |
||||||
|
|
||||||
|
private final String code; |
||||||
|
|
||||||
|
private final String msg; |
||||||
|
|
||||||
|
private final String condition; |
||||||
|
|
||||||
|
private final Class<T> clazz; |
||||||
|
|
||||||
|
AnalysisResultType(String code, String msg, String condition, Class clazz) { |
||||||
|
this.code = code; |
||||||
|
this.msg = msg; |
||||||
|
this.condition = condition; |
||||||
|
this.clazz = clazz; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.constants; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 15:42 |
||||||
|
*/ |
||||||
|
public interface BaseEnum { |
||||||
|
<U extends Object> U getCode(); |
||||||
|
|
||||||
|
String getMsg(); |
||||||
|
|
||||||
|
static <T extends BaseEnum, U extends Object> T getInstance(U code, Class<T> clazz) { |
||||||
|
T[] baseEnums = clazz.getEnumConstants(); |
||||||
|
for (T baseEnum : baseEnums) { |
||||||
|
if (baseEnum.getCode().equals(code)) { |
||||||
|
return baseEnum; |
||||||
|
} |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,36 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.controller; |
||||||
|
|
||||||
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.service.ZhipuAnalysisService; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisRequest; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisResponse; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
import javax.validation.Valid; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 16:36 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("zhipu") |
||||||
|
@Api(value = "智谱", tags = "智谱") |
||||||
|
@AllArgsConstructor |
||||||
|
public class ZhipuController { |
||||||
|
|
||||||
|
private final ZhipuAnalysisService analysisService; |
||||||
|
|
||||||
|
@PostMapping("/analysis") |
||||||
|
@ApiOperation("分析") |
||||||
|
@ApiOperationSupport(order = 1) |
||||||
|
public R<ZhipuAnalysisResponse> analysis(@RequestBody @Valid ZhipuAnalysisRequest request) { |
||||||
|
return R.data(analysisService.analysis(request)); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.entity; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import org.springblade.core.mp.base.BaseEntity; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 15:17 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class ZhipuAnalysisInfoEntity extends BaseEntity { |
||||||
|
|
||||||
|
private String resultType; |
||||||
|
|
||||||
|
private String name; |
||||||
|
|
||||||
|
private String code; |
||||||
|
|
||||||
|
private String model; |
||||||
|
|
||||||
|
private String requestContent; |
||||||
|
|
||||||
|
private String resultStrategy; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.handler; |
||||||
|
|
||||||
|
import com.zhipu.oapi.ClientV4; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.util.Base64; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 8:44 |
||||||
|
*/ |
||||||
|
public abstract class AbstractZhipuAnalysisHandler implements ZhipuAnalyser { |
||||||
|
protected final String requestIdTemplate = "hzims-%d"; |
||||||
|
protected final String resultKey = "结果"; |
||||||
|
|
||||||
|
@Resource |
||||||
|
protected ClientV4 client; |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getBase64(String url) { |
||||||
|
return Base64.getEncoder().encodeToString(getFileBytes(url)); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,28 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.handler; |
||||||
|
|
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/8 14:45 |
||||||
|
*/ |
||||||
|
public interface ZhipuAnalyser<Req, Resp> { |
||||||
|
|
||||||
|
String getBase64(String url); |
||||||
|
|
||||||
|
byte[] getFileBytes(String url); |
||||||
|
|
||||||
|
String getAnalysisStrategy(); |
||||||
|
|
||||||
|
String getAnalysisModel(); |
||||||
|
|
||||||
|
default boolean isSupport(String modelName) { |
||||||
|
return getAnalysisStrategy().equals(modelName); |
||||||
|
} |
||||||
|
|
||||||
|
Resp sendRequest(ZhipuAnalysisInfoEntity info, String url); |
||||||
|
|
||||||
|
Req getRequest(ZhipuAnalysisInfoEntity info, String url); |
||||||
|
|
||||||
|
String getResult(ZhipuAnalysisInfoEntity info, String url); |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.handler; |
||||||
|
|
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.Objects; |
||||||
|
import java.util.Optional; |
||||||
|
import java.util.concurrent.ConcurrentHashMap; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/9 10:47 |
||||||
|
*/ |
||||||
|
@Component |
||||||
|
@AllArgsConstructor |
||||||
|
@Slf4j |
||||||
|
public class ZhipuAnalysisFactory { |
||||||
|
private final List<ZhipuAnalyser> analysisStrategyList; |
||||||
|
|
||||||
|
private static final Map<String, ZhipuAnalyser> analysisStrategyMap = new ConcurrentHashMap<>(); |
||||||
|
|
||||||
|
public ZhipuAnalyser getAnalysisStrategy(final String modelName) { |
||||||
|
ZhipuAnalyser result = ZhipuAnalysisFactory.analysisStrategyMap.get(modelName); |
||||||
|
if (Objects.nonNull(result)) { |
||||||
|
return result; |
||||||
|
} |
||||||
|
Optional<ZhipuAnalyser> strategyOptional = analysisStrategyList.stream().filter(strategy -> strategy.isSupport(modelName)).findFirst(); |
||||||
|
if (strategyOptional.isPresent()) { |
||||||
|
result = strategyOptional.get(); |
||||||
|
ZhipuAnalysisFactory.analysisStrategyMap.put(modelName, result); |
||||||
|
} |
||||||
|
return result; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,95 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.handler; |
||||||
|
|
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.constants.AnalysisModel; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
import com.zhipu.oapi.ClientV4; |
||||||
|
import com.zhipu.oapi.Constants; |
||||||
|
import com.zhipu.oapi.service.v4.model.ChatCompletionRequest; |
||||||
|
import com.zhipu.oapi.service.v4.model.ChatMessage; |
||||||
|
import com.zhipu.oapi.service.v4.model.ChatMessageRole; |
||||||
|
import com.zhipu.oapi.service.v4.model.ModelApiResponse; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.jackson.JsonUtil; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 9:20 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@AllArgsConstructor |
||||||
|
@Slf4j |
||||||
|
public class ZhipuAnalysisHandlerGlm4v extends AbstractZhipuAnalysisHandler { |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getAnalysisStrategy() { |
||||||
|
return AnalysisModel.GLM_4V.getCode(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getAnalysisModel() { |
||||||
|
return AnalysisModel.GLM_4V.getCode(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public byte[] getFileBytes(String url) { |
||||||
|
return new byte[0]; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ModelApiResponse sendRequest(ZhipuAnalysisInfoEntity info, String url) { |
||||||
|
ChatCompletionRequest request = getRequest(info, url); |
||||||
|
log.info("send zhipu ai request :{}", request); |
||||||
|
return client.invokeModelApi(request); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ChatCompletionRequest getRequest(ZhipuAnalysisInfoEntity info, String url) { |
||||||
|
List<ChatMessage> messages = new ArrayList<>(); |
||||||
|
List<Map<String, Object>> contentList = new ArrayList<>(); |
||||||
|
Map<String, Object> textMap = new HashMap<>(); |
||||||
|
textMap.put("type", "text"); |
||||||
|
textMap.put("text", info.getRequestContent()); |
||||||
|
Map<String, Object> typeMap = new HashMap<>(); |
||||||
|
typeMap.put("type", "image_url"); |
||||||
|
Map<String, Object> urlMap = new HashMap<>(); |
||||||
|
urlMap.put("url", getBase64(url)); |
||||||
|
typeMap.put("image_url", urlMap); |
||||||
|
contentList.add(textMap); |
||||||
|
contentList.add(typeMap); |
||||||
|
ChatMessage chatMessage = new ChatMessage(ChatMessageRole.USER.value(), contentList); |
||||||
|
messages.add(chatMessage); |
||||||
|
String requestId = String.format(requestIdTemplate, System.currentTimeMillis()); |
||||||
|
|
||||||
|
ChatCompletionRequest request = ChatCompletionRequest.builder() |
||||||
|
.model(getAnalysisModel()) |
||||||
|
.stream(Boolean.FALSE) |
||||||
|
.invokeMethod(Constants.invokeMethod) |
||||||
|
.messages(messages) |
||||||
|
.requestId(requestId) |
||||||
|
.build(); |
||||||
|
return request; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getResult(ZhipuAnalysisInfoEntity info, String url) { |
||||||
|
ModelApiResponse response = sendRequest(info, url); |
||||||
|
log.info("get zhi pu ai response : {}", JsonUtil.toJson(response)); |
||||||
|
if (response.isSuccess()) { |
||||||
|
String resultJson = response.getData().getChoices().get(0).getMessage().getContent().toString(); |
||||||
|
resultJson = resultJson.substring(resultJson.indexOf("{"), resultJson.indexOf("}") + 1).trim(); |
||||||
|
Map<String, Object> resultMap = JsonUtil.toMap(resultJson); |
||||||
|
return resultMap.get(resultKey).toString(); |
||||||
|
} else { |
||||||
|
return "访问失败"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,57 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.handler; |
||||||
|
|
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
import com.zhipu.oapi.Constants; |
||||||
|
import com.zhipu.oapi.service.v4.model.ChatCompletionRequest; |
||||||
|
import com.zhipu.oapi.service.v4.model.ChatMessage; |
||||||
|
import com.zhipu.oapi.service.v4.model.ChatMessageRole; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.io.File; |
||||||
|
import java.io.FileInputStream; |
||||||
|
import java.io.IOException; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 10:11 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@AllArgsConstructor |
||||||
|
@Slf4j |
||||||
|
public class ZhipuAnalysisHandlerTest extends ZhipuAnalysisHandlerGlm4v { |
||||||
|
private final String model = "test"; |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getAnalysisStrategy() { |
||||||
|
return model; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public byte[] getFileBytes(String url) { |
||||||
|
File file = new File(url); |
||||||
|
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; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.service; |
||||||
|
|
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisRequest; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisResponse; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 10:25 |
||||||
|
*/ |
||||||
|
public interface ZhipuAnalysisService { |
||||||
|
|
||||||
|
ZhipuAnalysisResponse analysis(ZhipuAnalysisRequest request); |
||||||
|
|
||||||
|
ZhipuAnalysisInfoEntity getAnalysisInfo(ZhipuAnalysisRequest request); |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.service.impl; |
||||||
|
|
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.entity.ZhipuAnalysisInfoEntity; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.handler.ZhipuAnalyser; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.handler.ZhipuAnalysisFactory; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.service.ZhipuAnalysisService; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisRequest; |
||||||
|
import com.hnac.hzims.bigmodel.zhipuai.vo.ZhipuAnalysisResponse; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 10:26 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@AllArgsConstructor |
||||||
|
@Slf4j |
||||||
|
public class ZhipuAnalysisServiceImpl implements ZhipuAnalysisService { |
||||||
|
private final ZhipuAnalysisFactory analysisFactory; |
||||||
|
|
||||||
|
@Override |
||||||
|
public ZhipuAnalysisResponse analysis(ZhipuAnalysisRequest request) { |
||||||
|
ZhipuAnalysisInfoEntity info = getAnalysisInfo(request); |
||||||
|
ZhipuAnalyser analyser = analysisFactory.getAnalysisStrategy(info.getModel()); |
||||||
|
String resultStr = analyser.getResult(info, request.getUrl()); |
||||||
|
ZhipuAnalysisResponse response = new ZhipuAnalysisResponse(); |
||||||
|
response.setResultStr(resultStr); |
||||||
|
return response; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ZhipuAnalysisInfoEntity getAnalysisInfo(ZhipuAnalysisRequest request) { |
||||||
|
if (Objects.isNull(request.getCode())) { |
||||||
|
return request.toAnalysisInfo(); |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
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; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 10:23 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value = "智谱分析请求", description = "智谱分析请求") |
||||||
|
public class ZhipuAnalysisRequest { |
||||||
|
@ApiModelProperty("模型编码") |
||||||
|
private String code; |
||||||
|
|
||||||
|
@ApiModelProperty("模型名称") |
||||||
|
private String model; |
||||||
|
|
||||||
|
@ApiModelProperty("文件地址") |
||||||
|
private String url; |
||||||
|
|
||||||
|
@ApiModelProperty("发送内容") |
||||||
|
private String content; |
||||||
|
|
||||||
|
@ApiModelProperty("额外信息") |
||||||
|
private String message; |
||||||
|
|
||||||
|
public ZhipuAnalysisInfoEntity toAnalysisInfo() { |
||||||
|
ZhipuAnalysisInfoEntity info = new ZhipuAnalysisInfoEntity(); |
||||||
|
info.setModel(this.getModel()); |
||||||
|
info.setRequestContent(this.content); |
||||||
|
info.setModel(this.getModel()); |
||||||
|
return info; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,17 @@ |
|||||||
|
package com.hnac.hzims.bigmodel.zhipuai.vo; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author: ypj |
||||||
|
* @Date: 2024/8/12 10:23 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value = "智谱分析返回",description = "智谱分析返回") |
||||||
|
public class ZhipuAnalysisResponse { |
||||||
|
|
||||||
|
@ApiModelProperty("返回结果") |
||||||
|
String resultStr; |
||||||
|
} |
Loading…
Reference in new issue