mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
@@ -16,6 +16,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@@ -50,19 +51,28 @@ public class MemoryReviewTask {
|
|||||||
memoryService.getMemoriesForLlmReview().stream()
|
memoryService.getMemoriesForLlmReview().stream()
|
||||||
.forEach(m -> {
|
.forEach(m -> {
|
||||||
Agent chatAgent = agentService.getAgent(m.getAgentId());
|
Agent chatAgent = agentService.getAgent(m.getAgentId());
|
||||||
String promptStr = String.format(INSTRUCTION, m.getQuestion(), m.getDbSchema(), m.getS2sql());
|
if (Objects.nonNull(chatAgent)) {
|
||||||
Prompt prompt = PromptTemplate.from(promptStr).apply(Collections.EMPTY_MAP);
|
String promptStr = String.format(INSTRUCTION, m.getQuestion(), m.getDbSchema(), m.getS2sql());
|
||||||
|
Prompt prompt = PromptTemplate.from(promptStr).apply(Collections.EMPTY_MAP);
|
||||||
|
|
||||||
keyPipelineLog.info("MemoryReviewTask reqPrompt:{}", promptStr);
|
keyPipelineLog.info("MemoryReviewTask reqPrompt:{}", promptStr);
|
||||||
ChatLanguageModel chatLanguageModel = ChatLanguageModelProvider.provide(chatAgent.getLlmConfig());
|
ChatLanguageModel chatLanguageModel = ChatLanguageModelProvider.provide(
|
||||||
String response = chatLanguageModel.generate(prompt.toUserMessage()).content().text();
|
chatAgent.getLlmConfig());
|
||||||
keyPipelineLog.info("MemoryReviewTask modelResp:{}", response);
|
if (Objects.nonNull(chatLanguageModel)) {
|
||||||
|
String response = chatLanguageModel.generate(prompt.toUserMessage()).content().text();
|
||||||
|
keyPipelineLog.info("MemoryReviewTask modelResp:{}", response);
|
||||||
|
|
||||||
Matcher matcher = OUTPUT_PATTERN.matcher(response);
|
Matcher matcher = OUTPUT_PATTERN.matcher(response);
|
||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
m.setLlmReviewRet(MemoryReviewResult.valueOf(matcher.group(1)));
|
m.setLlmReviewRet(MemoryReviewResult.valueOf(matcher.group(1)));
|
||||||
m.setLlmReviewCmt(matcher.group(2));
|
m.setLlmReviewCmt(matcher.group(2));
|
||||||
memoryService.updateMemory(m);
|
memoryService.updateMemory(m);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.debug("ChatLanguageModel not found for agent:{}", chatAgent.getId());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.debug("Agent not found for memory:{}", m.getAgentId());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user