diff --git a/Core/src/main/java/me/neurodock/ollama/OllamaObject.java b/Core/src/main/java/me/neurodock/ollama/OllamaObject.java index 8557aa2..4001d47 100644 --- a/Core/src/main/java/me/neurodock/ollama/OllamaObject.java +++ b/Core/src/main/java/me/neurodock/ollama/OllamaObject.java @@ -232,6 +232,36 @@ public class OllamaObject { messages.add(message); } + /** + * Returns the current list of messages, AND clears them. + * You will need to re-submit the System prompt if you had one + * @return an ArrayList containing all messages stored in this {@link OllamaObject} + */ + public List dumpMessages() + { + ArrayList messages = new ArrayList<>(this.messages); + this.messages.clear(); + return messages; + } + + /** + * Adds all messages from a povided list to this {@link OllamaObject} + * @param messages the message list to add + */ + public void addAllMessages(List messages) { + this.messages.addAll(messages); + } + + /** + * Adds a system message to the messages. + *

+ * Equvalent to {@code OllamaObject#addMessage(new OllamaMessage(OllamaMessageRole.SYSTEM, ))} + * @param message + */ + public void addSystemMessage(String message) { + messages.add(new OllamaMessage(OllamaMessageRole.SYSTEM, message)); + } + @Override public String toString() { JSONObject json = new JSONObject();