From 594e6d58adeb22b876600c5f01b148445e451a76 Mon Sep 17 00:00:00 2001 From: "andrea.terzani" Date: Thu, 14 Nov 2024 15:48:36 +0100 Subject: [PATCH] Refactor error handling and logging in ApplicationBrowserService; clean up unused code in ApplicationService; streamline message handling in AdvancedAIPromptSolver and SourceCodeRagSolver --- .../services/ApplicationBrowserService.java | 24 ++++---- .../hermione/services/ApplicationService.java | 12 ---- .../services/ScenarioExecutionService.java | 2 +- .../stepSolvers/AdvancedAIPromptSolver.java | 58 ++++++------------- .../stepSolvers/SourceCodeRagSolver.java | 14 ++--- 5 files changed, 33 insertions(+), 77 deletions(-) diff --git a/src/main/java/com/olympus/hermione/services/ApplicationBrowserService.java b/src/main/java/com/olympus/hermione/services/ApplicationBrowserService.java index c2a2153..23d7345 100644 --- a/src/main/java/com/olympus/hermione/services/ApplicationBrowserService.java +++ b/src/main/java/com/olympus/hermione/services/ApplicationBrowserService.java @@ -51,21 +51,17 @@ public class ApplicationBrowserService { } public ResponseEntity getProgressRev(String processId) { - logger.info("getProgressRev function:"); - ResponseEntity responseEntity = null; + ResponseEntity responseEntity = null; - try { - // Chiama il metodo getProcessStatus e memorizza il risultato - responseEntity = javaREModule.getProcessStatus(processId); + try { + // Chiama il metodo getProcessStatus e memorizza il risultato + responseEntity = javaREModule.getProcessStatus(processId); + } catch (Exception e) { + // In caso di eccezione + logger.error("Exception in getProgressRev: {}", e.getMessage()); + } - } catch (Exception e) { - // In caso di eccezione - logger.error("Exception in getProgressRev: {}", e.getMessage()); + return responseEntity; } - - return responseEntity; -} - - -} +} \ No newline at end of file diff --git a/src/main/java/com/olympus/hermione/services/ApplicationService.java b/src/main/java/com/olympus/hermione/services/ApplicationService.java index 0d320ed..3201f48 100644 --- a/src/main/java/com/olympus/hermione/services/ApplicationService.java +++ b/src/main/java/com/olympus/hermione/services/ApplicationService.java @@ -8,10 +8,8 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import com.olympus.hermione.repository.ApplicationRepository; -import com.olympus.hermione.repository.ProjectRepository; import com.olympus.hermione.security.entity.User; import com.olympus.model.Application; -import com.olympus.model.Project; import java.util.List; @@ -27,19 +25,9 @@ public class ApplicationService { List lstApp = null; User principal = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - // lstApp = appRepo.findByProjectId(principal.getSelectedProject()); - - //List objectIds = convertToObjectIdList(principal.getSelected_progect()); - - //List lstProject = projectRepo.findAllById(objectIds); logger.info("getListProjectByIds function:"); - /* Application all = new Application(); - all.setFE_name("ALL"); - all.setInternal_name("ALL"); - all.setId(new ObjectId("ALL")); - lstApp.add(all);*/ return lstApp; diff --git a/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java b/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java index 087497c..9761855 100644 --- a/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java +++ b/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java @@ -142,7 +142,7 @@ public class ScenarioExecutionService { scenarioExecution.setScenario(scenario); } - chatModel = createChatModel(aiModel); + ChatModel chatModel = createChatModel(aiModel); scenarioExecutionRepository.save(scenarioExecution); diff --git a/src/main/java/com/olympus/hermione/stepSolvers/AdvancedAIPromptSolver.java b/src/main/java/com/olympus/hermione/stepSolvers/AdvancedAIPromptSolver.java index 1a959fa..f94c01f 100644 --- a/src/main/java/com/olympus/hermione/stepSolvers/AdvancedAIPromptSolver.java +++ b/src/main/java/com/olympus/hermione/stepSolvers/AdvancedAIPromptSolver.java @@ -1,21 +1,17 @@ package com.olympus.hermione.stepSolvers; -import org.slf4j.LoggerFactory; -import org.springframework.ai.azure.openai.metadata.AzureOpenAiUsage; -import org.springframework.ai.chat.client.ChatClient.CallResponseSpec; -import org.springframework.ai.chat.messages.Message; -import org.springframework.ai.chat.messages.SystemMessage; -import org.springframework.ai.chat.messages.UserMessage; -import org.springframework.ai.chat.metadata.Usage; -import org.springframework.ai.chat.model.ChatResponse; - +import ch.qos.logback.classic.Logger; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.olympus.hermione.dto.aientity.CiaOutputEntity; import com.olympus.hermione.models.ScenarioExecution; import com.olympus.hermione.utility.AttributeParser; - -import ch.qos.logback.classic.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.ai.chat.client.ChatClient.CallResponseSpec; +import org.springframework.ai.chat.messages.Message; +import org.springframework.ai.chat.messages.SystemMessage; +import org.springframework.ai.chat.messages.UserMessage; +import org.springframework.ai.chat.metadata.Usage; public class AdvancedAIPromptSolver extends StepSolver { @@ -66,38 +62,18 @@ public class AdvancedAIPromptSolver extends StepSolver { String userText = this.qai_user_input; + logger.info("Using model " + chatModel.getDefaultOptions().getModel()); - CallResponseSpec resp=null; - - - if( chatModel.getDefaultOptions().getModel().contains("o1-") ){ - //Non funziona - logger.info("Using o1- model => " + chatModel.getDefaultOptions().getModel()); - - String completePrompt = this.qai_system_prompt_template + userText; - - resp = chatClient.prompt() - .messages(new UserMessage(completePrompt)) - .advisors(advisor -> advisor - .param("chat_memory_conversation_id", this.scenarioExecution.getId()+this.qai_custom_memory_id) - .param("chat_memory_response_size", 100)) - .call(); - - }else{ - logger.info("Using standard model=> " + chatModel.getDefaultOptions().getModel()); - - Message userMessage = new UserMessage(userText); - Message systemMessage = new SystemMessage(this.qai_system_prompt_template); - - resp = chatClient.prompt() - .messages(userMessage,systemMessage) - .advisors(advisor -> advisor - .param("chat_memory_conversation_id", this.scenarioExecution.getId()+this.qai_custom_memory_id) - .param("chat_memory_response_size", 100)) - .call(); - } - + Message userMessage = new UserMessage(userText); + Message systemMessage = new SystemMessage(this.qai_system_prompt_template); + CallResponseSpec resp = chatClient.prompt() + .messages(userMessage,systemMessage) + .advisors(advisor -> advisor + .param("chat_memory_conversation_id", this.scenarioExecution.getId()+this.qai_custom_memory_id) + .param("chat_memory_response_size", 100)) + .call(); + Usage usage = resp.chatResponse().getMetadata().getUsage(); diff --git a/src/main/java/com/olympus/hermione/stepSolvers/SourceCodeRagSolver.java b/src/main/java/com/olympus/hermione/stepSolvers/SourceCodeRagSolver.java index 61d280b..7d01e4e 100644 --- a/src/main/java/com/olympus/hermione/stepSolvers/SourceCodeRagSolver.java +++ b/src/main/java/com/olympus/hermione/stepSolvers/SourceCodeRagSolver.java @@ -2,18 +2,14 @@ package com.olympus.hermione.stepSolvers; +import ch.qos.logback.classic.Logger; +import com.olympus.dto.CodeRagResponse; +import com.olympus.dto.SimilaritySearchCodeInput; +import com.olympus.hermione.models.ScenarioExecution; +import com.olympus.hermione.utility.AttributeParser; import org.slf4j.LoggerFactory; import org.springframework.cloud.client.ServiceInstance; import org.springframework.web.client.RestTemplate; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; - -import com.olympus.hermione.models.ScenarioExecution; -import com.olympus.hermione.utility.AttributeParser; -import com.olympus.dto.CodeRagResponse; -import com.olympus.dto.SimilaritySearchCodeInput; - -import ch.qos.logback.classic.Logger; public class SourceCodeRagSolver extends StepSolver {