diff --git a/pom.xml b/pom.xml
index 2b02402..3b6acc0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
com.izzatalsharif.openai
chat-agent
- 0.1.1
+ 0.1.2
chat-agent
chat-agent
diff --git a/src/main/java/com/izzatalsharif/openai/chatagent/core/AgentService.java b/src/main/java/com/izzatalsharif/openai/chatagent/core/AgentService.java
index 3fbca1c..d7ee805 100644
--- a/src/main/java/com/izzatalsharif/openai/chatagent/core/AgentService.java
+++ b/src/main/java/com/izzatalsharif/openai/chatagent/core/AgentService.java
@@ -142,7 +142,20 @@ public Mono request(I input) throws InputFormattingException, OutputPa
* @return the request template with the prompt injected
*/
private String injectRequest(String prompt) {
+ prompt = quoteFix(prompt);
return template.replace("{prompt}", prompt);
}
+ /**
+ * Adds prefix '\' to all double quotes to ensure proper parsing.
+ * This is because the prompt will be injected as a string and parsed again in OpenAI server.
+ * So it must be explicit '\"' in the JSON body.
+ *
+ * @param prompt the input string to be fixed
+ * @return the fixed input string
+ */
+ private String quoteFix(String prompt) {
+ return prompt.replaceAll("\"", "\\\\\"");
+ }
+
}
diff --git a/src/test/java/com/izzatalsharif/openai/chatagent/HandlersTest.java b/src/test/java/com/izzatalsharif/openai/chatagent/HandlersTest.java
index 5f2669d..d4a3c43 100644
--- a/src/test/java/com/izzatalsharif/openai/chatagent/HandlersTest.java
+++ b/src/test/java/com/izzatalsharif/openai/chatagent/HandlersTest.java
@@ -1,13 +1,7 @@
package com.izzatalsharif.openai.chatagent;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.izzatalsharif.openai.chatagent.core.HandlerFactory;
import com.izzatalsharif.openai.chatagent.exception.OutputParsingException;
-import com.izzatalsharif.openai.chatagent.handler.JsonInputFormatter;
-import com.izzatalsharif.openai.chatagent.handler.JsonOutputParser;
-import com.izzatalsharif.openai.chatagent.handler.XmlInputFormatter;
-import com.izzatalsharif.openai.chatagent.handler.XmlOutputParser;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;