Skip to content

Invalid message type created when using SystemPromptTemplate builder #3526

@yargna

Description

@yargna

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions