From 7919fffe29ca0ea6b58ac4b8cb13c8bc0b5ccfe4 Mon Sep 17 00:00:00 2001
From: zhangjinyang <409225776@qq.com>
Date: 星期二, 06 五月 2025 17:17:21 +0800
Subject: [PATCH] fix: 1.工作流试运行时先保存 2.搜索引擎节点添加博查搜索 3.提取设置tinyflow的公共方法
---
aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/entity/AiWorkflowFunction.java | 66 ++++-----------------------------
1 files changed, 8 insertions(+), 58 deletions(-)
diff --git a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/entity/AiWorkflowFunction.java b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/entity/AiWorkflowFunction.java
index fd3a10e..f4627a7 100644
--- a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/entity/AiWorkflowFunction.java
+++ b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/entity/AiWorkflowFunction.java
@@ -1,22 +1,12 @@
package tech.aiflowy.ai.entity;
-import com.agentsflex.core.document.Document;
-import com.agentsflex.core.llm.Llm;
-import com.agentsflex.core.store.DocumentStore;
-import com.agentsflex.core.store.SearchWrapper;
-import com.agentsflex.core.store.StoreOptions;
-import dev.tinyflow.core.Tinyflow;
-import dev.tinyflow.core.knowledge.Knowledge;
-import dev.tinyflow.core.node.KnowledgeNode;
-import dev.tinyflow.core.provider.KnowledgeProvider;
-import dev.tinyflow.core.provider.LlmProvider;
-import tech.aiflowy.ai.service.AiKnowledgeService;
-import tech.aiflowy.ai.service.AiLlmService;
-import tech.aiflowy.ai.service.AiWorkflowService;
-import tech.aiflowy.common.util.SpringContextUtil;
import com.agentsflex.core.chain.Chain;
import com.agentsflex.core.chain.Parameter;
import com.agentsflex.core.llm.functions.BaseFunction;
+import dev.tinyflow.core.Tinyflow;
+import tech.aiflowy.ai.service.AiWorkflowService;
+import tech.aiflowy.ai.utils.TinyFlowConfigService;
+import tech.aiflowy.common.util.SpringContextUtil;
import java.math.BigInteger;
import java.util.Arrays;
@@ -71,8 +61,7 @@
AiWorkflow workflow = service.getById(this.workflowId);
if (workflow != null) {
Tinyflow tinyflow = workflow.toTinyflow();
- setLlmProvider(tinyflow);
- setKnowledgeProvider(tinyflow);
+ setTinyflow(tinyflow);
Chain chain = tinyflow.toChain();
return chain.executeForResult(argsMap);
} else {
@@ -80,48 +69,9 @@
}
}
- private void setLlmProvider(Tinyflow tinyflow) {
- AiLlmService aiLlmService = SpringContextUtil.getBean(AiLlmService.class);
- tinyflow.setLlmProvider(new LlmProvider() {
- @Override
- public Llm getLlm(Object id) {
- AiLlm aiLlm = aiLlmService.getById(new BigInteger(id.toString()));
- return aiLlm.toLlm();
- }
- });
- }
-
- private void setKnowledgeProvider(Tinyflow tinyflow) {
- AiLlmService aiLlmService = SpringContextUtil.getBean(AiLlmService.class);
- AiKnowledgeService aiKnowledgeService = SpringContextUtil.getBean(AiKnowledgeService.class);
- tinyflow.setKnowledgeProvider(new KnowledgeProvider() {
- @Override
- public Knowledge getKnowledge(Object o) {
- AiKnowledge aiKnowledge = aiKnowledgeService.getById(new BigInteger(o.toString()));
- return new Knowledge() {
- @Override
- public List<Document> search(String keyword, int limit, KnowledgeNode knowledgeNode, Chain chain) {
- DocumentStore documentStore = aiKnowledge.toDocumentStore();
- if (documentStore == null) {
- return null;
- }
- AiLlm aiLlm = aiLlmService.getById(aiKnowledge.getVectorEmbedLlmId());
- if (aiLlm == null) {
- return null;
- }
- documentStore.setEmbeddingModel(aiLlm.toLlm());
- SearchWrapper wrapper = new SearchWrapper();
- wrapper.setMaxResults(Integer.valueOf(limit));
- wrapper.setText(keyword);
- StoreOptions options = StoreOptions.ofCollectionName(aiKnowledge.getVectorStoreCollection());
-
- List<Document> results = documentStore.search(wrapper, options);
- return results;
- }
- };
- }
- });
-
+ private void setTinyflow(Tinyflow tinyflow) {
+ TinyFlowConfigService service = SpringContextUtil.getBean(TinyFlowConfigService.class);
+ service.setAll(tinyflow);
}
@Override
--
Gitblit v1.8.0