diff --git a/src/main/java/com/ai/da/controller/LLMController.java b/src/main/java/com/ai/da/controller/LLMController.java index 0b98f946..f6053132 100644 --- a/src/main/java/com/ai/da/controller/LLMController.java +++ b/src/main/java/com/ai/da/controller/LLMController.java @@ -57,14 +57,15 @@ public class LLMController { public SseEmitter streamPrompt(@RequestParam String prompt, @RequestParam Long projectId, @RequestParam(required = false) String fileUrl, + @RequestParam(required = false) List imageUrlList, @RequestParam String token) { - return llmService.stream(prompt, projectId, fileUrl, token); + return llmService.stream(prompt, projectId, fileUrl, imageUrlList, token); } @ApiOperation(value = "对话创建项目") @GetMapping(value = "/chatCreateProject") - public Response chatCreateProject(@RequestParam String prompt) { - return Response.success(llmService.chatCreateProject(prompt)); + public Response chatCreateProject(@RequestParam String prompt, @RequestParam String process) { + return Response.success(llmService.chatCreateProject(prompt, process)); } @ApiOperation(value = "上传文件") diff --git a/src/main/java/com/ai/da/service/LLMService.java b/src/main/java/com/ai/da/service/LLMService.java index 0f4b400b..016e033c 100644 --- a/src/main/java/com/ai/da/service/LLMService.java +++ b/src/main/java/com/ai/da/service/LLMService.java @@ -31,9 +31,9 @@ import java.util.Set; */ public interface LLMService { - SseEmitter stream(String prompt, Long projectId, String fileUrl, String token); + SseEmitter stream(String prompt, Long projectId, String fileUrl, List imageUrlList, String token); - Long chatCreateProject(String prompt); + Long chatCreateProject(String prompt, String process); List uploadFile(MultipartFile file); diff --git a/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java b/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java index 71812ad8..68717832 100644 --- a/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java @@ -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, String token) { + public SseEmitter stream(String prompt, Long projectId, String fileUrl, List imageUrlList, String token) { SseEmitter emitter = new SseEmitter(0L); // 永不超时 executor.submit(() -> { @@ -86,7 +86,7 @@ public class LLMServiceImpl implements LLMService { JSONObject jsonBodyObject = new JSONObject(); jsonBodyObject.put("session_id", projectId.toString()); jsonBodyObject.put("role", "user"); - jsonBodyObject.put("image", ""); // 可扩展 + jsonBodyObject.put("image", imageUrlList); // 可扩展 jsonBodyObject.put("file", fileUrl != null ? fileUrl : ""); jsonBodyObject.put("message", prompt); jsonBodyObject.put("enable_thinking", false); @@ -161,7 +161,7 @@ public class LLMServiceImpl implements LLMService { } @Override - public Long chatCreateProject(String prompt) { + public Long chatCreateProject(String prompt, String process) { AuthPrincipalVo userHolder = UserContext.getUserHolder(); JSONObject jsonObject = pythonService.getProjectParam(prompt); JSONObject data = jsonObject.getJSONObject("data"); @@ -172,16 +172,17 @@ public class LLMServiceImpl implements LLMService { project.setAccountId(userHolder.getId()); project.setName(data.getString("project_name")); project.setOriginal(1); - String process = data.getString("process"); - if (StringUtils.isEmpty(process)) { - project.setProcess(DesignProcess.SERIES_DESIGN.name()); - }else { - if (DesignProcess.isValidName(process)) { - project.setProcess(process); - }else { - project.setProcess(DesignProcess.SERIES_DESIGN.name()); - } - } +// String process = data.getString("process"); +// if (StringUtils.isEmpty(process)) { +// project.setProcess(DesignProcess.SERIES_DESIGN.name()); +// }else { +// if (DesignProcess.isValidName(process)) { +// project.setProcess(process); +// }else { +// project.setProcess(DesignProcess.SERIES_DESIGN.name()); +// } +// } + project.setProcess(process); projectMapper.insert(project); Workspace workspace = new Workspace();