Browse Source

fixed TextContent preparation for Github AI modes

pull/14209/head
dashevchenko 12 months ago
parent
commit
25f6ab7eab
  1. 4
      application/src/main/java/org/thingsboard/server/service/ai/AiChatModelServiceImpl.java
  2. 6
      common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java

4
application/src/main/java/org/thingsboard/server/service/ai/AiChatModelServiceImpl.java

@ -32,7 +32,7 @@ import org.thingsboard.server.common.data.ai.model.chat.Langchain4jChatModelConf
import java.util.List;
import java.util.stream.Collectors;
import static org.thingsboard.server.common.data.StringUtils.escapeControlChars;
import static org.thingsboard.server.common.data.StringUtils.escapeJson;
@Service
@RequiredArgsConstructor
@ -74,7 +74,7 @@ class AiChatModelServiceImpl implements AiChatModelService {
private Content prepareContent(Content content) {
if (content instanceof TextContent txt) {
return new TextContent(escapeControlChars(txt.text()));
return new TextContent(escapeJson(txt.text()));
}
return content;
}

6
common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java

@ -275,8 +275,12 @@ public class StringUtils {
return result;
}
public static String escapeControlChars(String text) {
public static String escapeJson(String text) {
return text
.replace("\\", "\\\\")
.replace("\"", "\\\"")
.replace("\b", "\\b")
.replace("\f", "\\f")
.replace("\n", "\\n")
.replace("\r", "\\r")
.replace("\t", "\\t");

Loading…
Cancel
Save