From 263d51ebb05d37f4f8d67c2077aff312fc2b65d5 Mon Sep 17 00:00:00 2001 From: liwenguang Date: Thu, 8 Aug 2024 15:30:06 +0800 Subject: [PATCH] fix: ZhiPuAiChatModel createRequest method MediaContent --- .../springframework/ai/zhipuai/ZhiPuAiChatModel.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatModel.java b/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatModel.java index 79eec8eab7a..f2198bc5242 100644 --- a/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatModel.java +++ b/models/spring-ai-zhipuai/src/main/java/org/springframework/ai/zhipuai/ZhiPuAiChatModel.java @@ -235,20 +235,23 @@ ChatCompletionRequest createRequest(Prompt prompt, boolean stream) { Set functionsForThisRequest = new HashSet<>(); List chatCompletionMessages = prompt.getInstructions().stream().map(m -> { - // Add text content. - List contents = new ArrayList<>(List.of(new MediaContent(m.getContent()))); if (m instanceof UserMessage userMessage) { if (!CollectionUtils.isEmpty(userMessage.getMedia())) { // Add media content. - contents.addAll(userMessage.getMedia() + List mediaContents = new ArrayList<>(); + mediaContents.add(new MediaContent(userMessage.getContent())); + mediaContents.addAll(userMessage.getMedia() .stream() .map(media -> new MediaContent( new MediaContent.ImageUrl(this.fromMediaData(media.getMimeType(), media.getData())))) .toList()); + return new ChatCompletionMessage(mediaContents, + ChatCompletionMessage.Role.valueOf(m.getMessageType().name())); } } - return new ChatCompletionMessage(contents, ChatCompletionMessage.Role.valueOf(m.getMessageType().name())); + return new ChatCompletionMessage(m.getContent(), + ChatCompletionMessage.Role.valueOf(m.getMessageType().name())); }).toList(); ChatCompletionRequest request = new ChatCompletionRequest(chatCompletionMessages, stream);