Commit f4a52985 authored by 赵灿灿's avatar 赵灿灿

修改配置信息

parent 72e4f51a
Pipeline #21075 passed with stages
in 3 minutes and 13 seconds
...@@ -283,16 +283,41 @@ public class LangChainController { ...@@ -283,16 +283,41 @@ public class LangChainController {
//调用智能体 //调用智能体
@GetMapping("/sseIntelligent") @GetMapping("/sseIntelligent")
public ResponseEntity<SseEmitter> sse(@RequestParam String chatMessage,@RequestParam String dialogId) { public ResponseEntity<SseEmitter> sse(@RequestParam String chatMessage,@RequestParam String dialogId,
@RequestParam String selectedExpert ,@RequestParam String selectedOrg) {
String condition="";
String regionName= chatService.getAuthRegionName();
if("组织内".equals(selectedOrg)&&StringUtils.isNotEmpty(regionName))
{
condition=",只能查找"+regionName;
}else if("组织外".equals(selectedOrg)&&StringUtils.isNotEmpty(regionName))
{
condition=",排除"+regionName;
}
logger.info("开始调用1"); logger.info("开始调用1");
String urlAddr = "http://10.32.41.35:40517/scene_gateway/agent/6809d0895428476bb6789ad70c525c97"; String urlAddr = "http://10.32.41.35:40517/scene_gateway/agent/6809d0895428476bb6789ad70c525c97";
//String urlAddr = "http://10.32.41.35:40517/scene_gateway/agent/83f77143b09c461993dd9a7db403eb94"; //String urlAddr = "http://10.32.41.35:40517/scene_gateway/agent/83f77143b09c461993dd9a7db403eb94";
SseEmitter emitter = new SseEmitter(0L); SseEmitter emitter = new SseEmitter(0L);
QuestionRequest questionRequest=new QuestionRequest(); QuestionRequest questionRequest=new QuestionRequest();
questionRequest.setKeyword(chatMessage); questionRequest.setKeyword(chatMessage+condition);
questionRequest.setRequestId(getRequestId()); questionRequest.setRequestId(getRequestId());
questionRequest.setDialogId(dialogId); questionRequest.setDialogId(dialogId);
Conversations conversations=chatService.saveConversations(dialogId,chatMessage,"内部专家");
Messages messagesQusetion=new Messages();
messagesQusetion.setRequestId(dialogId);
messagesQusetion.setContent(chatMessage);
messagesQusetion.setRole("user");
messagesQusetion.setModelName("qwen2.5-72b");
messagesQusetion=chatService.insertQuestionMessage(conversations,messagesQusetion);
Messages messagesContent=new Messages();
messagesContent.setRole("assistant");
messagesContent.setModelName("qwen2.5-72b");
messagesContent.setParentMsgId(messagesQusetion.getId());
messagesContent.setSort(messagesQusetion.getSort()+1);
chatService.insertMessage(conversations,messagesContent);
String params = JsonUtils.objectToJson(questionRequest); String params = JsonUtils.objectToJson(questionRequest);
StringBuffer content =new StringBuffer();
new Thread(() -> { new Thread(() -> {
HttpURLConnection connection = null; HttpURLConnection connection = null;
try { try {
...@@ -335,13 +360,18 @@ public class LangChainController { ...@@ -335,13 +360,18 @@ public class LangChainController {
emitter.send(SseEmitter.event().data("stop"),MediaType.parseMediaType("application/json; charset=UTF-8")); emitter.send(SseEmitter.event().data("stop"),MediaType.parseMediaType("application/json; charset=UTF-8"));
}else }else
{ {
emitter.send(SseEmitter.event().data(data), MediaType.parseMediaType("application/json; charset=UTF-8")); String sendData=data.replace("attachment#[]#attachmentsource#[]#source","").replace("<br />", "\n").replaceAll("###(?=\\S)", "### ").replaceAll("##(?=\\S)", "## ")
.replaceAll("#(?=\\S)", "# ").replaceAll("####(?=\\S)", "#### ").
replaceAll("#####(?=\\S)", "##### ").replaceAll("######(?=\\S)", "###### ");
emitter.send(SseEmitter.event().data(sendData), MediaType.parseMediaType("application/json; charset=UTF-8"));
content.append(sendData);
} }
} }
} }
} }
} }
messagesContent.setContent(content.toString());
chatService.updateMessage(messagesContent);
emitter.complete(); // 流结束 emitter.complete(); // 流结束
} catch (Exception e) { } catch (Exception e) {
emitter.completeWithError(e); emitter.completeWithError(e);
...@@ -720,7 +750,7 @@ public class LangChainController { ...@@ -720,7 +750,7 @@ public class LangChainController {
*/ */
@GetMapping("/conversationMessages") @GetMapping("/conversationMessages")
public Result conversationMessages(@RequestParam String sessionId) { public Result conversationMessages(@RequestParam String sessionId) {
List<Map<String,Object>> mapList= chatService.conversationMessages(sessionId); List<Messages> mapList= chatService.conversationMessages(sessionId);
return Result.successData(mapList); return Result.successData(mapList);
} }
} }
...@@ -270,24 +270,18 @@ public class ChatService { ...@@ -270,24 +270,18 @@ public class ChatService {
} }
//查询会话内容通过会话id //查询会话内容通过会话id
public List<Map<String,Object>> conversationMessages(String sessionId) public List<Messages> conversationMessages(String sessionId)
{ {
List<Map<String,Object>> mapList=new ArrayList<>(); List<Messages> messagesList=new ArrayList<>();
try { try {
MessagesCriteria messagesCriteria=new MessagesCriteria(); MessagesCriteria messagesCriteria=new MessagesCriteria();
messagesCriteria.setSessionId(sessionId); messagesCriteria.setSessionId(sessionId);
List<Messages> messagesList= iMessagesRepository.selectByCriteria(messagesCriteria); messagesList= iMessagesRepository.selectByCriteria(messagesCriteria);
for (Messages mes:
messagesList) {
Map<String,Object> map=new HashMap<>();
map.put("role",mes.getRole());
map.put("content",mes.getContent());
mapList.add(map);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return mapList; return messagesList;
} }
...@@ -312,4 +306,22 @@ public class ChatService { ...@@ -312,4 +306,22 @@ public class ChatService {
return calendar.getTime(); return calendar.getTime();
} }
//获取当前用户所在的地市
public String getAuthRegionName()
{
String regionName="";
try {
User user = auth.getUserReq();
String[] rganizationNameList=user.getOrganizationName().split("\\\\");
if(rganizationNameList.length>=2)
{
regionName=rganizationNameList[1];
}
} catch (Exception e) {
e.printStackTrace();
}
return regionName;
}
} }
...@@ -100,9 +100,9 @@ ...@@ -100,9 +100,9 @@
<div class="dropdown-item" @click.stop="selectExpert('内部专家')" :class="{ 'active': selectedExpert === '内部专家' }"> <div class="dropdown-item" @click.stop="selectExpert('内部专家')" :class="{ 'active': selectedExpert === '内部专家' }">
<span>内部专家</span> <span>内部专家</span>
</div> </div>
<div class="dropdown-item" @click.stop="selectExpert('外部专家')" :class="{ 'active': selectedExpert === '外部专家' }"> <!-- <div class="dropdown-item" @click.stop="selectExpert('外部专家')" :class="{ 'active': selectedExpert === '外部专家' }">-->
<span>外部专家</span> <!-- <span>外部专家</span>-->
</div> <!-- </div>-->
</div> </div>
</div> </div>
<div class="custom-select" v-click-outside="closeOrgDropdown"> <div class="custom-select" v-click-outside="closeOrgDropdown">
......
...@@ -219,7 +219,8 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V ...@@ -219,7 +219,8 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V
} }
}); });
// 连接SSE // 连接SSE
this.currentEventSource = new EventSource('../../api/langchain/sseBigTwo'); this.currentEventSource = new EventSource('../../api/langchain/sseIntelligent?chatMessage='+chatMessage+"&dialogId="+this.sessionId
+"&selectedExpert="+this.selectedExpert+"&selectedOrg="+this.selectedOrg);
let responseText = ''; let responseText = '';
var md = new markdown({ var md = new markdown({
...@@ -306,6 +307,7 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V ...@@ -306,6 +307,7 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V
// 这里可以添加将新对话添加到历史列表的逻辑 // 这里可以添加将新对话添加到历史列表的逻辑
// this.addChatToHistory('新对话', new Date()); // this.addChatToHistory('新对话', new Date());
}); });
this.fistLoading=true;
}, },
loadChatHistory(chatId) { loadChatHistory(chatId) {
...@@ -326,6 +328,8 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V ...@@ -326,6 +328,8 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V
// //
this.sessionId = chatId; this.sessionId = chatId;
// this.clearChat(); // this.clearChat();
this.questions= [];
this.messages=[];
//这里添加加载对应对话历史的逻辑 //这里添加加载对应对话历史的逻辑
//实际实现时可以调用API获取历史记录 //实际实现时可以调用API获取历史记录
$.ajax({ $.ajax({
...@@ -335,10 +339,10 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V ...@@ -335,10 +339,10 @@ require(['jquery', 'vue', 'utils','marked','markdown', 'global'], function ($, V
contentType: "application/json;charset=UTF-8", contentType: "application/json;charset=UTF-8",
async: false, async: false,
success: function (data) { success: function (data) {
var mes = data.data; var conversationMessages = data.data;
if (mes && mes.length > 0){ if (conversationMessages && conversationMessages.length > 0){
that.fistLoading = false; that.fistLoading = false;
mes.forEach(section => { conversationMessages.forEach(section => {
that.addMessage(section.role, section.content); that.addMessage(section.role, section.content);
}); });
} }
......
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