From 9286dfb4bd537334eaec7084d1f615c9a4bb6668 Mon Sep 17 00:00:00 2001 From: Philipp Gerhard Date: Wed, 29 May 2024 10:46:14 +0200 Subject: [PATCH] Extend format to improve generate JSON - Add an additional instruction to the format for the model not to include markdown syntax for JSON quotes. - Extend the conversion to strip markdown quotes in case the model included them in the response --- .../springframework/ai/converter/MapOutputConverter.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spring-ai-core/src/main/java/org/springframework/ai/converter/MapOutputConverter.java b/spring-ai-core/src/main/java/org/springframework/ai/converter/MapOutputConverter.java index 57f1ea93f..ccbbd3bf3 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/converter/MapOutputConverter.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/converter/MapOutputConverter.java @@ -40,6 +40,10 @@ public class MapOutputConverter extends AbstractMessageOutputConverter convert(@NonNull String text) { + if (text.startsWith("```json") && text.endsWith("```")) { + text = text.substring(7, text.length() - 3); + } + Message message = MessageBuilder.withPayload(text.getBytes(StandardCharsets.UTF_8)).build(); return (Map) this.getMessageConverter().fromMessage(message, HashMap.class); } @@ -50,7 +54,8 @@ public class MapOutputConverter extends AbstractMessageOutputConverter