[improvement][chat] Optimize the MemoryReviewTask task by adding individual exception handling (#1788)

This commit is contained in:
lexluo09
2024-10-11 23:09:13 +08:00
committed by GitHub
parent 0a86a63937
commit 72d01bb419
4 changed files with 13 additions and 9 deletions

View File

@@ -49,11 +49,14 @@ public class MemoryReviewTask {
@Scheduled(fixedDelay = 60 * 1000) @Scheduled(fixedDelay = 60 * 1000)
public void review() { public void review() {
memoryService.getMemoriesForLlmReview().stream().forEach(memory -> {
try { try {
memoryService.getMemoriesForLlmReview().stream().forEach(this::processMemory); processMemory(memory);
} catch (Exception e) { } catch (Exception e) {
log.error("Exception occurred during memory review task", e); log.error("Exception occurred while processing memory with id {}: {}",
memory.getId(), e.getMessage(), e);
} }
});
} }
private void processMemory(ChatMemoryDO m) { private void processMemory(ChatMemoryDO m) {

View File

@@ -105,8 +105,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentDOMapper, AgentDO> implem
} }
private synchronized void doExecuteAgentExamples(Agent agent) { private synchronized void doExecuteAgentExamples(Agent agent) {
if (!agent.containsDatasetTool() if (!agent.containsDatasetTool() || !agent.enableMemoryReview()
|| !agent.enableMemoryReview()
|| !ModelConfigHelper.testConnection( || !ModelConfigHelper.testConnection(
ModelConfigHelper.getChatModelConfig(agent, ChatModelType.TEXT_TO_SQL)) ModelConfigHelper.getChatModelConfig(agent, ChatModelType.TEXT_TO_SQL))
|| CollectionUtils.isEmpty(agent.getExamples())) { || CollectionUtils.isEmpty(agent.getExamples())) {

View File

@@ -1,8 +1,9 @@
package com.tencent.supersonic.headless.api.pojo; package com.tencent.supersonic.headless.api.pojo;
import java.util.List;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class ModelSchema { public class ModelSchema {

View File

@@ -56,7 +56,8 @@ public class LLMSqlCorrector extends BaseSemanticCorrector {
return; return;
} }
ChatLanguageModel chatLanguageModel = ModelProvider.getChatModel(chatQueryContext.getModelConfig()); ChatLanguageModel chatLanguageModel =
ModelProvider.getChatModel(chatQueryContext.getModelConfig());
SemanticSqlExtractor extractor = SemanticSqlExtractor extractor =
AiServices.create(SemanticSqlExtractor.class, chatLanguageModel); AiServices.create(SemanticSqlExtractor.class, chatLanguageModel);
Prompt prompt = generatePrompt(chatQueryContext.getQueryText(), semanticParseInfo); Prompt prompt = generatePrompt(chatQueryContext.getQueryText(), semanticParseInfo);