From a7b5652790cd14efa19d59b3cabf6a54b28aa215 Mon Sep 17 00:00:00 2001 From: Gareth Evans Date: Mon, 18 Nov 2024 09:40:34 +0000 Subject: [PATCH] Upgrade azure-openai library to beta.12 - Correct merge utils after lib update --- .../ai/azure/openai/AzureOpenAiChatModel.java | 27 +++---------------- .../ai/azure/openai/MergeUtils.java | 9 +++---- pom.xml | 2 +- 3 files changed, 8 insertions(+), 30 deletions(-) diff --git a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java index 9add97589..1349b7313 100644 --- a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java +++ b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/AzureOpenAiChatModel.java @@ -30,29 +30,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import com.azure.ai.openai.OpenAIAsyncClient; import com.azure.ai.openai.OpenAIClient; import com.azure.ai.openai.OpenAIClientBuilder; -import com.azure.ai.openai.models.ChatChoice; -import com.azure.ai.openai.models.ChatCompletions; -import com.azure.ai.openai.models.ChatCompletionsFunctionToolCall; -import com.azure.ai.openai.models.ChatCompletionsFunctionToolDefinition; -import com.azure.ai.openai.models.ChatCompletionsJsonResponseFormat; -import com.azure.ai.openai.models.ChatCompletionsOptions; -import com.azure.ai.openai.models.ChatCompletionsResponseFormat; -import com.azure.ai.openai.models.ChatCompletionsTextResponseFormat; -import com.azure.ai.openai.models.ChatCompletionsToolCall; -import com.azure.ai.openai.models.ChatCompletionsToolDefinition; -import com.azure.ai.openai.models.ChatMessageContentItem; -import com.azure.ai.openai.models.ChatMessageImageContentItem; -import com.azure.ai.openai.models.ChatMessageImageUrl; -import com.azure.ai.openai.models.ChatMessageTextContentItem; -import com.azure.ai.openai.models.ChatRequestAssistantMessage; -import com.azure.ai.openai.models.ChatRequestMessage; -import com.azure.ai.openai.models.ChatRequestSystemMessage; -import com.azure.ai.openai.models.ChatRequestToolMessage; -import com.azure.ai.openai.models.ChatRequestUserMessage; -import com.azure.ai.openai.models.CompletionsFinishReason; -import com.azure.ai.openai.models.ContentFilterResultsForPrompt; -import com.azure.ai.openai.models.FunctionCall; -import com.azure.ai.openai.models.FunctionDefinition; +import com.azure.ai.openai.models.*; import com.azure.core.util.BinaryData; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; @@ -387,7 +365,8 @@ public class AzureOpenAiChatModel extends AbstractToolCallSupport implements Cha private List getFunctionTools(Set functionNames) { return this.resolveFunctionCallbacks(functionNames).stream().map(functionCallback -> { - FunctionDefinition functionDefinition = new FunctionDefinition(functionCallback.getName()); + ChatCompletionsFunctionToolDefinitionFunction functionDefinition = new ChatCompletionsFunctionToolDefinitionFunction( + functionCallback.getName()); functionDefinition.setDescription(functionCallback.getDescription()); BinaryData parameters = BinaryData .fromObject(ModelOptionsUtils.jsonToMap(functionCallback.getInputTypeSchema())); diff --git a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/MergeUtils.java b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/MergeUtils.java index ad631f741..a832bd588 100644 --- a/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/MergeUtils.java +++ b/models/spring-ai-azure-openai/src/main/java/org/springframework/ai/azure/openai/MergeUtils.java @@ -57,7 +57,7 @@ public final class MergeUtils { ChatChoiceLogProbabilityInfo.class, int.class, CompletionsFinishReason.class }; private static final Class[] chatResponseMessageConstructorArgumentTypes = new Class[] { ChatRole.class, - String.class }; + String.class, String.class }; private MergeUtils() { @@ -210,9 +210,6 @@ public final class MergeUtils { ? left.getContentFilterResults() : right.getContentFilterResults(); setField(instance, "contentFilterResults", contentFilterResults); - var finishDetails = left.getFinishDetails() != null ? left.getFinishDetails() : right.getFinishDetails(); - setField(instance, "finishDetails", finishDetails); - var enhancements = left.getEnhancements() != null ? left.getEnhancements() : right.getEnhancements(); setField(instance, "enhancements", enhancements); @@ -239,8 +236,10 @@ public final class MergeUtils { content = left.getContent(); } + String refusal = left.getRefusal() != null ? left.getRefusal() : right.getRefusal(); + ChatResponseMessage instance = newInstance(chatResponseMessageConstructorArgumentTypes, - ChatResponseMessage.class, role, content); + ChatResponseMessage.class, role, refusal, content); List toolCalls = new ArrayList<>(); if (left.getToolCalls() == null) { diff --git a/pom.xml b/pom.xml index 1fefcf041..ed91ad73c 100644 --- a/pom.xml +++ b/pom.xml @@ -172,7 +172,7 @@ 4.1.3 3.3.4 4.3.4 - 1.0.0-beta.10 + 1.0.0-beta.12 1.1.0 4.31.1 1.9.25