Description
Bug description
When using SystemPromptTemplate
builder, it's expected that an instance of SystemPromptTemplate
is being built, not PromptTemplate
. However, currently an instance of PromptTemplate
is returned. As a result, when createMessage
is called, it creates UserMessage
instead of SystemMessage
:
Environment
Spring AI 1.0.0
Steps to reproduce
Here's how the issue can be reproduced:
var promptTemplate = SystemPromptTemplate
.builder()
.template("template")
.build();
System.out.println(promptTemplate.getClass());
System.out.println(promptTemplate.createMessage().getClass());
Expected behavior
It is expected that a builder creates an instance of SystemPromptTemplate
so that when createMessage
is called, an instance of SystemMessage
is created.