Skip to content

Commit

Permalink
extends AbstractAIAssistant
Browse files Browse the repository at this point in the history
  • Loading branch information
lhpqaq committed Sep 12, 2024
1 parent 47df7cc commit 4da60de
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
package org.apache.bigtop.manager.ai.core;

import org.apache.bigtop.manager.ai.core.factory.AIAssistant;
import org.apache.bigtop.manager.ai.core.provider.AIAssistantConfigProvider;

import dev.langchain4j.memory.ChatMemory;
import dev.langchain4j.store.memory.chat.ChatMemoryStore;

public abstract class AbstractAIAssistant implements AIAssistant {

Expand All @@ -35,4 +37,28 @@ protected AbstractAIAssistant(ChatMemory chatMemory) {
public boolean test() {
return ask("1+1=") != null;
}

public abstract static class Builder implements AIAssistant.Builder {
protected Object id;

protected ChatMemoryStore chatMemoryStore;
protected AIAssistantConfigProvider configProvider;

public Builder() {}

public Builder withConfigProvider(AIAssistantConfigProvider configProvider) {
this.configProvider = configProvider;
return this;
}

public Builder id(Object id) {
this.id = id;
return this;
}

public Builder memoryStore(ChatMemoryStore chatMemoryStore) {
this.chatMemoryStore = chatMemoryStore;
return this;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import org.apache.bigtop.manager.ai.core.enums.MessageSender;
import org.apache.bigtop.manager.ai.core.enums.PlatformType;
import org.apache.bigtop.manager.ai.core.factory.AIAssistant;
import org.apache.bigtop.manager.ai.core.provider.AIAssistantConfigProvider;

import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
Expand Down Expand Up @@ -57,7 +56,6 @@
import dev.langchain4j.internal.ValidationUtils;
import dev.langchain4j.memory.ChatMemory;
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.store.memory.chat.ChatMemoryStore;
import io.reactivex.Flowable;
import reactor.core.publisher.Flux;

Expand Down Expand Up @@ -299,27 +297,7 @@ public Map<String, String> createThread() {
return threadInfo;
}

public static class Builder implements AIAssistant.Builder {
private Object id;
private AIAssistantConfigProvider configProvider;
private ChatMemoryStore chatMemoryStore;

public Builder() {}

public Builder withConfigProvider(AIAssistantConfigProvider configProvider) {
this.configProvider = configProvider;
return this;
}

public Builder id(Object id) {
this.id = id;
return this;
}

public Builder memoryStore(ChatMemoryStore chatMemoryStore) {
this.chatMemoryStore = chatMemoryStore;
return this;
}
public static class Builder extends AbstractAIAssistant.Builder {

public AIAssistant build() {
String model = ValidationUtils.ensureNotNull(configProvider.getModel(), "model");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import org.apache.bigtop.manager.ai.core.enums.PlatformType;
import org.apache.bigtop.manager.ai.core.exception.AssistantConfigNotSetException;
import org.apache.bigtop.manager.ai.core.factory.AIAssistant;
import org.apache.bigtop.manager.ai.core.provider.AIAssistantConfigProvider;

import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.data.message.SystemMessage;
Expand All @@ -36,7 +35,6 @@
import dev.langchain4j.model.openai.OpenAiChatModel;
import dev.langchain4j.model.openai.OpenAiStreamingChatModel;
import dev.langchain4j.model.output.Response;
import dev.langchain4j.store.memory.chat.ChatMemoryStore;
import reactor.core.publisher.Flux;
import reactor.core.publisher.FluxSink;

Expand Down Expand Up @@ -128,28 +126,7 @@ public static Builder builder() {
return new Builder();
}

public static class Builder implements AIAssistant.Builder {
private Object id;

private ChatMemoryStore chatMemoryStore;
private AIAssistantConfigProvider configProvider;

public Builder() {}

public Builder withConfigProvider(AIAssistantConfigProvider configProvider) {
this.configProvider = configProvider;
return this;
}

public Builder id(Object id) {
this.id = id;
return this;
}

public Builder memoryStore(ChatMemoryStore chatMemoryStore) {
this.chatMemoryStore = chatMemoryStore;
return this;
}
public static class Builder extends AbstractAIAssistant.Builder {

public AIAssistant build() {
String model = ValidationUtils.ensureNotNull(configProvider.getModel(), "model");
Expand Down

0 comments on commit 4da60de

Please sign in to comment.