Commit e2abb4dc authored by alex yao's avatar alex yao

feat: 获取模型列表_V2

parent 59584eca
package cn.com.poc.agent_application.domain;
import java.math.BigDecimal;
/**
* @author alex.yao
* @date 2024/12/9
*/
public class LargeModelInfo {
private String modelNickName;
private BigDecimal points;
public String getModelNickName() {
return modelNickName;
}
public void setModelNickName(String modelNickName) {
this.modelNickName = modelNickName;
}
public BigDecimal getPoints() {
return points;
}
public void setPoints(BigDecimal points) {
this.points = points;
}
}
package cn.com.poc.agent_application.dto;
import cn.com.poc.agent_application.domain.LargeModelInfo;
import java.util.List;
public class BizAgentApplicationLargeModelListV2Dto {
/**
* models
* 模型
*/
private List<LargeModelInfo> models;
public List<LargeModelInfo> getModels() {
return models;
}
public void setModels(List<LargeModelInfo> models) {
this.models = models;
}
/**
* owner
* 模型服务商
*/
private String owner;
public String getOwner() {
return this.owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
/**
* icon
*/
private String icon;
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
}
\ No newline at end of file
...@@ -62,6 +62,11 @@ public interface AgentApplicationInfoRest extends BaseRest { ...@@ -62,6 +62,11 @@ public interface AgentApplicationInfoRest extends BaseRest {
*/ */
List<BizAgentApplicationLargeModelListDto> getLargeModelList() throws Exception; List<BizAgentApplicationLargeModelListDto> getLargeModelList() throws Exception;
/**
* 获取应用模型列表
*/
List<BizAgentApplicationLargeModelListV2Dto> getLargeModelListV2() throws Exception;
/** /**
* 查询模型信息 * 查询模型信息
*/ */
......
...@@ -2,6 +2,7 @@ package cn.com.poc.agent_application.rest.impl; ...@@ -2,6 +2,7 @@ package cn.com.poc.agent_application.rest.impl;
import cn.com.poc.agent_application.aggregate.AgentApplicationInfoService; import cn.com.poc.agent_application.aggregate.AgentApplicationInfoService;
import cn.com.poc.agent_application.convert.AgentApplicationInfoConvert; import cn.com.poc.agent_application.convert.AgentApplicationInfoConvert;
import cn.com.poc.agent_application.domain.LargeModelInfo;
import cn.com.poc.agent_application.dto.*; import cn.com.poc.agent_application.dto.*;
import cn.com.poc.agent_application.entity.*; import cn.com.poc.agent_application.entity.*;
import cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition; import cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition;
...@@ -15,7 +16,10 @@ import cn.com.poc.common.utils.DocumentLoad; ...@@ -15,7 +16,10 @@ import cn.com.poc.common.utils.DocumentLoad;
import cn.com.poc.equity.aggregate.MemberEquityService; import cn.com.poc.equity.aggregate.MemberEquityService;
import cn.com.poc.equity.aggregate.PointDeductionRulesService; import cn.com.poc.equity.aggregate.PointDeductionRulesService;
import cn.com.poc.equity.constants.ModifyEventEnum; import cn.com.poc.equity.constants.ModifyEventEnum;
import cn.com.poc.equity.constants.RuleType;
import cn.com.poc.equity.domain.modifyEquityInfo.AgentUseModifyEventInfo; import cn.com.poc.equity.domain.modifyEquityInfo.AgentUseModifyEventInfo;
import cn.com.poc.equity.entity.BizPointDeductionRulesEntity;
import cn.com.poc.equity.service.BizPointDeductionRulesService;
import cn.com.poc.knowledge.aggregate.KnowledgeService; import cn.com.poc.knowledge.aggregate.KnowledgeService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity; import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool; import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
...@@ -37,10 +41,8 @@ import javax.servlet.http.HttpServletResponse; ...@@ -37,10 +41,8 @@ import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.ArrayList; import java.math.BigDecimal;
import java.util.Comparator; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
...@@ -73,6 +75,10 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest { ...@@ -73,6 +75,10 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
@Resource @Resource
private MemberEquityService memberEquityService; private MemberEquityService memberEquityService;
@Resource
private BizPointDeductionRulesService bizPointDeductionRulesService;
@Override @Override
public AgentApplicationInfoDto saveVariableStructure(String agentId, List<Variable> variableStructure) { public AgentApplicationInfoDto saveVariableStructure(String agentId, List<Variable> variableStructure) {
Assert.notNull(agentId); Assert.notNull(agentId);
...@@ -279,6 +285,45 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest { ...@@ -279,6 +285,45 @@ public class AgentApplicationInfoRestImpl implements AgentApplicationInfoRest {
return result; return result;
} }
@Override
public List<BizAgentApplicationLargeModelListV2Dto> getLargeModelListV2() throws Exception {
List<BizAgentApplicationLargeModelListEntity> entities = bizAgentApplicationLargeModelListService.findByExample(new BizAgentApplicationLargeModelListEntity(), null);
Map<String, List<BizAgentApplicationLargeModelListEntity>> map = entities.stream()
.collect(Collectors.groupingBy(BizAgentApplicationLargeModelListEntity::getOwner));
BizPointDeductionRulesEntity bizPointDeductionRulesEntity = new BizPointDeductionRulesEntity();
bizPointDeductionRulesEntity.setRuleType(RuleType.MODEL.getRuleType());
bizPointDeductionRulesEntity.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizPointDeductionRulesEntity> rulesEntityList = bizPointDeductionRulesService.findByExample(bizPointDeductionRulesEntity, null);
Map<String, List<BizPointDeductionRulesEntity>> rulesMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(rulesEntityList)) {
rulesMap = rulesEntityList.stream().collect(Collectors.groupingBy(BizPointDeductionRulesEntity::getRelationId));
}
List<BizAgentApplicationLargeModelListV2Dto> result = new ArrayList<>();
for (String owner : map.keySet()) {
BizAgentApplicationLargeModelListV2Dto dto = new BizAgentApplicationLargeModelListV2Dto();
List<BizAgentApplicationLargeModelListEntity> modelListEntities = map.get(owner);
dto.setOwner(owner);
List<LargeModelInfo> largeModelInfos = new ArrayList<>();
for (BizAgentApplicationLargeModelListEntity modelListEntity : modelListEntities) {
LargeModelInfo largeModelInfo = new LargeModelInfo();
largeModelInfo.setModelNickName(modelListEntity.getModelNickName());
Long pointNumber = 0L;
if (rulesMap.containsKey(modelListEntity.getModelNickName())) {
List<BizPointDeductionRulesEntity> rulesEntities = rulesMap.get(modelListEntity.getModelNickName());
pointNumber = rulesEntities.get(0).getNumber();
}
BigDecimal points = new BigDecimal(pointNumber).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
largeModelInfo.setPoints(points);
largeModelInfos.add(largeModelInfo);
}
dto.setModels(largeModelInfos);
dto.setIcon(modelListEntities.get(0).getIconUrl());
result.add(dto);
}
return result;
}
@Override @Override
public BizAgentApplicationLargeModelListDto getLargeModelInfo(String query) throws Exception { public BizAgentApplicationLargeModelListDto getLargeModelInfo(String query) throws Exception {
Assert.notNull(query); Assert.notNull(query);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment