From fbdba7d76dff59fa9d711346221984750636c5e3 Mon Sep 17 00:00:00 2001
From: "(no author)" <(no author)@71dcc7fd-b1f2-4e5d-bb8e-274146e81173>
Date: Sun, 22 Dec 2024 22:51:01 +0000
Subject: [PATCH] Agents: {{{xxx}}} placeholders to insert multi values in json
format; AgentContext: Convenience methods; Agents: Better error handling;
Updated prompt strategies; More response handlers;
git-svn-id: svn://home0/lm-lib@3653 71dcc7fd-b1f2-4e5d-bb8e-274146e81173
---
pom.xml | 2 +-
.../AccumulateTextAgentResponseHandler.java | 39 +++++++++++++++
src/main/java/de/extio/lmlib/agent/Agent.java | 46 ++++++++++++-----
.../de/extio/lmlib/agent/AgentContext.java | 38 ++++++++++++++
.../lmlib/agent/AgentExecutorService.java | 4 +-
.../lmlib/agent/TextAgentResponseHandler.java | 16 +++++-
.../prompt/MistralNemoPromptStrategy.java | 50 +++++++++++++++++++
...rategy.java => MistralPromptStrategy.java} | 12 ++---
8 files changed, 184 insertions(+), 23 deletions(-)
create mode 100644 src/main/java/de/extio/lmlib/agent/AccumulateTextAgentResponseHandler.java
create mode 100644 src/main/java/de/extio/lmlib/prompt/MistralNemoPromptStrategy.java
rename src/main/java/de/extio/lmlib/prompt/{MixtralPromptStrategy.java => MistralPromptStrategy.java} (80%)
diff --git a/pom.xml b/pom.xml
index dd488f7..5503426 100755
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
21
21
21
- 3.4.0
+ 3.4.1
1.0.0-beta.2
1.1.0
diff --git a/src/main/java/de/extio/lmlib/agent/AccumulateTextAgentResponseHandler.java b/src/main/java/de/extio/lmlib/agent/AccumulateTextAgentResponseHandler.java
new file mode 100644
index 0000000..f9cefb1
--- /dev/null
+++ b/src/main/java/de/extio/lmlib/agent/AccumulateTextAgentResponseHandler.java
@@ -0,0 +1,39 @@
+package de.extio.lmlib.agent;
+
+import java.util.ArrayList;
+import java.util.function.Function;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.extio.lmlib.client.Completion;
+
+public class AccumulateTextAgentResponseHandler implements AgentResponseHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AccumulateTextAgentResponseHandler.class);
+
+ private final String key;
+
+ private final Function transformer;
+
+ public AccumulateTextAgentResponseHandler(final String key) {
+ this(key, null);
+ }
+
+ public AccumulateTextAgentResponseHandler(final String key, final Function transformer) {
+ this.key = key;
+ this.transformer = transformer;
+ }
+
+ @Override
+ public boolean handle(final Split split, final Completion completion) {
+ var response = completion.response();
+ LOGGER.debug("Response: {}", response);
+ if (this.transformer != null) {
+ response = this.transformer.apply(response);
+ }
+ ((ArrayList