Commit 4a83ac4b authored by alex yao's avatar alex yao

style: change some code style and package name

parent ef47fcf7
......@@ -2,8 +2,8 @@ package cn.com.poc.agent_application.aggregate;
import cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity;
import cn.com.poc.agent_application.entity.CreateAgentTitleAndDescEntity;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
......
......@@ -14,14 +14,18 @@ import cn.com.poc.knowledge.service.BizKnowledgeDocumentService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.thirdparty.resource.demand.ai.aggregate.AICreateImageService;
import cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.*;
import cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.FunctionCall;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.MultiContent;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.entity.generations.BaiduAISailsText2ImageRequest;
import cn.com.poc.thirdparty.resource.demand.ai.entity.generations.BaiduAISailsText2ImageResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse;
import cn.com.poc.thirdparty.resource.demand.ai.function.*;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.LongMemoryEntity;
import cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.GetLongMemory;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.LongMemoryEntity;
import cn.com.poc.thirdparty.resource.demand.ai.function.value_memory.GetValueMemory;
import cn.com.poc.thirdparty.service.LLMService;
import cn.com.yict.framemax.core.exception.BusinessException;
......@@ -128,11 +132,11 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}
Message systemMessage = new Message();
systemMessage.setContent(configEntity.getConfigSystem());
systemMessage.setRole(AgentApplicationDialoguesRecordConstants.ROLE.SYSTEM);
systemMessage.setRole(LLMRoleEnum.SYSTEM.getRole());
Message message = new Message();
message.setContent("{" + input + "}");
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
List<Message> messages = new ArrayList<Message>() {{
add(systemMessage);
add(message);
......@@ -165,7 +169,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}});
Message message = new Message();
message.setContent(multiContents);
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
List<Message> messages = new ArrayList<Message>() {{
add(message);
}};
......@@ -202,7 +206,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}});
Message message = new Message();
message.setContent(multiContents);
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
List<Message> messages = new ArrayList<Message>() {{
add(message);
}};
......@@ -239,7 +243,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}});
Message message = new Message();
message.setContent(multiContents);
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
List<Message> messages = new ArrayList<Message>() {{
add(message);
}};
......@@ -297,7 +301,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
}});
Message message = new Message();
message.setContent(multiContents);
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
List<Message> messages = new ArrayList<Message>() {{
add(message);
}};
......@@ -525,33 +529,29 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
* @return
*/
private Message[] buildFunctionMessage(Message[] messageArray, String functionName, String functionArguments, String functionResult) {
Message assistantMessage = new Message();
assistantMessage.setRole("assistant");
assistantMessage.setContent(null);
List<FunctionCall> functionCalls = new ArrayList<>();
FunctionCall functionCall = new FunctionCall();
functionCall.setName(functionName);
functionCall.setArguments(functionArguments);
functionCalls.add(functionCall);
Message assistantMessage = new Message();
assistantMessage.setRole(LLMRoleEnum.ASSISTANT.getRole());
assistantMessage.setContent(null);
assistantMessage.setFunction_call(functionCalls);
Message functionMessage = new Message();
functionMessage.setRole(LLMRoleEnum.FUNCTION.getRole());
functionMessage.setName(functionName);
functionMessage.setContent(functionResult);
Message[] sendMessage = new Message[messageArray.length + 2];
for (int i = 0; i < messageArray.length; i++) {
sendMessage[i] = messageArray[i];
}
sendMessage[messageArray.length] = assistantMessage;
Message functionMessage = new Message();
functionMessage.setRole("function");
functionMessage.setName(functionName);
List<MultiContent> content = new ArrayList<>();
MultiContent multiContent = new MultiContent();
multiContent.setText(functionResult);
multiContent.setType("text");
content.add(multiContent);
functionMessage.setContent(content);
sendMessage[messageArray.length + 1] = functionMessage;
return sendMessage;
}
......
package cn.com.poc.agent_application.dto;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import java.io.Serializable;
import java.util.List;
......
......@@ -13,9 +13,8 @@ import cn.com.poc.common.utils.BlContext;
import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.knowledge.aggregate.KnowledgeService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.LongMemoryEntity;
import cn.com.poc.thirdparty.resource.demand.ai.function.long_memory.SetLongMemoryConstants;
import cn.com.yict.framemax.core.exception.BusinessException;
import cn.com.yict.framemax.data.model.PagingInfo;
......
......@@ -16,9 +16,10 @@ import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.expose.aggregate.AgentApplicationService;
import cn.com.poc.knowledge.aggregate.KnowledgeService;
import cn.com.poc.support.security.oauth.entity.UserBaseEntity;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.MultiContent;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.MultiContent;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.constants.LLMRoleEnum;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse;
import cn.com.poc.thirdparty.resource.demand.ai.function.LargeModelFunctionEnum;
......@@ -68,7 +69,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
@Resource
private RedisService redisService;
//todo 优化记录保存,对话保持链接/重新链接推送消息
@Override
public void callAgentApplication(String agentId, String dialogsId, String input, HttpServletResponse httpServletResponse) {
......@@ -154,7 +155,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
multiContents.add(systemMultiContent);
Message message = new Message();
message.setContent(multiContents);
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
LargeModelResponse largeModelResponse = new LargeModelResponse();
......@@ -210,16 +211,8 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
@Override
public void createRecommendQuestion() throws InterruptedException {
// List<Object> questions = new CopyOnWriteArrayList<>();
// CountDownLatch countDownLatch = new CountDownLatch(20);
// for (int i = 0; i < 20; i++) {
// CommonThreadPoolExecutor.addTask(() -> {
// });
// }
// countDownLatch.await(2, TimeUnit.MINUTES);
// countDownLatch.countDown();
Message message = new Message();
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
message.setContent("请你充当一个话题生成器,结合百度热榜数据,用json格式生成15条开放和引导式的推荐话题给我,我需要用于向AI提问问题,参考格式[\"话题内容\",\"话题N内容\"],要求1.避免涉及敏感或争议性过强的话题,以确保问题的中立性和客观性。2.只要求生成话题,不需要旁白");
Message[] messages = new Message[]{message};
......@@ -234,7 +227,7 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
String res = largeModelDemandResult.getMessage();
int start = res.lastIndexOf("[");
int end = res.lastIndexOf("]");
List<Object> questions = (List<Object>) JsonUtils.deSerialize(res.substring(start, end + 1), new TypeReference<List<Object>>() {
List<Object> questions = JsonUtils.deSerialize(res.substring(start, end + 1), new TypeReference<List<Object>>() {
}.getType());
redisService.del(AGENT_APPLICATION_RECOMMEND_QUESTIONS);
......@@ -258,12 +251,13 @@ public class AgentApplicationServiceImpl implements AgentApplicationService {
}
Message message = new Message();
message.setContent(input);
message.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
message.setRole(LLMRoleEnum.USER.getRole());
messages.add(message);
logger.info("--------- Build Messages dialogsId:{},agentId:{},messages:{}--------------", dialogsId, agentId, messages);
return messages;
}
@Deprecated
private void saveDialoguesRecord(String dialogsId, String input, BizAgentApplicationPublishEntity infoEntity, UserBaseEntity userBaseEntity, Long inputTimestamp, String output) throws Exception {
// 回答时间戳
Long outputTimestamp = System.currentTimeMillis();
......
package cn.com.poc.thirdparty.resource.demand.ai.constants;
/**
* 大模型对话角色枚举
*/
public enum LLMRoleEnum {
USER("user"),
ASSISTANT("assistant"),
SYSTEM("system"),
FUNCTION("function"),
;
private String role;
LLMRoleEnum(String role) {
this.role = role;
}
public String getRole() {
return role;
}
}
package cn.com.poc.thirdparty.resource.demand.ai.dto;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import java.io.Serializable;
/**
* @author alex.yao
* @date 2023/8/30
**/
public class AiGcResult implements Serializable {
private Integer code;
private Message message;
private String errorMessage;
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public Message getMessage() {
return message;
}
public void setMessage(Message message) {
this.message = message;
}
@Override
public String toString() {
return "{" +
"code:\"" + code +
"\", message:\"" + message +
"\"}";
}
}
package cn.com.poc.thirdparty.resource.demand.ai.dto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.io.Serializable;
/**
* @author alex.yao
* @date 2023/3/9
**/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class DgtoolsAIDto implements Serializable {
/**
* code
*/
private Integer code;
/**
* 错误信息
*/
private String errorMessage;
/**
* 提供商 BAIDU / TENCENT
*/
private String provider;
/** 【必填】
* AI类型 oldman/child/female/man/age/anime
*/
private String restType;
//人脸变换
/**
* 图片数据
*/
private String image;
/**
* 图片类型
*/
private String imageType;
/**
* 年龄 1-85 [年龄变化必填]
*/
private Integer age;
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getImageType() {
return imageType;
}
public void setImageType(String imageType) {
this.imageType = imageType;
}
public String getProvider() {
return provider;
}
public void setProvider(String provider) {
this.provider = provider;
}
public String getRestType() {
return restType;
}
public void setRestType(String restType) {
this.restType = restType;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}
package cn.com.poc.thirdparty.resource.demand.ai.entity.baidu.aicustom;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.support.dgTools.request.AbstractRequest;
import cn.com.poc.support.dgTools.result.AbstractResult;
import com.alibaba.fastjson.annotation.JSONField;
......
package cn.com.poc.thirdparty.resource.demand.ai.entity.chatgpt;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import com.alibaba.fastjson.annotation.JSONField;
import java.io.Serializable;
......
package cn.com.poc.thirdparty.resource.demand.ai.entity.chatgpt;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.support.dgTools.request.AbstractRequest;
import cn.com.poc.support.dgTools.result.AbstractResult;
import com.alibaba.fastjson.annotation.JSONField;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
import java.util.List;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
public class FunctionCall {
private String name;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
public class ImageUrl {
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
......
package cn.com.poc.thirdparty.resource.demand.ai.common.domain;
package cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue;
public class ToolFunction {
private String name;
......
package cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel;
import cn.com.poc.support.dgTools.result.AbstractResult;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.ToolFunction;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.ToolFunction;
import java.io.Serializable;
......
package cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Tool;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Tool;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
......
package cn.com.poc.thirdparty.resource.demand.ai.entity.plugin;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.support.dgTools.request.AbstractRequest;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
......
......@@ -4,16 +4,13 @@ package cn.com.poc.knowledge;
import cn.com.poc.common.utils.FileUtils;
import cn.com.poc.common.utils.JsonUtils;
import cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.Message;
import cn.com.poc.thirdparty.resource.demand.ai.common.domain.MultiContent;
import cn.com.poc.thirdparty.resource.demand.ai.entity.knowledge.GetKnowledgeChunkInfoResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.Message;
import cn.com.poc.thirdparty.resource.demand.ai.entity.dialogue.MultiContent;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelDemandResult;
import cn.com.poc.thirdparty.resource.demand.ai.entity.largemodel.LargeModelResponse;
import cn.com.poc.thirdparty.service.LLMService;
import cn.com.yict.framemax.core.exception.BusinessException;
import cn.com.yict.framemax.core.spring.SingleContextInitializer;
import cn.com.yict.framemax.data.model.PagingInfo;
import cn.hutool.core.collection.ListUtil;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
......
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