Skip to content

Commit 6ac2231

Browse files
committed
refactoring
1 parent 896d88d commit 6ac2231

File tree

10 files changed

+37
-26
lines changed

10 files changed

+37
-26
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Agentic Patterns
22

3+
[![build](https://github.com/JavaAIDev/agentic-patterns/actions/workflows/build.yaml/badge.svg)](https://github.com/JavaAIDev/agentic-patterns/actions/workflows/build.yaml)
4+
![Maven Central Version](https://img.shields.io/maven-central/v/com.javaaidev/agentic-patterns)
5+
36
Reference implementation of [Agentic Patterns](https://javaaidev.com/docs/agentic-patterns/intro/)
47

58
This reference implementation is designed to be reusable.

core/src/main/java/com/javaaidev/agenticpatterns/core/Utils.java renamed to core/src/main/java/com/javaaidev/agenticpatterns/core/AgentUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import org.jspecify.annotations.Nullable;
1010
import org.springframework.core.io.ClassPathResource;
1111

12-
public class Utils {
12+
public class AgentUtils {
1313

1414
public static String loadPromptTemplateFromClasspath(String resource) {
1515
try {

examples/src/main/java/com/javaaidev/agenticpatterns/examples/chainworkflow/ArticleWritingAgent.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.javaaidev.agenticpatterns.chainworkflow.ChainStepAgent;
44
import com.javaaidev.agenticpatterns.chainworkflow.ChainWorkflowAgent;
55
import com.javaaidev.agenticpatterns.chainworkflow.WorkflowChain;
6-
import com.javaaidev.agenticpatterns.core.Utils;
6+
import com.javaaidev.agenticpatterns.core.AgentUtils;
77
import com.javaaidev.agenticpatterns.examples.chainworkflow.ArticleWritingAgent.ArticleWritingRequest;
88
import com.javaaidev.agenticpatterns.examples.chainworkflow.ArticleWritingAgent.ArticleWritingResponse;
99
import com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent;
@@ -71,7 +71,7 @@ protected String getPromptTemplate() {
7171
protected @Nullable Map<String, Object> getPromptContext(
7272
@Nullable ArticleWritingRequest articleWritingRequest) {
7373
return Map.of(
74-
"topic", Utils.safeGet(articleWritingRequest, ArticleWritingRequest::topic, "")
74+
"topic", AgentUtils.safeGet(articleWritingRequest, ArticleWritingRequest::topic, "")
7575
);
7676
}
7777
}
@@ -150,7 +150,7 @@ protected ArticleImprovementResponse call(ArticleImprovementRequest request,
150150
return Map.of(
151151
"instruction", instruction,
152152
"article",
153-
Utils.safeGet(articleImprovementRequest, ArticleImprovementRequest::article, "")
153+
AgentUtils.safeGet(articleImprovementRequest, ArticleImprovementRequest::article, "")
154154
);
155155
}
156156

examples/src/main/java/com/javaaidev/agenticpatterns/examples/evaluatoroptimizer/CodeGenerationAgent.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javaaidev.agenticpatterns.examples.evaluatoroptimizer;
22

3-
import com.javaaidev.agenticpatterns.core.Utils;
3+
import com.javaaidev.agenticpatterns.core.AgentUtils;
44
import com.javaaidev.agenticpatterns.evaluatoroptimizer.PromptBasedEvaluatorOptimizerAgent;
55
import com.javaaidev.agenticpatterns.examples.evaluatoroptimizer.CodeGenerationAgent.CodeGenerationRequest;
66
import com.javaaidev.agenticpatterns.examples.evaluatoroptimizer.CodeGenerationAgent.CodeGenerationResponse;
@@ -30,33 +30,33 @@ protected ChatClient getEvaluationChatClient() {
3030

3131
@Override
3232
protected String getInitialResultPromptTemplate() {
33-
return Utils.loadPromptTemplateFromClasspath(
33+
return AgentUtils.loadPromptTemplateFromClasspath(
3434
"prompt_template/code-generator/initial-result.st");
3535
}
3636

3737
@Override
3838
protected @Nullable Map<String, Object> buildInitialResultPromptContext(
3939
@Nullable CodeGenerationRequest codeGenerationRequest) {
4040
return Map.of("input",
41-
Utils.safeGet(codeGenerationRequest, CodeGenerationRequest::input, ""));
41+
AgentUtils.safeGet(codeGenerationRequest, CodeGenerationRequest::input, ""));
4242
}
4343

4444
@Override
4545
protected String getEvaluationPromptTemplate() {
46-
return Utils.loadPromptTemplateFromClasspath(
46+
return AgentUtils.loadPromptTemplateFromClasspath(
4747
"prompt_template/code-generator/evaluation.st");
4848
}
4949

5050
@Override
5151
protected @Nullable Map<String, Object> buildEvaluationPromptContext(
5252
@Nullable CodeGenerationResponse codeGenerationResponse) {
5353
return Map.of("code",
54-
Utils.safeGet(codeGenerationResponse, CodeGenerationResponse::code, ""));
54+
AgentUtils.safeGet(codeGenerationResponse, CodeGenerationResponse::code, ""));
5555
}
5656

5757
@Override
5858
protected String getOptimizationPromptTemplate() {
59-
return Utils.loadPromptTemplateFromClasspath(
59+
return AgentUtils.loadPromptTemplateFromClasspath(
6060
"prompt_template/code-generator/optimization.st");
6161
}
6262

examples/src/main/java/com/javaaidev/agenticpatterns/examples/parallelizationworkflow/AlgorithmArticleGenerationAgent.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javaaidev.agenticpatterns.examples.parallelizationworkflow;
22

3-
import com.javaaidev.agenticpatterns.core.Utils;
3+
import com.javaaidev.agenticpatterns.core.AgentUtils;
44
import com.javaaidev.agenticpatterns.examples.parallelizationworkflow.AlgorithmArticleGenerationAgent.AlgorithmArticleGenerationRequest;
55
import com.javaaidev.agenticpatterns.examples.parallelizationworkflow.AlgorithmArticleGenerationAgent.AlgorithmArticleGenerationResponse;
66
import com.javaaidev.agenticpatterns.examples.parallelizationworkflow.SampleCodeGenerationAgent.SampleCodeGenerationRequest;
@@ -38,7 +38,7 @@ protected String getPromptTemplate() {
3838
protected @Nullable Map<String, Object> getParentPromptContext(
3939
@Nullable AlgorithmArticleGenerationRequest request) {
4040
return Map.of("algorithm",
41-
Utils.safeGet(request, AlgorithmArticleGenerationRequest::algorithm, ""));
41+
AgentUtils.safeGet(request, AlgorithmArticleGenerationRequest::algorithm, ""));
4242
}
4343

4444
@Override
@@ -56,7 +56,7 @@ protected String getPromptTemplate() {
5656
@Override
5757
protected @Nullable List<SubtaskCreationRequest<AlgorithmArticleGenerationRequest>> createTasks(
5858
@Nullable AlgorithmArticleGenerationRequest request) {
59-
var languages = Utils.safeGet(request,
59+
var languages = AgentUtils.safeGet(request,
6060
AlgorithmArticleGenerationRequest::languages, List.<String>of());
6161
if (CollectionUtils.isEmpty(languages)) {
6262
return List.of();

examples/src/main/java/com/javaaidev/agenticpatterns/examples/parallelizationworkflow/SampleCodeGenerationAgent.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javaaidev.agenticpatterns.examples.parallelizationworkflow;
22

3-
import com.javaaidev.agenticpatterns.core.Utils;
3+
import com.javaaidev.agenticpatterns.core.AgentUtils;
44
import com.javaaidev.agenticpatterns.examples.parallelizationworkflow.SampleCodeGenerationAgent.SampleCodeGenerationRequest;
55
import com.javaaidev.agenticpatterns.examples.parallelizationworkflow.SampleCodeGenerationAgent.SampleCodeGenerationResponse;
66
import com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent;
@@ -31,9 +31,9 @@ protected String getPromptTemplate() {
3131
@Nullable SampleCodeGenerationRequest request) {
3232
return Map.of(
3333
"language",
34-
Utils.safeGet(request, SampleCodeGenerationRequest::language, "java"),
34+
AgentUtils.safeGet(request, SampleCodeGenerationRequest::language, "java"),
3535
"description",
36-
Utils.safeGet(request, SampleCodeGenerationRequest::description, "")
36+
AgentUtils.safeGet(request, SampleCodeGenerationRequest::description, "")
3737
);
3838
}
3939

examples/src/main/java/com/javaaidev/agenticpatterns/examples/routingworkflow/CustomerSupportAgent.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javaaidev.agenticpatterns.examples.routingworkflow;
22

3-
import com.javaaidev.agenticpatterns.core.Utils;
3+
import com.javaaidev.agenticpatterns.core.AgentUtils;
44
import com.javaaidev.agenticpatterns.examples.routingworkflow.CustomerSupportAgent.CustomerSupportRequest;
55
import com.javaaidev.agenticpatterns.examples.routingworkflow.CustomerSupportAgent.CustomerSupportResponse;
66
import com.javaaidev.agenticpatterns.routingworkflow.RoutingWorkflowAgent;
@@ -36,7 +36,7 @@ private void initRoutes() {
3636

3737
@Override
3838
protected String formatRequest(@Nullable CustomerSupportRequest request) {
39-
return Utils.safeGet(request, CustomerSupportRequest::question, "");
39+
return AgentUtils.safeGet(request, CustomerSupportRequest::question, "");
4040
}
4141

4242
public record CustomerSupportRequest(String question) {
@@ -64,7 +64,7 @@ protected String getPromptTemplate() {
6464
@Nullable CustomerSupportRequest customerSupportRequest) {
6565
return Map.of(
6666
"question",
67-
Utils.safeGet(customerSupportRequest, CustomerSupportRequest::question, "")
67+
AgentUtils.safeGet(customerSupportRequest, CustomerSupportRequest::question, "")
6868
);
6969
}
7070

@@ -91,7 +91,7 @@ protected String getPromptTemplate() {
9191
@Nullable CustomerSupportRequest customerSupportRequest) {
9292
return Map.of(
9393
"question",
94-
Utils.safeGet(customerSupportRequest, CustomerSupportRequest::question, "")
94+
AgentUtils.safeGet(customerSupportRequest, CustomerSupportRequest::question, "")
9595
);
9696
}
9797

@@ -118,7 +118,7 @@ protected String getPromptTemplate() {
118118
@Nullable CustomerSupportRequest customerSupportRequest) {
119119
return Map.of(
120120
"question",
121-
Utils.safeGet(customerSupportRequest, CustomerSupportRequest::question, "")
121+
AgentUtils.safeGet(customerSupportRequest, CustomerSupportRequest::question, "")
122122
);
123123
}
124124

examples/src/main/java/com/javaaidev/agenticpatterns/examples/taskexecution/UserGenerationAgent.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javaaidev.agenticpatterns.examples.taskexecution;
22

3-
import com.javaaidev.agenticpatterns.core.Utils;
3+
import com.javaaidev.agenticpatterns.core.AgentUtils;
44
import com.javaaidev.agenticpatterns.examples.taskexecution.UserGenerationAgent.UserGenerationRequest;
55
import com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent;
66
import java.util.List;
@@ -19,13 +19,13 @@ public UserGenerationAgent(ChatClient chatClient) {
1919

2020
@Override
2121
protected String getPromptTemplate() {
22-
return Utils.loadPromptTemplateFromClasspath("prompt_template/generate-user.st");
22+
return AgentUtils.loadPromptTemplateFromClasspath("prompt_template/generate-user.st");
2323
}
2424

2525
@Override
2626
protected @Nullable Map<String, Object> getPromptContext(
2727
@Nullable UserGenerationRequest userGenerationRequest) {
28-
var count = Utils.safeGet(userGenerationRequest, UserGenerationRequest::count,
28+
var count = AgentUtils.safeGet(userGenerationRequest, UserGenerationRequest::count,
2929
1);
3030
return Map.of(
3131
"count", Math.max(1, count)

parallelization-workflow/src/main/java/com/javaaidev/agenticpatterns/parallelizationworkflow/ParallelizationWorkflowAgent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javaaidev.agenticpatterns.parallelizationworkflow;
22

3-
import com.javaaidev.agenticpatterns.core.Utils;
3+
import com.javaaidev.agenticpatterns.core.AgentUtils;
44
import com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent;
55
import java.lang.reflect.Type;
66
import java.time.Duration;
@@ -187,7 +187,7 @@ public PromptBasedAssembling(ChatClient chatClient, @Nullable Type responseType)
187187

188188
@Override
189189
protected @Nullable Map<String, Object> getPromptContext(@Nullable Request request) {
190-
return Utils.mergeMap(getParentPromptContext(request),
190+
return AgentUtils.mergeMap(getParentPromptContext(request),
191191
getSubtasksPromptContext(runSubtasks(request)));
192192
}
193193
}

task-execution/src/main/java/com/javaaidev/agenticpatterns/taskexecution/NoLLMTaskExecutionAgent.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313
public abstract class NoLLMTaskExecutionAgent<Request, Response> extends
1414
TaskExecutionAgent<Request, Response> {
1515

16+
public NoLLMTaskExecutionAgent() {
17+
super(null);
18+
}
19+
20+
public NoLLMTaskExecutionAgent(@Nullable Type responseType) {
21+
super(null, responseType);
22+
}
23+
1624
protected NoLLMTaskExecutionAgent(ChatClient chatClient) {
1725
super(chatClient);
1826
}

0 commit comments

Comments
 (0)