TASK:LLM;

This commit is contained in:
shahaibo
2025-05-22 10:11:21 +08:00
parent 93fe0781b2
commit 5a0fb6fd3f
2 changed files with 16 additions and 9 deletions

View File

@@ -55,7 +55,7 @@ public class LLMController {
@CrossOrigin
@GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public SseEmitter streamPrompt(@RequestParam String prompt,
@RequestParam Long projectId,
@RequestParam(required = false) Long projectId,
@RequestParam(required = false) String fileUrl,
@RequestParam(required = false) List<String> imageUrlList,
@RequestParam(required = false) String process,

View File

@@ -67,7 +67,7 @@ public class LLMServiceImpl implements LLMService {
private final ExecutorService executor = Executors.newCachedThreadPool();
@Override
public SseEmitter stream(String prompt, Long projectId, String fileUrl, List<String> imageUrlList, String token, Boolean enableThinking, String process) {
public SseEmitter stream(String prompt, Long projectParamId, String fileUrl, List<String> imageUrlList, String token, Boolean enableThinking, String process) {
SseEmitter emitter = new SseEmitter(0L); // 永不超时
executor.submit(() -> {
@@ -76,13 +76,21 @@ public class LLMServiceImpl implements LLMService {
if (validate) {
AuthPrincipalVo principal = jwtTokenHelper.parserToUser(token);
Long accountId = principal.getId();
int userSeq = getNextSeq(projectId); // 获取当前session下一条消息序号
String url = "http://18.167.251.121:10002/chat-stream";
// String url = "http://10.1.1.240:1013/chat-stream";
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
Long projectId = null;
if (null == projectParamId) {
Project project = new Project();
project.setCreateTime(LocalDateTime.now());
projectMapper.insert(project);
projectId = project.getId();
}else {
projectId = projectParamId;
}
JSONObject jsonBodyObject = new JSONObject();
jsonBodyObject.put("project_id", projectId.toString());
@@ -98,7 +106,7 @@ public class LLMServiceImpl implements LLMService {
ChatMessage userMessage = new ChatMessage();
userMessage.setRole("user");
userMessage.setProjectId(projectId);
userMessage.setSeq(userSeq);
userMessage.setSeq(getNextSeq(projectId));
userMessage.setCreateTime(LocalDateTime.now());
userMessage.setContent(jsonBodyObject.toJSONString());
userMessage.setAccountId(accountId);
@@ -180,10 +188,9 @@ public class LLMServiceImpl implements LLMService {
}
if (status.equals("[PROJECT_CREATE_SIGNAL]")) {
JSONObject data = toolsData;
Project project = new Project();
Project project = projectMapper.selectById(projectId);
LocalDateTime now = LocalDateTime.now();
project.setUpdateTime(now);
project.setCreateTime(now);
project.setAccountId(accountId);
project.setName(data.getString("project_name"));
project.setOriginal(1);
@@ -198,7 +205,7 @@ public class LLMServiceImpl implements LLMService {
// }
// }
project.setProcess(process);
projectMapper.insert(project);
projectMapper.updateById(project);
Workspace workspace = new Workspace();
workspace.setAccountId(accountId);
@@ -235,7 +242,7 @@ public class LLMServiceImpl implements LLMService {
}
workspace.setSystemDesignerPercentage(30);
workspace.setProjectId(project.getId());
workspace.setAccountId(accountId);
String style = data.getString("style");
String styleName = null;
if (StringUtils.isEmpty(style)) {
@@ -271,7 +278,7 @@ public class LLMServiceImpl implements LLMService {
workspaceRelStyleMapper.insert(rel);
}
}
toolsData.put("projectId", project.getId());
toolsData.put("projectId", projectId);
json.put("tools_data", toolsData.toJSONString());
}
emitter.send(json.toJSONString());