Skip to content

Commit 72c84fe

Browse files
ilayaperumalgmarkpollack
authored andcommitted
Remove deprecated code from 1.0 M2 and before
- Remove deprecated types,methods and references - Remove usage of "Generation(String text)" and replace with "Generation(AssistantMessage)" - Remove MiniMaxApi,MootShotApi,OpenAiApi,ZhiPuAiApi ChatCompletionFinishReason's FUNCTION_CALL - Remove OllamaApi's deprecated types - Remove deprecated constructors from PostgresMlEmbeddingModel - Remove deprecated constructor from Media - Remove tokenNames usage from antlr4 FiltersLexer and FiltersParser - Remove deprecated methods from CassandraVectorStoreProperties - Remove deprecated constructor and static config class from QdrantVectorStore - Minor cleanups on removing deprecated models and versions - Remove old name for mixtral models Resolves #1599
1 parent ea18710 commit 72c84fe

File tree

29 files changed

+73
-607
lines changed

29 files changed

+73
-607
lines changed

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic/BedrockAnthropicChatModel.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.springframework.ai.bedrock.anthropic.api.AnthropicChatBedrockApi;
2525
import org.springframework.ai.bedrock.anthropic.api.AnthropicChatBedrockApi.AnthropicChatRequest;
2626
import org.springframework.ai.bedrock.anthropic.api.AnthropicChatBedrockApi.AnthropicChatResponse;
27+
import org.springframework.ai.chat.messages.AssistantMessage;
2728
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
2829
import org.springframework.ai.chat.model.ChatModel;
2930
import org.springframework.ai.chat.model.ChatResponse;
@@ -68,7 +69,7 @@ public ChatResponse call(Prompt prompt) {
6869

6970
AnthropicChatResponse response = this.anthropicChatApi.chatCompletion(request);
7071

71-
return new ChatResponse(List.of(new Generation(response.completion())));
72+
return new ChatResponse(List.of(new Generation(new AssistantMessage(response.completion()))));
7273
}
7374

7475
@Override
@@ -80,12 +81,13 @@ public Flux<ChatResponse> stream(Prompt prompt) {
8081

8182
return fluxResponse.map(response -> {
8283
String stopReason = response.stopReason() != null ? response.stopReason() : null;
83-
var generation = new Generation(response.completion());
84+
ChatGenerationMetadata chatGenerationMetadata = null;
8485
if (response.amazonBedrockInvocationMetrics() != null) {
85-
generation = generation.withGenerationMetadata(
86-
ChatGenerationMetadata.from(stopReason, response.amazonBedrockInvocationMetrics()));
86+
chatGenerationMetadata = ChatGenerationMetadata.from(stopReason,
87+
response.amazonBedrockInvocationMetrics());
8788
}
88-
return new ChatResponse(List.of(generation));
89+
return new ChatResponse(
90+
List.of(new Generation(new AssistantMessage(response.completion()), chatGenerationMetadata)));
8991
});
9092
}
9193

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/anthropic3/BedrockAnthropic3ChatModel.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,13 @@ public Flux<ChatResponse> stream(Prompt prompt) {
114114
inputTokens.set(response.message().usage().inputTokens());
115115
}
116116
String content = response.type() == StreamingType.CONTENT_BLOCK_DELTA ? response.delta().text() : "";
117-
118-
var generation = new Generation(content);
119-
117+
ChatGenerationMetadata chatGenerationMetadata = null;
120118
if (response.type() == StreamingType.MESSAGE_DELTA) {
121-
generation = generation.withGenerationMetadata(ChatGenerationMetadata
122-
.from(response.delta().stopReason(), new Anthropic3ChatBedrockApi.AnthropicUsage(inputTokens.get(),
123-
response.usage().outputTokens())));
119+
chatGenerationMetadata = ChatGenerationMetadata.from(response.delta().stopReason(),
120+
new Anthropic3ChatBedrockApi.AnthropicUsage(inputTokens.get(),
121+
response.usage().outputTokens()));
124122
}
125-
126-
return new ChatResponse(List.of(generation));
123+
return new ChatResponse(List.of(new Generation(new AssistantMessage(content), chatGenerationMetadata)));
127124
});
128125
}
129126

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/cohere/BedrockCohereChatModel.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.ai.bedrock.cohere.api.CohereChatBedrockApi;
2626
import org.springframework.ai.bedrock.cohere.api.CohereChatBedrockApi.CohereChatRequest;
2727
import org.springframework.ai.bedrock.cohere.api.CohereChatBedrockApi.CohereChatResponse;
28+
import org.springframework.ai.chat.messages.AssistantMessage;
2829
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
2930
import org.springframework.ai.chat.metadata.Usage;
3031
import org.springframework.ai.chat.model.ChatModel;
@@ -61,7 +62,10 @@ public BedrockCohereChatModel(CohereChatBedrockApi chatApi, BedrockCohereChatOpt
6162
@Override
6263
public ChatResponse call(Prompt prompt) {
6364
CohereChatResponse response = this.chatApi.chatCompletion(this.createRequest(prompt, false));
64-
List<Generation> generations = response.generations().stream().map(g -> new Generation(g.text())).toList();
65+
List<Generation> generations = response.generations()
66+
.stream()
67+
.map(g -> new Generation(new AssistantMessage(g.text())))
68+
.toList();
6569

6670
return new ChatResponse(generations);
6771
}
@@ -73,9 +77,9 @@ public Flux<ChatResponse> stream(Prompt prompt) {
7377
String finishReason = g.finishReason().name();
7478
Usage usage = BedrockUsage.from(g.amazonBedrockInvocationMetrics());
7579
return new ChatResponse(List
76-
.of(new Generation("").withGenerationMetadata(ChatGenerationMetadata.from(finishReason, usage))));
80+
.of(new Generation(new AssistantMessage(""), ChatGenerationMetadata.from(finishReason, usage))));
7781
}
78-
return new ChatResponse(List.of(new Generation(g.text())));
82+
return new ChatResponse(List.of(new Generation(new AssistantMessage(g.text()))));
7983
});
8084
}
8185

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/jurassic2/BedrockAi21Jurassic2ChatModel.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.springframework.ai.bedrock.MessageToPromptConverter;
2020
import org.springframework.ai.bedrock.jurassic2.api.Ai21Jurassic2ChatBedrockApi;
2121
import org.springframework.ai.bedrock.jurassic2.api.Ai21Jurassic2ChatBedrockApi.Ai21Jurassic2ChatRequest;
22+
import org.springframework.ai.chat.messages.AssistantMessage;
2223
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
2324
import org.springframework.ai.chat.model.ChatModel;
2425
import org.springframework.ai.chat.model.ChatResponse;
@@ -68,8 +69,8 @@ public ChatResponse call(Prompt prompt) {
6869

6970
return new ChatResponse(response.completions()
7071
.stream()
71-
.map(completion -> new Generation(completion.data().text())
72-
.withGenerationMetadata(ChatGenerationMetadata.from(completion.finishReason().reason(), null)))
72+
.map(completion -> new Generation(new AssistantMessage(completion.data().text()),
73+
ChatGenerationMetadata.from(completion.finishReason().reason(), null)))
7374
.toList());
7475
}
7576

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/llama/BedrockLlamaChatModel.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.springframework.ai.bedrock.llama.api.LlamaChatBedrockApi;
2525
import org.springframework.ai.bedrock.llama.api.LlamaChatBedrockApi.LlamaChatRequest;
2626
import org.springframework.ai.bedrock.llama.api.LlamaChatBedrockApi.LlamaChatResponse;
27+
import org.springframework.ai.chat.messages.AssistantMessage;
2728
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
2829
import org.springframework.ai.chat.metadata.Usage;
2930
import org.springframework.ai.chat.model.ChatModel;
@@ -68,7 +69,7 @@ public ChatResponse call(Prompt prompt) {
6869

6970
LlamaChatResponse response = this.chatApi.chatCompletion(request);
7071

71-
return new ChatResponse(List.of(new Generation(response.generation()).withGenerationMetadata(
72+
return new ChatResponse(List.of(new Generation(new AssistantMessage(response.generation()),
7273
ChatGenerationMetadata.from(response.stopReason().name(), extractUsage(response)))));
7374
}
7475

@@ -81,8 +82,8 @@ public Flux<ChatResponse> stream(Prompt prompt) {
8182

8283
return fluxResponse.map(response -> {
8384
String stopReason = response.stopReason() != null ? response.stopReason().name() : null;
84-
return new ChatResponse(List.of(new Generation(response.generation())
85-
.withGenerationMetadata(ChatGenerationMetadata.from(stopReason, extractUsage(response)))));
85+
return new ChatResponse(List.of(new Generation(new AssistantMessage(response.generation()),
86+
ChatGenerationMetadata.from(stopReason, extractUsage(response)))));
8687
});
8788
}
8889

models/spring-ai-bedrock/src/main/java/org/springframework/ai/bedrock/titan/BedrockTitanChatModel.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatRequest;
2626
import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatResponse;
2727
import org.springframework.ai.bedrock.titan.api.TitanChatBedrockApi.TitanChatResponseChunk;
28+
import org.springframework.ai.chat.messages.AssistantMessage;
2829
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
2930
import org.springframework.ai.chat.metadata.Usage;
3031
import org.springframework.ai.chat.model.ChatModel;
@@ -62,7 +63,7 @@ public ChatResponse call(Prompt prompt) {
6263
TitanChatResponse response = this.chatApi.chatCompletion(this.createRequest(prompt));
6364
List<Generation> generations = response.results()
6465
.stream()
65-
.map(result -> new Generation(result.outputText()))
66+
.map(result -> new Generation(new AssistantMessage(result.outputText())))
6667
.toList();
6768

6869
return new ChatResponse(generations);
@@ -71,21 +72,18 @@ public ChatResponse call(Prompt prompt) {
7172
@Override
7273
public Flux<ChatResponse> stream(Prompt prompt) {
7374
return this.chatApi.chatCompletionStream(this.createRequest(prompt)).map(chunk -> {
74-
75-
Generation generation = new Generation(chunk.outputText());
76-
75+
ChatGenerationMetadata chatGenerationMetadata = null;
7776
if (chunk.amazonBedrockInvocationMetrics() != null) {
7877
String completionReason = chunk.completionReason().name();
79-
generation = generation.withGenerationMetadata(
80-
ChatGenerationMetadata.from(completionReason, chunk.amazonBedrockInvocationMetrics()));
78+
chatGenerationMetadata = ChatGenerationMetadata.from(completionReason,
79+
chunk.amazonBedrockInvocationMetrics());
8180
}
8281
else if (chunk.inputTextTokenCount() != null && chunk.totalOutputTextTokenCount() != null) {
8382
String completionReason = chunk.completionReason().name();
84-
generation = generation
85-
.withGenerationMetadata(ChatGenerationMetadata.from(completionReason, extractUsage(chunk)));
86-
83+
chatGenerationMetadata = ChatGenerationMetadata.from(completionReason, extractUsage(chunk));
8784
}
88-
return new ChatResponse(List.of(generation));
85+
return new ChatResponse(
86+
List.of(new Generation(new AssistantMessage(chunk.outputText()), chatGenerationMetadata)));
8987
});
9088
}
9189

models/spring-ai-bedrock/src/test/java/org/springframework/ai/bedrock/llama/BedrockLlamaChatModelIT.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,11 @@ void multipleStreamAttempts() {
9292

9393
@Test
9494
void roleTest() {
95-
UserMessage userMessage = new UserMessage(
96-
"Tell me about 3 famous pirates from the Golden Age of Piracy and why they did.");
95+
String message = """
96+
Describe 3 of the most feared and legendary pirates from the Golden Age of Piracy, particularly
97+
those known for their intimidating tactics and whose stories influenced popular culture.
98+
""";
99+
UserMessage userMessage = new UserMessage(message);
97100
SystemPromptTemplate systemPromptTemplate = new SystemPromptTemplate(this.systemResource);
98101
Message systemMessage = systemPromptTemplate.createMessage(Map.of("name", "Bob", "voice", "pirate"));
99102

@@ -111,7 +114,7 @@ void listOutputConverter() {
111114

112115
String format = outputConverter.getFormat();
113116
String template = """
114-
List five {subject}
117+
List exactly five {subject}, no more and no less.
115118
{format}
116119
""";
117120
PromptTemplate promptTemplate = new PromptTemplate(template,

models/spring-ai-huggingface/src/main/java/org/springframework/ai/huggingface/HuggingfaceChatModel.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import com.fasterxml.jackson.core.type.TypeReference;
2424
import com.fasterxml.jackson.databind.ObjectMapper;
2525

26+
import org.springframework.ai.chat.messages.AssistantMessage;
27+
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
2628
import org.springframework.ai.chat.model.ChatModel;
2729
import org.springframework.ai.chat.model.ChatResponse;
2830
import org.springframework.ai.chat.model.Generation;
@@ -105,7 +107,7 @@ public ChatResponse call(Prompt prompt) {
105107
new TypeReference<Map<String, Object>>() {
106108

107109
});
108-
Generation generation = new Generation(generatedText, detailsMap);
110+
Generation generation = new Generation(new AssistantMessage(generatedText, detailsMap));
109111
generations.add(generation);
110112
}
111113
return new ChatResponse(generations);

models/spring-ai-minimax/src/main/java/org/springframework/ai/minimax/api/MiniMaxApi.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,7 @@ public enum ChatModel implements ChatModelDescription {
224224
ABAB_6_5_T_Chat("abab6.5t-chat"),
225225
ABAB_6_5_G_Chat("abab6.5g-chat"),
226226
ABAB_5_5_Chat("abab5.5-chat"),
227-
ABAB_5_5_S_Chat("abab5.5s-chat"),
228-
229-
@Deprecated(since = "1.0.0-M2", forRemoval = true) // Replaced by ABAB_6_5_S_Chat
230-
ABAB_6_Chat("abab6-chat");
227+
ABAB_5_5_S_Chat("abab5.5s-chat");
231228

232229
public final String value;
233230

@@ -269,11 +266,6 @@ public enum ChatCompletionFinishReason {
269266
*/
270267
@JsonProperty("tool_calls")
271268
TOOL_CALLS,
272-
/**
273-
* (deprecated) The model called a function.
274-
*/
275-
@JsonProperty("function_call")
276-
FUNCTION_CALL,
277269
/**
278270
* Only for compatibility with Mistral AI API.
279271
*/

models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/api/MistralAiApi.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -264,15 +264,11 @@ public enum ChatCompletionFinishReason {
264264
public enum ChatModel implements ChatModelDescription {
265265

266266
// @formatter:off
267-
@Deprecated(since = "1.0.0-M1", forRemoval = true) // Replaced by OPEN_MISTRAL_7B
268-
TINY("open-mistral-7b"),
269-
@Deprecated(since = "1.0.0-M1", forRemoval = true) // Replaced by OPEN_MIXTRAL_7B
270-
MIXTRAL("open-mixtral-8x7b"),
271267
OPEN_MISTRAL_7B("open-mistral-7b"),
272268
OPEN_MIXTRAL_7B("open-mixtral-8x7b"),
273269
OPEN_MIXTRAL_22B("open-mixtral-8x22b"),
274270
SMALL("mistral-small-latest"),
275-
@Deprecated(since = "1.0.0-M1", forRemoval = true) // Mistral is removing this model
271+
@Deprecated(since = "1.0.0-M1", forRemoval = true) // Mistral will be removing this model - see https://docs.mistral.ai/getting-started/models/models_overview/
276272
MEDIUM("mistral-medium-latest"),
277273
LARGE("mistral-large-latest");
278274
// @formatter:on

0 commit comments

Comments
 (0)