From 5a44f854e834b9098dff380718b88f149af71b64 Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Thu, 21 Mar 2024 22:25:15 +0100 Subject: [PATCH] Extend the PromptTemplate to support Message media content (#492) --- .../org/springframework/ai/chat/prompt/PromptTemplate.java | 6 ++++++ .../ai/chat/prompt/PromptTemplateMessageActions.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java index db74d9aaa..6e6155fe6 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java @@ -18,6 +18,7 @@ package org.springframework.ai.chat.prompt; import org.antlr.runtime.Token; import org.antlr.runtime.TokenStream; import org.springframework.ai.parser.OutputParser; +import org.springframework.ai.chat.messages.Media; import org.springframework.ai.chat.messages.Message; import org.springframework.ai.chat.messages.UserMessage; import org.springframework.core.io.Resource; @@ -173,6 +174,11 @@ public class PromptTemplate implements PromptTemplateActions, PromptTemplateMess return new UserMessage(render()); } + @Override + public Message createMessage(List mediaList) { + return new UserMessage(render(), mediaList); + } + @Override public Message createMessage(Map model) { return new UserMessage(render(model)); diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java index 37caa5df8..0df0dcc08 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java @@ -15,14 +15,18 @@ */ package org.springframework.ai.chat.prompt; +import org.springframework.ai.chat.messages.Media; import org.springframework.ai.chat.messages.Message; +import java.util.List; import java.util.Map; public interface PromptTemplateMessageActions { Message createMessage(); + Message createMessage(List mediaList); + Message createMessage(Map model); }