refactor(yudao-module-llm): 重构 ModelService 中的请求处理逻辑
- 修改了 sendPostRequest 和 handleResponseEntity 方法的返回类型 - 优化了模型补全请求的处理流程 - 添加了错误处理和返回值
This commit is contained in:
parent
1a320c6260
commit
ef279ed3d3
@ -165,16 +165,18 @@ public class ModelService {
|
||||
log.info("使用指定URL: {}", url);
|
||||
}
|
||||
|
||||
String answer="";
|
||||
try {
|
||||
String jsonString = JSON.toJSONString(req);
|
||||
log.info("开始处理模型补全请求,参数3: {}", jsonString);
|
||||
sendPostRequest(url, jsonString, emitter, uuid);
|
||||
answer= sendPostRequest(url, jsonString, emitter, uuid);
|
||||
} catch (Exception e) {
|
||||
emitter.completeWithError(e);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 解析响应内容
|
||||
//
|
||||
// // 解析响应内容
|
||||
// log.info("正在解析响应内容...");
|
||||
// ChatCompletion chatCompletion = JSON.parseObject(result, ChatCompletion.class);
|
||||
//
|
||||
@ -193,7 +195,7 @@ public class ModelService {
|
||||
// ModelCompletionsRespVO respVO = new ModelCompletionsRespVO();
|
||||
// respVO.setSystem("助手");
|
||||
// respVO.setQuestion(req.getMessages().get(req.getMessages().size() - 1).getContent());
|
||||
// respVO.setAnswer(answerContent);
|
||||
// respVO.setAnswer(answer);
|
||||
//
|
||||
// log.info("模型补全请求处理成功。返回结果: {}", JSON.toJSONString(respVO));
|
||||
// return respVO;
|
||||
@ -202,7 +204,15 @@ public class ModelService {
|
||||
// log.warn("响应内容包含错误信息,返回 null");
|
||||
// return null;
|
||||
// }
|
||||
return null;
|
||||
// return null;
|
||||
|
||||
// 构建返回对象
|
||||
ModelCompletionsRespVO respVO = new ModelCompletionsRespVO();
|
||||
respVO.setSystem("助手");
|
||||
respVO.setQuestion(req.getMessages().get(req.getMessages().size() - 1).getContent());
|
||||
respVO.setAnswer(answer);
|
||||
|
||||
return respVO;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -212,7 +222,7 @@ public class ModelService {
|
||||
* @param requestBody 请求体内容
|
||||
* @throws IOException 发送请求或处理响应时可能抛出的 IO 异常
|
||||
*/
|
||||
private void sendPostRequest (String apiUrl, String requestBody, SseEmitter emitter, String uuid) throws IOException {
|
||||
private String sendPostRequest (String apiUrl, String requestBody, SseEmitter emitter, String uuid) throws IOException {
|
||||
// 创建 HttpClient 实例
|
||||
HttpClient httpClient = HttpClients.createDefault();
|
||||
|
||||
@ -226,7 +236,7 @@ public class ModelService {
|
||||
HttpResponse response = httpClient.execute(httpPost);
|
||||
|
||||
// 处理响应实体
|
||||
handleResponseEntity(response, emitter, uuid);
|
||||
return handleResponseEntity(response, emitter, uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -256,7 +266,8 @@ public class ModelService {
|
||||
*
|
||||
* @param response HttpResponse 对象
|
||||
*/
|
||||
private void handleResponseEntity (HttpResponse response, SseEmitter emitter, String uuid) {
|
||||
private String handleResponseEntity (HttpResponse response, SseEmitter emitter, String uuid) {
|
||||
StringBuilder result = new StringBuilder();
|
||||
// 获取响应实体
|
||||
HttpEntity responseEntity = response.getEntity();
|
||||
|
||||
@ -277,6 +288,7 @@ public class ModelService {
|
||||
.data(content, MediaType.TEXT_EVENT_STREAM)
|
||||
);
|
||||
}
|
||||
result.append(content);
|
||||
// 心跳检测
|
||||
if (System.currentTimeMillis() - lastSendTime > 15_000) {
|
||||
emitter.send(SseEmitter.event().comment("heartbeat"));
|
||||
@ -287,6 +299,8 @@ public class ModelService {
|
||||
} catch (IOException e) {
|
||||
emitter.completeWithError(e);
|
||||
}
|
||||
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user