Skip to content

Commit abda325

Browse files
committed
Update for ServerAssistantAI latest snapshot
1 parent d80f8f9 commit abda325

3 files changed

Lines changed: 36 additions & 14 deletions

File tree

anthropic/src/main/java/dev/bluetree242/saaiaddons/anthropic/AnthropicChatModelProvider.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,18 @@
55
import dev.bluetree242.serverassistantai.api.config.option.OptionMap;
66
import dev.bluetree242.serverassistantai.api.registry.chatmodel.ChatModelContext;
77
import dev.bluetree242.serverassistantai.api.registry.chatmodel.ChatModelProvider;
8-
import dev.langchain4j.data.message.AiMessage;
9-
import dev.langchain4j.data.message.ChatMessage;
108
import dev.langchain4j.data.message.SystemMessage;
119
import dev.langchain4j.data.message.UserMessage;
1210
import dev.langchain4j.model.anthropic.AnthropicChatModel;
13-
import dev.langchain4j.model.chat.ChatLanguageModel;
14-
import dev.langchain4j.model.output.Response;
11+
import dev.langchain4j.model.chat.ChatModel;
12+
import dev.langchain4j.model.chat.request.ChatRequest;
13+
import dev.langchain4j.model.chat.response.ChatResponse;
1514
import lombok.RequiredArgsConstructor;
1615
import org.jetbrains.annotations.NotNull;
1716
import org.jetbrains.annotations.Nullable;
1817

1918
import java.time.Duration;
2019
import java.util.Collections;
21-
import java.util.List;
2220
import java.util.Map;
2321
import java.util.stream.Collectors;
2422

@@ -73,10 +71,21 @@ public String getDisplayName(@Nullable ChatModelContext context) {
7371
return "Anthropic";
7472
}
7573

76-
public record AnthropicWrapper(AnthropicChatModel model) implements ChatLanguageModel {
74+
public record AnthropicWrapper(AnthropicChatModel model) implements ChatModel {
7775
@Override
78-
public Response<AiMessage> generate(List<ChatMessage> messages) {
79-
return model.generate(UserMessage.userMessage(messages.stream().filter(m -> m instanceof SystemMessage).map(m -> (SystemMessage) m).map(SystemMessage::text).collect(Collectors.joining("\n\n\n\n"))));
76+
public ChatResponse chat(ChatRequest request) {
77+
return model.chat(new ChatRequest.Builder()
78+
.modelName(request.modelName())
79+
.maxOutputTokens(request.maxOutputTokens())
80+
.temperature(request.temperature())
81+
.stopSequences(request.stopSequences())
82+
.parameters(request.parameters())
83+
.topK(request.topK())
84+
.toolChoice(request.toolChoice())
85+
.toolSpecifications(request.toolSpecifications())
86+
.responseFormat(request.responseFormat())
87+
.messages(UserMessage.userMessage(request.messages().stream().filter(m -> m instanceof SystemMessage).map(m -> (SystemMessage) m).map(SystemMessage::text).collect(Collectors.joining("\n\n\n\n"))))
88+
.build());
8089
}
8190
}
8291
}

google-aistudio/src/main/java/dev/bluetree242/saaiaddons/aistudio/GoogleAiStudioChatModelProvider.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
import dev.langchain4j.data.message.ChatMessage;
99
import dev.langchain4j.data.message.SystemMessage;
1010
import dev.langchain4j.data.message.UserMessage;
11-
import dev.langchain4j.model.chat.ChatLanguageModel;
11+
import dev.langchain4j.model.chat.ChatModel;
12+
import dev.langchain4j.model.chat.request.ChatRequest;
13+
import dev.langchain4j.model.chat.response.ChatResponse;
1214
import dev.langchain4j.model.googleai.GeminiHarmBlockThreshold;
1315
import dev.langchain4j.model.googleai.GeminiHarmCategory;
1416
import dev.langchain4j.model.googleai.GoogleAiGeminiChatModel;
@@ -80,10 +82,21 @@ public String getDisplayName(@Nullable ChatModelContext context) {
8082
return "Google AI Studio";
8183
}
8284

83-
public record GoogleAiWrapper(GoogleAiGeminiChatModel model) implements ChatLanguageModel {
85+
public record GoogleAiWrapper(GoogleAiGeminiChatModel model) implements ChatModel {
8486
@Override
85-
public Response<AiMessage> generate(List<ChatMessage> messages) {
86-
return model.generate(UserMessage.userMessage(messages.stream().filter(m -> m instanceof SystemMessage).map(m -> (SystemMessage) m).map(SystemMessage::text).collect(Collectors.joining("\n\n\n\n"))));
87+
public ChatResponse chat(ChatRequest request) {
88+
return model.chat(new ChatRequest.Builder()
89+
.modelName(request.modelName())
90+
.maxOutputTokens(request.maxOutputTokens())
91+
.temperature(request.temperature())
92+
.stopSequences(request.stopSequences())
93+
.parameters(request.parameters())
94+
.topK(request.topK())
95+
.toolChoice(request.toolChoice())
96+
.toolSpecifications(request.toolSpecifications())
97+
.responseFormat(request.responseFormat())
98+
.messages(UserMessage.userMessage(request.messages().stream().filter(m -> m instanceof SystemMessage).map(m -> (SystemMessage) m).map(SystemMessage::text).collect(Collectors.joining("\n\n\n\n"))))
99+
.build());
87100
}
88101
}
89102
}

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ metadata.format.version = "1.1"
66
spigot = "1.16.5-R0.1-SNAPSHOT"
77

88
# ServerAssistantAI itself
9-
serverassistantai = "1.3.1"
9+
serverassistantai = "1.3.3-SNAPSHOT"
1010

1111
# Dependencies
12-
langchain4j = "0.36.2"
12+
langchain4j = "1.0.1-beta6"
1313
retrofit2 = "3.0.0"
1414

1515
# Annotations

0 commit comments

Comments
 (0)