Commit 67ac952e authored by alex yao's avatar alex yao

fix:StackOverFlower

parent 21759cac
...@@ -212,7 +212,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ ...@@ -212,7 +212,7 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
largeModelResponse.setUser("POC-CREATE-AGENT-SYSTEM"); largeModelResponse.setUser("POC-CREATE-AGENT-SYSTEM");
BufferedReader bufferedReader = llmService.chatChunk(largeModelResponse); BufferedReader bufferedReader = llmService.chatChunk(largeModelResponse);
textOutputStream(httpServletResponse, bufferedReader, null); textOutputStream(httpServletResponse, bufferedReader);
} }
@Override @Override
...@@ -512,8 +512,18 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ ...@@ -512,8 +512,18 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
*/ */
private String llmExecutorAndOutput(Float topP, boolean stream, String model, Message[] messageArray, FunctionResult functionResult, HttpServletResponse httpServletResponse) throws Exception { private String llmExecutorAndOutput(Float topP, boolean stream, String model, Message[] messageArray, FunctionResult functionResult, HttpServletResponse httpServletResponse) throws Exception {
if (stream) { if (stream) {
if (ObjectUtil.isNotNull(functionResult) && StringUtils.isNotBlank(functionResult.getFunctionName())) {
httpServletResponse.setContentType(TEXT_EVENT_STREAM_CHARSET_UTF_8);
PrintWriter writer = httpServletResponse.getWriter();
LargeModelDemandResult result = new LargeModelDemandResult();
result.setCode("0");
ToolFunction toolFunction = functionResultConvertToolFunction(functionResult);
result.setFunction(toolFunction);
writer.write(EVENT_STREAM_PREFIX + JsonUtils.serialize(result) + "\n\n");
writer.flush();
}
BufferedReader bufferedReader = invokeLLMStream(model, messageArray, topP); BufferedReader bufferedReader = invokeLLMStream(model, messageArray, topP);
return textOutputStream(httpServletResponse, bufferedReader, functionResult); return textOutputStream(httpServletResponse, bufferedReader);
} else { } else {
LargeModelDemandResult largeModelDemandResult = invokeLLM(model, messageArray, topP); LargeModelDemandResult largeModelDemandResult = invokeLLM(model, messageArray, topP);
if (ObjectUtil.isNotNull(functionResult) && StringUtils.isNotBlank(functionResult.getFunctionName())) { if (ObjectUtil.isNotNull(functionResult) && StringUtils.isNotBlank(functionResult.getFunctionName())) {
...@@ -745,20 +755,12 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ ...@@ -745,20 +755,12 @@ public class AgentApplicationInfoServiceImpl implements AgentApplicationInfoServ
* @param bufferedReader * @param bufferedReader
* @throws IOException * @throws IOException
*/ */
private String textOutputStream(HttpServletResponse httpServletResponse, BufferedReader bufferedReader, FunctionResult functionResult) throws private String textOutputStream(HttpServletResponse httpServletResponse, BufferedReader bufferedReader) throws
IOException { IOException {
String res = ""; String res = "";
httpServletResponse.setContentType(TEXT_EVENT_STREAM_CHARSET_UTF_8); httpServletResponse.setContentType(TEXT_EVENT_STREAM_CHARSET_UTF_8);
PrintWriter writer = httpServletResponse.getWriter(); PrintWriter writer = httpServletResponse.getWriter();
StringBuilder output = new StringBuilder(); StringBuilder output = new StringBuilder();
if (ObjectUtil.isNotNull(functionResult) && StringUtils.isNotBlank(functionResult.getFunctionName())) {
LargeModelDemandResult result = new LargeModelDemandResult();
result.setCode("0");
ToolFunction toolFunction = functionResultConvertToolFunction(functionResult);
result.setFunction(toolFunction);
writer.write(EVENT_STREAM_PREFIX + JsonUtils.serialize(result) + "\n\n");
writer.flush();
}
while ((res = bufferedReader.readLine()) != null) { while ((res = bufferedReader.readLine()) != null) {
if (StringUtils.isBlank(res)) { if (StringUtils.isBlank(res)) {
continue; continue;
......
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