This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push:
new 89ceffb BIGTOP-4222: Add LLM platform QianFan (#65)
89ceffb is described below
commit 89ceffb0b6a4751cf7b4f8008e6bf415198f4d3e
Author: haopeng <[email protected]>
AuthorDate: Thu Sep 12 23:49:34 2024 +0800
BIGTOP-4222: Add LLM platform QianFan (#65)
---
.../bigtop-manager-ai-assistant/pom.xml | 4 ++
.../ai/assistant/GeneralAssistantFactory.java | 3 +-
.../manager/ai/core/AbstractAIAssistant.java | 5 ++
.../bigtop/manager/ai/core/enums/PlatformType.java | 3 +-
.../bigtop-manager-ai-dashscope/pom.xml | 1 -
.../manager/ai/dashscope/DashScopeAssistant.java | 5 --
.../bigtop/manager/ai/openai/OpenAIAssistant.java | 26 ---------
.../pom.xml | 15 ++----
.../manager/ai/qianfan/QianFanAssistant.java} | 63 +++++++++-------------
.../bigtop/manager/ai/qianfan/QianFanToolBox.java} | 38 +++++--------
bigtop-manager-ai/pom.xml | 1 +
bigtop-manager-bom/pom.xml | 11 ++++
.../server/service/impl/AIChatServiceImpl.java | 3 +-
.../src/main/resources/ddl/MySQL-DDL-CREATE.sql | 3 +-
pom.xml | 6 +++
15 files changed, 75 insertions(+), 112 deletions(-)
diff --git a/bigtop-manager-ai/bigtop-manager-ai-assistant/pom.xml
b/bigtop-manager-ai/bigtop-manager-ai-assistant/pom.xml
index f1810e8..70bb203 100644
--- a/bigtop-manager-ai/bigtop-manager-ai-assistant/pom.xml
+++ b/bigtop-manager-ai/bigtop-manager-ai-assistant/pom.xml
@@ -43,6 +43,10 @@
<groupId>org.apache.bigtop</groupId>
<artifactId>bigtop-manager-ai-dashscope</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.bigtop</groupId>
+ <artifactId>bigtop-manager-ai-qianfan</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.bigtop</groupId>
<artifactId>bigtop-manager-dao</artifactId>
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-assistant/src/main/java/org/apache/bigtop/manager/ai/assistant/GeneralAssistantFactory.java
b/bigtop-manager-ai/bigtop-manager-ai-assistant/src/main/java/org/apache/bigtop/manager/ai/assistant/GeneralAssistantFactory.java
index beffd28..1945ef0 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-assistant/src/main/java/org/apache/bigtop/manager/ai/assistant/GeneralAssistantFactory.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-assistant/src/main/java/org/apache/bigtop/manager/ai/assistant/GeneralAssistantFactory.java
@@ -28,6 +28,7 @@ import
org.apache.bigtop.manager.ai.core.provider.AIAssistantConfigProvider;
import org.apache.bigtop.manager.ai.core.provider.SystemPromptProvider;
import org.apache.bigtop.manager.ai.dashscope.DashScopeAssistant;
import org.apache.bigtop.manager.ai.openai.OpenAIAssistant;
+import org.apache.bigtop.manager.ai.qianfan.QianFanAssistant;
import org.apache.commons.lang3.NotImplementedException;
@@ -66,8 +67,8 @@ public class GeneralAssistantFactory extends
AbstractAIAssistantFactory {
switch (platformType) {
case OPENAI -> OpenAIAssistant.builder();
case DASH_SCOPE -> DashScopeAssistant.builder();
+ case QIANFAN -> QianFanAssistant.builder();
};
-
AIAssistant aiAssistant = builder.id(id)
.memoryStore((id == null) ? new InMemoryChatMemoryStore() :
chatMemoryStore)
.withConfigProvider(assistantConfig)
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/AbstractAIAssistant.java
b/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/AbstractAIAssistant.java
index 72e0c6c..5075051 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/AbstractAIAssistant.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/AbstractAIAssistant.java
@@ -38,6 +38,11 @@ public abstract class AbstractAIAssistant implements
AIAssistant {
return ask("1+1=") != null;
}
+ @Override
+ public Object getId() {
+ return chatMemory.id();
+ }
+
public abstract static class Builder implements AIAssistant.Builder {
protected Object id;
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
b/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
index 83029c9..ec7487e 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
@@ -28,7 +28,8 @@ import java.util.stream.Collectors;
@Getter
public enum PlatformType {
OPENAI("openai"),
- DASH_SCOPE("dashscope");
+ DASH_SCOPE("dashscope"),
+ QIANFAN("qianfan");
private final String value;
diff --git a/bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
b/bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
index 0a7259a..22d195d 100644
--- a/bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
+++ b/bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
@@ -39,7 +39,6 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
- <version>2.16.3</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-dashscope/src/main/java/org/apache/bigtop/manager/ai/dashscope/DashScopeAssistant.java
b/bigtop-manager-ai/bigtop-manager-ai-dashscope/src/main/java/org/apache/bigtop/manager/ai/dashscope/DashScopeAssistant.java
index 0c813e2..441fd38 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-dashscope/src/main/java/org/apache/bigtop/manager/ai/dashscope/DashScopeAssistant.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-dashscope/src/main/java/org/apache/bigtop/manager/ai/dashscope/DashScopeAssistant.java
@@ -138,11 +138,6 @@ public class DashScopeAssistant extends
AbstractAIAssistant {
return new Builder();
}
- @Override
- public Object getId() {
- return dashScopeThreadParam.getThreadId();
- }
-
@Override
public Flux<String> streamAsk(String userMessage) {
saveMessage(userMessage, MessageSender.USER);
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
b/bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
index d4aed6d..845e00b 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
@@ -20,7 +20,6 @@ package org.apache.bigtop.manager.ai.openai;
import org.apache.bigtop.manager.ai.core.AbstractAIAssistant;
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 dev.langchain4j.data.message.AiMessage;
@@ -56,9 +55,6 @@ public class OpenAIAssistant extends AbstractAIAssistant {
@Override
public Flux<String> streamAsk(String chatMessage) {
- if (chatMemory == null || streamingChatLanguageModel == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
chatMemory.add(UserMessage.from(chatMessage));
return Flux.create(
emitter ->
streamingChatLanguageModel.generate(chatMemory.messages(), new
StreamingResponseHandler<>() {
@@ -83,9 +79,6 @@ public class OpenAIAssistant extends AbstractAIAssistant {
@Override
public String ask(String chatMessage) {
- if (chatMemory == null || chatLanguageModel == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
chatMemory.add(UserMessage.from(chatMessage));
Response<AiMessage> generate =
chatLanguageModel.generate(chatMemory.messages());
String aiMessage = generate.content().text();
@@ -95,28 +88,9 @@ public class OpenAIAssistant extends AbstractAIAssistant {
@Override
public void setSystemPrompt(String systemPrompt) {
- if (chatMemory == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
chatMemory.add(SystemMessage.systemMessage(systemPrompt));
}
- public void setSystemPrompt(SystemMessage systemPrompt) {
- if (chatMemory == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
- chatMemory.add(systemPrompt);
- }
-
- @Override
- public Object getId() {
- return chatMemory.id();
- }
-
- public void resetMemory() {
- chatMemory.clear();
- }
-
@Override
public PlatformType getPlatform() {
return PlatformType.OPENAI;
diff --git a/bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
b/bigtop-manager-ai/bigtop-manager-ai-qianfan/pom.xml
similarity index 77%
copy from bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
copy to bigtop-manager-ai/bigtop-manager-ai-qianfan/pom.xml
index 0a7259a..471aca3 100644
--- a/bigtop-manager-ai/bigtop-manager-ai-dashscope/pom.xml
+++ b/bigtop-manager-ai/bigtop-manager-ai-qianfan/pom.xml
@@ -25,9 +25,9 @@
<version>${revision}</version>
</parent>
- <artifactId>bigtop-manager-ai-dashscope</artifactId>
+ <artifactId>bigtop-manager-ai-qianfan</artifactId>
<name>${project.artifactId}</name>
- <description>Bigtop Manager AI DashScope</description>
+ <description>Bigtop Manager AI QianFan</description>
<dependencies>
<dependency>
@@ -37,15 +37,8 @@
</dependency>
<dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dashscope-sdk-java</artifactId>
- <version>2.16.3</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- </exclusion>
- </exclusions>
+ <groupId>dev.langchain4j</groupId>
+ <artifactId>langchain4j-qianfan</artifactId>
</dependency>
</dependencies>
</project>
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
b/bigtop-manager-ai/bigtop-manager-ai-qianfan/src/main/java/org/apache/bigtop/manager/ai/qianfan/QianFanAssistant.java
similarity index 73%
copy from
bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
copy to
bigtop-manager-ai/bigtop-manager-ai-qianfan/src/main/java/org/apache/bigtop/manager/ai/qianfan/QianFanAssistant.java
index d4aed6d..cfd802b 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-openai/src/main/java/org/apache/bigtop/manager/ai/openai/OpenAIAssistant.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-qianfan/src/main/java/org/apache/bigtop/manager/ai/qianfan/QianFanAssistant.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.ai.openai;
+package org.apache.bigtop.manager.ai.qianfan;
import org.apache.bigtop.manager.ai.core.AbstractAIAssistant;
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 dev.langchain4j.data.message.AiMessage;
+import dev.langchain4j.data.message.ChatMessage;
import dev.langchain4j.data.message.SystemMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.internal.ValidationUtils;
@@ -32,33 +32,34 @@ import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.model.StreamingResponseHandler;
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.chat.StreamingChatLanguageModel;
-import dev.langchain4j.model.openai.OpenAiChatModel;
-import dev.langchain4j.model.openai.OpenAiStreamingChatModel;
import dev.langchain4j.model.output.Response;
+import dev.langchain4j.model.qianfan.QianfanChatModel;
+import dev.langchain4j.model.qianfan.QianfanStreamingChatModel;
import reactor.core.publisher.Flux;
import reactor.core.publisher.FluxSink;
-public class OpenAIAssistant extends AbstractAIAssistant {
+public class QianFanAssistant extends AbstractAIAssistant {
private final ChatLanguageModel chatLanguageModel;
private final StreamingChatLanguageModel streamingChatLanguageModel;
+ private SystemMessage systemMessage;
- private static final String BASE_URL = "https://api.openai.com/v1";
-
- public OpenAIAssistant(
+ public QianFanAssistant(
ChatLanguageModel chatLanguageModel,
StreamingChatLanguageModel streamingChatLanguageModel,
ChatMemory chatMemory) {
super(chatMemory);
this.chatLanguageModel = chatLanguageModel;
this.streamingChatLanguageModel = streamingChatLanguageModel;
+ for (ChatMessage chatMessage : chatMemory.messages()) {
+ if (chatMessage instanceof SystemMessage) {
+ this.systemMessage = (SystemMessage) chatMessage;
+ }
+ }
}
@Override
public Flux<String> streamAsk(String chatMessage) {
- if (chatMemory == null || streamingChatLanguageModel == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
chatMemory.add(UserMessage.from(chatMessage));
return Flux.create(
emitter ->
streamingChatLanguageModel.generate(chatMemory.messages(), new
StreamingResponseHandler<>() {
@@ -83,9 +84,6 @@ public class OpenAIAssistant extends AbstractAIAssistant {
@Override
public String ask(String chatMessage) {
- if (chatMemory == null || chatLanguageModel == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
chatMemory.add(UserMessage.from(chatMessage));
Response<AiMessage> generate =
chatLanguageModel.generate(chatMemory.messages());
String aiMessage = generate.content().text();
@@ -95,31 +93,16 @@ public class OpenAIAssistant extends AbstractAIAssistant {
@Override
public void setSystemPrompt(String systemPrompt) {
- if (chatMemory == null) {
- throw new AssistantConfigNotSetException("threadId");
+ // Multiple system messages are not supported
+ if (this.systemMessage == null) {
+ this.systemMessage = SystemMessage.systemMessage(systemPrompt);
+ chatMemory.add(this.systemMessage);
}
- chatMemory.add(SystemMessage.systemMessage(systemPrompt));
- }
-
- public void setSystemPrompt(SystemMessage systemPrompt) {
- if (chatMemory == null) {
- throw new AssistantConfigNotSetException("threadId");
- }
- chatMemory.add(systemPrompt);
- }
-
- @Override
- public Object getId() {
- return chatMemory.id();
- }
-
- public void resetMemory() {
- chatMemory.clear();
}
@Override
public PlatformType getPlatform() {
- return PlatformType.OPENAI;
+ return PlatformType.QIANFAN;
}
public static Builder builder() {
@@ -132,14 +115,16 @@ public class OpenAIAssistant extends AbstractAIAssistant {
String model =
ValidationUtils.ensureNotNull(configProvider.getModel(), "model");
String apiKey = ValidationUtils.ensureNotNull(
configProvider.getCredentials().get("apiKey"), "apiKey");
- ChatLanguageModel openAiChatModel = OpenAiChatModel.builder()
+ String secretKey = ValidationUtils.ensureNotNull(
+ configProvider.getCredentials().get("secretKey"),
"secretKey");
+ ChatLanguageModel qianfanChatModel = QianfanChatModel.builder()
.apiKey(apiKey)
- .baseUrl(BASE_URL)
+ .secretKey(secretKey)
.modelName(model)
.build();
- StreamingChatLanguageModel openaiStreamChatModel =
OpenAiStreamingChatModel.builder()
+ StreamingChatLanguageModel qianfanStreamChatModel =
QianfanStreamingChatModel.builder()
.apiKey(apiKey)
- .baseUrl(BASE_URL)
+ .secretKey(secretKey)
.modelName(model)
.build();
MessageWindowChatMemory.Builder builder =
MessageWindowChatMemory.builder()
@@ -149,7 +134,7 @@ public class OpenAIAssistant extends AbstractAIAssistant {
builder.id(id);
}
MessageWindowChatMemory chatMemory = builder.build();
- return new OpenAIAssistant(openAiChatModel, openaiStreamChatModel,
chatMemory);
+ return new QianFanAssistant(qianfanChatModel,
qianfanStreamChatModel, chatMemory);
}
}
}
diff --git
a/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
b/bigtop-manager-ai/bigtop-manager-ai-qianfan/src/main/java/org/apache/bigtop/manager/ai/qianfan/QianFanToolBox.java
similarity index 52%
copy from
bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
copy to
bigtop-manager-ai/bigtop-manager-ai-qianfan/src/main/java/org/apache/bigtop/manager/ai/qianfan/QianFanToolBox.java
index 83029c9..7dd2b9a 100644
---
a/bigtop-manager-ai/bigtop-manager-ai-core/src/main/java/org/apache/bigtop/manager/ai/core/enums/PlatformType.java
+++
b/bigtop-manager-ai/bigtop-manager-ai-qianfan/src/main/java/org/apache/bigtop/manager/ai/qianfan/QianFanToolBox.java
@@ -16,39 +16,27 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.ai.core.enums;
+package org.apache.bigtop.manager.ai.qianfan;
-import lombok.Getter;
+import org.apache.bigtop.manager.ai.core.factory.ToolBox;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-@Getter
-public enum PlatformType {
- OPENAI("openai"),
- DASH_SCOPE("dashscope");
+import reactor.core.publisher.Flux;
- private final String value;
+import java.util.List;
- PlatformType(String value) {
- this.value = value;
+public class QianFanToolBox implements ToolBox {
+ @Override
+ public List<String> getTools() {
+ return null;
}
- public static List<String> getPlatforms() {
- return Arrays.stream(values()).map(item ->
item.value).collect(Collectors.toList());
+ @Override
+ public String invoke(String toolName) {
+ return null;
}
- public static PlatformType getPlatformType(String value) {
- if (Objects.isNull(value) || value.isEmpty()) {
- return null;
- }
- for (PlatformType platformType : PlatformType.values()) {
- if (platformType.value.equals(value)) {
- return platformType;
- }
- }
+ @Override
+ public Flux<String> streamInvoke(String toolName) {
return null;
}
}
diff --git a/bigtop-manager-ai/pom.xml b/bigtop-manager-ai/pom.xml
index c731441..d1ee182 100644
--- a/bigtop-manager-ai/pom.xml
+++ b/bigtop-manager-ai/pom.xml
@@ -33,6 +33,7 @@
<modules>
<module>bigtop-manager-ai-openai</module>
<module>bigtop-manager-ai-dashscope</module>
+ <module>bigtop-manager-ai-qianfan</module>
<module>bigtop-manager-ai-core</module>
<module>bigtop-manager-ai-assistant</module>
</modules>
diff --git a/bigtop-manager-bom/pom.xml b/bigtop-manager-bom/pom.xml
index 55ea3d0..7616aa2 100644
--- a/bigtop-manager-bom/pom.xml
+++ b/bigtop-manager-bom/pom.xml
@@ -49,6 +49,7 @@
<micrometer.version>1.12.4</micrometer.version>
<jdbc.dm.version>8.1.2.192</jdbc.dm.version>
<langchain4j.version>0.33.0</langchain4j.version>
+ <dashscope.version>2.16.3</dashscope.version>
<mybatis-spring-boot-starter.version>3.0.3</mybatis-spring-boot-starter.version>
<pagehelper-spring-boot-starter.version>2.1.0</pagehelper-spring-boot-starter.version>
</properties>
@@ -248,6 +249,16 @@
<artifactId>langchain4j-open-ai</artifactId>
<version>${langchain4j.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>dashscope-sdk-java</artifactId>
+ <version>${dashscope.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>dev.langchain4j</groupId>
+ <artifactId>langchain4j-qianfan</artifactId>
+ <version>${langchain4j.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
</project>
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/AIChatServiceImpl.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/AIChatServiceImpl.java
index c4336e8..aea7c02 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/AIChatServiceImpl.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/AIChatServiceImpl.java
@@ -116,8 +116,7 @@ public class AIChatServiceImpl implements AIChatService {
AIAssistant aiAssistant = getAiAssistantFactory()
.create(
getPlatformType(platformAuthorizedDTO.getPlatformName()),
- getAIAssistantConfig(platformAuthorizedDTO, null),
- false);
+ getAIAssistantConfig(platformAuthorizedDTO, null));
try {
return aiAssistant.test();
} catch (Exception e) {
diff --git a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
index fb6c27f..9320c33 100644
--- a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
+++ b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
@@ -376,4 +376,5 @@ VALUES (1, now(), now(), 'Administrator',
'21232f297a57a5a743894a0e4a801fc3', tr
INSERT INTO bigtop_manager.llm_platform (id,credential,NAME,support_models)
VALUES
(1,'{"apiKey": "API
Key"}','OpenAI','gpt-3.5-turbo,gpt-4,gpt-4o,gpt-3.5-turbo-16k,gpt-4-turbo-preview,gpt-4-32k,gpt-4o-mini'),
-(2,'{"apiKey": "API Key"}','DashScope','qwen-max,qwen-plus,qwen-turbo');
+(2,'{"apiKey": "API Key"}','DashScope','qwen-max,qwen-plus,qwen-turbo'),
+(3,'{"apiKey": "API Key", "secretKey": "Secret
Key"}','QianFan','Yi-34B-Chat,ERNIE-4.0-8K,ERNIE-3.5-128K,ERNIE-Speed-8K,Llama-2-7B-Chat,Fuyu-8B');
diff --git a/pom.xml b/pom.xml
index bcf37b4..14ec2c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -142,6 +142,12 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.bigtop</groupId>
+ <artifactId>bigtop-manager-ai-qianfan</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.bigtop</groupId>
<artifactId>bigtop-manager-ai-assistant</artifactId>