From 2ecffc10c73404e7d1512c12d7fdaa30443280b5 Mon Sep 17 00:00:00 2001 From: Fu Cheng Date: Sat, 21 Sep 2024 14:14:56 +1200 Subject: [PATCH] Refactor data filtering in RelevancyEvaluator Replace Objects::nonNull and instanceof checks with StringUtils::hasText for more efficient and cleaner content filtering. This change simplifies the stream operation in the getContent method, improving readability and potentially performance. --- .../springframework/ai/evaluation/RelevancyEvaluator.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/spring-ai-core/src/main/java/org/springframework/ai/evaluation/RelevancyEvaluator.java b/spring-ai-core/src/main/java/org/springframework/ai/evaluation/RelevancyEvaluator.java index 2f26e9768..9dd750537 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/evaluation/RelevancyEvaluator.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/evaluation/RelevancyEvaluator.java @@ -5,8 +5,8 @@ import org.springframework.ai.model.Content; import java.util.Collections; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; +import org.springframework.util.StringUtils; public class RelevancyEvaluator implements Evaluator { @@ -57,9 +57,7 @@ public class RelevancyEvaluator implements Evaluator { List data = evaluationRequest.getDataList(); return data.stream() .map(Content::getContent) - .filter(Objects::nonNull) - .filter(c -> c instanceof String) - .map(Object::toString) + .filter(StringUtils::hasText) .collect(Collectors.joining(System.lineSeparator())); }