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;