From 560663348191acaa933272c689f97f48810de2a8 Mon Sep 17 00:00:00 2001 From: xiuzhu9527 <1406823834@QQ.COM> Date: Mon, 26 Aug 2024 10:27:08 +0800 Subject: [PATCH] (fix)(chat)Remove spaces when obtaining a MemoryReviewResult (#1594) --- .../chat/api/pojo/enums/MemoryReviewResult.java | 14 +++++++++++++- .../chat/server/memory/MemoryReviewTask.java | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/enums/MemoryReviewResult.java b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/enums/MemoryReviewResult.java index df706ab76..57bfcc27e 100644 --- a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/enums/MemoryReviewResult.java +++ b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/enums/MemoryReviewResult.java @@ -1,9 +1,21 @@ package com.tencent.supersonic.chat.api.pojo.enums; +import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException; +import org.apache.commons.lang3.StringUtils; + public enum MemoryReviewResult { POSITIVE, - NEGATIVE + NEGATIVE; + public static MemoryReviewResult getMemoryReviewResult(String value) { + String validValue = StringUtils.trim(value); + for (MemoryReviewResult reviewRet : MemoryReviewResult.values()) { + if (StringUtils.equalsIgnoreCase(reviewRet.name(), validValue)) { + return reviewRet; + } + } + throw new InvalidArgumentException("Invalid MemoryReviewResult type:[" + value + "]"); + } } diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java index 326201424..f9802a5d6 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java @@ -67,7 +67,7 @@ public class MemoryReviewTask { Matcher matcher = OUTPUT_PATTERN.matcher(response); if (matcher.find()) { - m.setLlmReviewRet(MemoryReviewResult.valueOf(matcher.group(1))); + m.setLlmReviewRet(MemoryReviewResult.getMemoryReviewResult(matcher.group(1))); m.setLlmReviewCmt(matcher.group(2)); // directly enable memory if the LLM determines it positive if (MemoryReviewResult.POSITIVE.equals(m.getLlmReviewRet())) {