Commit 66f45998 authored by youxiaoji's avatar youxiaoji

* [针对访客预约智能体使用智能体自带的提示词而不是系统提示词]

parent 31c51157
......@@ -125,29 +125,26 @@ public class DefaultReactExecutor implements ReactExecutor {
List<org.springframework.ai.chat.messages.Message> messages = new ArrayList<>();
messages.add(new SystemMessage(systemPrompt));
if (!newChat) {
if (agent != null) {
try {
// 如果没有提供用户ID,则尝试获取当前用户ID
if (userId == null) {
userId = UserUtils.getCurrentUserIdStatic();
}
String sessionId = memoryService.generateSessionId(agent, userId);
if (agent != null) {
try {
// 如果没有提供用户ID,则尝试获取当前用户ID
if (userId == null) {
userId = UserUtils.getCurrentUserIdStatic();
}
String sessionId = memoryService.generateSessionId(agent, userId);
int historyLength = agent.getHistoryLength() != null ? agent.getHistoryLength() : 10;
int historyLength = agent.getHistoryLength() != null ? agent.getHistoryLength() : 10;
List<org.springframework.ai.chat.messages.Message> historyMessages =
memoryService.getHistoryMessages(sessionId, historyLength);
if (!newChat) {
List<org.springframework.ai.chat.messages.Message> historyMessages =
memoryService.getHistoryMessages(sessionId, historyLength);
messages.addAll(historyMessages);
memoryService.addUserMessageToMemory(sessionId, userInput);
} catch (Exception e) {
log.warn("获取历史对话记录时发生错误: {}", e.getMessage());
}
memoryService.addUserMessageToMemory(sessionId, userInput);
} catch (Exception e) {
log.warn("获取历史对话记录时发生错误: {}", e.getMessage());
}
}
messages.add(new UserMessage(userInput));
for (Message message : messages) {
log.info("message is {}", message);
......@@ -179,13 +176,13 @@ public class DefaultReactExecutor implements ReactExecutor {
log.info("agentTools {}", agentTools);
if (agent.getId().compareToIgnoreCase("agent-8") == 0) {
if (!chatService.chatExists(tmpUserId, agent.getId())) {
log.info("new chat for {} {} ", userId, agent.getId());
prompt = buildPromptWithHistory(defaultSystemPrompt, userInput, agent, tmpUserId, true);
}
// if (!chatService.chatExists(tmpUserId, agent.getId())) {
// log.info("new chat for {} {} ", userId, agent.getId());
prompt = buildPromptWithHistory(agent.getSystemPrompt(), userInput, agent, tmpUserId, true);
//}
chatClient.prompt(prompt)
.tools(agentTools.toArray())
.toolContext(Map.of("emitterId", emitterId, "userId", sseTokenEmitter.getUserId(),"agentId",agent.getId()))
.toolContext(Map.of("emitterId", emitterId, "userId", sseTokenEmitter.getUserId(), "agentId", agent.getId()))
.stream()
.chatResponse()
.subscribe(
......
......@@ -196,7 +196,7 @@ public class VisitorAppointmentTool {
log.info("json {}", obj);
String fieldName = obj.getString("field_name");
String fieldValue = infoCollectorService.getValue(obj.getString("code")).toString();
String fieldValue = infoCollectorService.getValue(fieldName).toString();
log.info("fieldName {} fieldValue {} ", fieldName,fieldValue);
if (fieldName.compareToIgnoreCase("访问园区") == 0) {
parkValue = fieldValue;
......@@ -234,7 +234,7 @@ public class VisitorAppointmentTool {
for (JSONObject tmp : dateJson) {
String fieldName = tmp.getString("field_name");
String fieldValue = infoCollectorService.getValue(tmp.getString("code")).toString();
String fieldValue = infoCollectorService.getValue(fieldName).toString();
String[] values = fieldValue.split("-");
page.locator(".van-cell")
......@@ -316,8 +316,8 @@ public class VisitorAppointmentTool {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject tmp = jsonArray.getJSONObject(i);
JSONObject pangeJson = tmp.getJSONObject("pangea_json");
if(infoCollectorService.getValue(tmp.getString("code")) != null){
pangeJson.getJSONObject("props").put("value", infoCollectorService.getValue(tmp.getString("code")).toString());
if(infoCollectorService.getValue(tmp.getString("field_name")) != null){
pangeJson.getJSONObject("props").put("value", infoCollectorService.getValue(tmp.getString("field_name")).toString());
}
lackJson.add(pangeJson);
}
......@@ -333,12 +333,9 @@ public class VisitorAppointmentTool {
sb.append("\n");
for (Map.Entry<String,String> key : keys.entrySet()) {
sb.append(key.getValue());
sb.append("(");
sb.append(key);
sb.append(")");
sb.append(",");
sb.append("\n");
}
sb.append("\n");
sb.append("提示用户继续提交信息");
}
......
......@@ -52,15 +52,15 @@ public class InfoCollectorService {
for(int i = 0; i < jsonArray.size(); i++){
JSONObject object = jsonArray.getJSONObject(i);
if(object.getString("field_name").compareToIgnoreCase("接访员工手机号") == 0){
String code = object.getString("code");
String code = object.getString("field_name");
saveValue(code, "15841169015");
}
if(object.getString("field_name").compareToIgnoreCase("接访员工姓名") == 0){
String code = object.getString("code");
String code = object.getString("field_name");
saveValue(code, "杜艺");
}
if(object.getString("field_name").compareToIgnoreCase("证件类型") == 0){
String code = object.getString("code");
String code = object.getString("field_name");
saveValue(code, "居民身份证");
}
}
......@@ -73,7 +73,7 @@ public class InfoCollectorService {
public Map<String,String> findLackInfo(String pageId) {
Set<String> valueKeys = values.keySet();
log.info("value keys {}", valueKeys);
Set<String> allKeys = infos.get(pageId).stream().map(t -> ((JSONObject) t).getString("code")).collect(Collectors.toSet());
Set<String> allKeys = infos.get(pageId).stream().map(t -> ((JSONObject) t).getString("field_name")).collect(Collectors.toSet());
log.info("all keys {}", allKeys);
allKeys.removeAll(valueKeys);
log.info("lack keys {}", allKeys);
......@@ -86,7 +86,7 @@ public class InfoCollectorService {
infos.get(pageId).stream().forEach(t ->
{
JSONObject info = (JSONObject) t;
String code = info.getString("code");
String code = info.getString("field_name");
if (allKeys.contains(code)) {
lackInfos.put(code,info.getString("field_name"));
}
......
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