From bf7de995244c7afee8090187c0594f434054217a Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 18 Apr 2024 11:37:40 +0900 Subject: [PATCH] [+] NFKC Normalization before processing --- src/main/java/icu/samnyan/aqua/net/Safety.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/icu/samnyan/aqua/net/Safety.kt b/src/main/java/icu/samnyan/aqua/net/Safety.kt index 5e5492f9..c04f4fdf 100644 --- a/src/main/java/icu/samnyan/aqua/net/Safety.kt +++ b/src/main/java/icu/samnyan/aqua/net/Safety.kt @@ -13,6 +13,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.context.annotation.Configuration import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Service +import java.text.Normalizer @Configuration @ConfigurationProperties(prefix = "aqua-net.openai") @@ -49,7 +50,9 @@ class AquaNetSafetyService( val safety: AquaNetSafetyRepo, val openAIConfig: OpenAIConfig ) { - suspend fun isSafe(content: String): Boolean { + suspend fun isSafe(rawContent: String): Boolean { + // NFKC normalize + val content = Normalizer.normalize(rawContent, Normalizer.Form.NFKC) if (content.isBlank()) return true async { safety.findByContent(content) }?.let { return it.safe }