Skip to content

Commit

Permalink
refactor: use string block for prompt template
Browse files Browse the repository at this point in the history
  • Loading branch information
bsorrentino committed Mar 27, 2024
1 parent 7dd851c commit ef5df2e
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions agents/src/main/java/dev/langchain4j/Agent.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ public Response<AiMessage> execute( Map<String,Object> inputs ) {
}

private PromptTemplate getToolResponseTemplate( ) {
var TEMPLATE_TOOL_RESPONSE = new StringBuilder()
.append("TOOL RESPONSE:").append('\n')
.append("---------------------").append('\n')
.append("{{observation}}").append('\n')
.append( "--------------------" ).append('\n')
.append('\n')
.toString();
var TEMPLATE_TOOL_RESPONSE = """
TOOL RESPONSE:
---------------------
{{observation}}
--------------------
""";
return PromptTemplate.from(TEMPLATE_TOOL_RESPONSE);
}

public Response<AiMessage> execute( String input, List<AgentExecutor.IntermediateStep> intermediateSteps ) {
var agentScratchpadTemplate = getToolResponseTemplate();
var userMessageTemplate = PromptTemplate.from( "USER'S INPUT: {{input}}" ).apply( Map.of( "input", input));
var userMessageTemplate = PromptTemplate.from( "USER'S INPUT: {{input}}" )
.apply( Map.of( "input", input));

var messages = new ArrayList<ChatMessage>();

Expand All @@ -58,9 +58,9 @@ public Response<AiMessage> execute( String input, List<AgentExecutor.Intermediat
}

for( AgentExecutor.IntermediateStep step: intermediateSteps ) {
var agentScratchpad = agentScratchpadTemplate.apply( Map.of("observation", step.observation()) );
var agentScratchpad = agentScratchpadTemplate
.apply( Map.of("observation", step.observation()) );
messages.add(new UserMessage(agentScratchpad.text()));
;
}

return chatLanguageModel.generate( messages, tools );
Expand Down

0 comments on commit ef5df2e

Please sign in to comment.