diff --git a/src/main/java/de/extio/lmlib/agent/responsehandler/CsvAgentResponseHandler.java b/src/main/java/de/extio/lmlib/agent/responsehandler/CsvAgentResponseHandler.java index 5f5a5c2..31eaa62 100644 --- a/src/main/java/de/extio/lmlib/agent/responsehandler/CsvAgentResponseHandler.java +++ b/src/main/java/de/extio/lmlib/agent/responsehandler/CsvAgentResponseHandler.java @@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory; import de.extio.lmlib.agent.AgentContext; import de.extio.lmlib.client.Completion; import de.extio.lmlib.client.Conversation; +import de.extio.lmlib.util.TextUtils; public class CsvAgentResponseHandler implements AgentResponseHandler { @@ -69,7 +70,7 @@ public class CsvAgentResponseHandler implements AgentResponseHandler { } private boolean parseCsv(final String csvText, final AgentContext context) { - final String[] lines = csvText.split("\n"); + final String[] lines = TextUtils.normalizeModelResponse(csvText, false).split("\n"); int startLine = 0; @@ -86,10 +87,10 @@ public class CsvAgentResponseHandler implements AgentResponseHandler { } final String lowerLine = line.toLowerCase(); - boolean isHeader = false; + boolean isHeader = true; for (final String heading : this.headings) { - if (lowerLine.contains(heading.toLowerCase())) { - isHeader = true; + if (!lowerLine.contains(heading.toLowerCase())) { + isHeader = false; break; } } @@ -164,13 +165,6 @@ public class CsvAgentResponseHandler implements AgentResponseHandler { return value; } - if ((value.startsWith("\"") - && value.endsWith("\"")) - || (value.startsWith("'") - && value.endsWith("'"))) { - return value.substring(1, value.length() - 1); - } - - return value; + return TextUtils.normalizeModelResponse(value, false); } } diff --git a/src/main/java/de/extio/lmlib/agent/responsehandler/CsvUnmarshallingAgentResponseHandler.java b/src/main/java/de/extio/lmlib/agent/responsehandler/CsvUnmarshallingAgentResponseHandler.java index a550a53..dbf1d69 100644 --- a/src/main/java/de/extio/lmlib/agent/responsehandler/CsvUnmarshallingAgentResponseHandler.java +++ b/src/main/java/de/extio/lmlib/agent/responsehandler/CsvUnmarshallingAgentResponseHandler.java @@ -15,6 +15,7 @@ import org.slf4j.LoggerFactory; import de.extio.lmlib.agent.AgentContext; import de.extio.lmlib.client.Completion; import de.extio.lmlib.client.Conversation; +import de.extio.lmlib.util.TextUtils; public class CsvUnmarshallingAgentResponseHandler implements AgentResponseHandler { @@ -113,7 +114,7 @@ public class CsvUnmarshallingAgentResponseHandler implements AgentResponseHandle private List parseCsv(final String csvText) throws Exception { final List result = new ArrayList<>(); - final String[] lines = csvText.split("\n"); + final String[] lines = TextUtils.normalizeModelResponse(csvText, false).split("\n"); int startLine = 0; @@ -130,10 +131,10 @@ public class CsvUnmarshallingAgentResponseHandler implements AgentResponseHandle } final String lowerLine = line.toLowerCase(); - boolean isHeader = false; + boolean isHeader = true; for (final String fieldName : this.fieldNames) { - if (lowerLine.contains(fieldName.toLowerCase())) { - isHeader = true; + if (!lowerLine.contains(fieldName.toLowerCase())) { + isHeader = false; break; } } @@ -264,13 +265,6 @@ public class CsvUnmarshallingAgentResponseHandler implements AgentResponseHandle return value; } - if ((value.startsWith("\"") - && value.endsWith("\"")) - || (value.startsWith("'") - && value.endsWith("'"))) { - return value.substring(1, value.length() - 1); - } - - return value; + return TextUtils.normalizeModelResponse(value, false); } }