diff --git a/pom.xml b/pom.xml
index ef68083..1124f2c 100755
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
lm-lib
de.extio
lm-lib
- 2.4
+ 2.4.1
25
diff --git a/src/main/java/de/extio/lmlib/agent/BaseAgent.java b/src/main/java/de/extio/lmlib/agent/BaseAgent.java
index 3d09d34..c652aab 100644
--- a/src/main/java/de/extio/lmlib/agent/BaseAgent.java
+++ b/src/main/java/de/extio/lmlib/agent/BaseAgent.java
@@ -22,6 +22,7 @@ import de.extio.lmlib.client.Chunk;
import de.extio.lmlib.client.Client;
import de.extio.lmlib.client.Completion;
import de.extio.lmlib.client.Conversation;
+import de.extio.lmlib.client.Conversation.Turn;
import de.extio.lmlib.client.Conversation.TurnType;
import de.extio.lmlib.profile.ModelCategory;
import de.extio.lmlib.profile.ModelProfile;
@@ -344,13 +345,13 @@ public interface BaseAgent {
split.context().setConversation(newConversation);
conversation = newConversation;
}
- if (conversation.getConversation().get(conversation.getConversation().size() - 1).type() == TurnType.ASSISTANT) {
- if (this.systemPrompt() == null || this.systemPrompt().isEmpty() ||conversation.getConversation().size() > 1) {
- conversation.addTurn(new Conversation.Turn(TurnType.USER, split.text()));
- }
- else {
- conversation.addTurn(new Conversation.Turn(TurnType.USER, String.join("\n", this.systemPrompt(), split.text())));
- }
+
+ if (conversation.getConversation().getLast().type() != TurnType.USER) {
+ conversation.addTurn(new Conversation.Turn(TurnType.USER, split.text()));
+ }
+ else {
+ final var lastUserTurn = conversation.getConversation().getLast();
+ conversation.replaceTurn(new Turn(TurnType.USER, lastUserTurn.text() + "\n" + split.text()));
}
}
return conversation;