diff --git a/tinyflow-java-core/src/main/java/dev/tinyflow/core/parser/impl/LlmNodeParser.java b/tinyflow-java-core/src/main/java/dev/tinyflow/core/parser/impl/LlmNodeParser.java index f489c752b202e958e34215ba8bb12b831103d7b9..ea8aebe68eee30205743510f2125679b45427ce2 100644 --- a/tinyflow-java-core/src/main/java/dev/tinyflow/core/parser/impl/LlmNodeParser.java +++ b/tinyflow-java-core/src/main/java/dev/tinyflow/core/parser/impl/LlmNodeParser.java @@ -37,9 +37,9 @@ public class LlmNodeParser extends BaseNodeParser { ChatOptions chatOptions = new ChatOptions(); - chatOptions.setTopK(data.getInteger("topK")); - chatOptions.setTopP(data.getFloat("topP")); - chatOptions.setTemperature(data.getFloat("temperature")); + chatOptions.setTopK(data.containsKey("topK") ? data.getInteger("topK") : 10); + chatOptions.setTopP(data.containsKey("topP") ? data.getFloat("topP") : 0.8F); + chatOptions.setTemperature(data.containsKey("temperature") ? data.getFloat("temperature") : 0.8F); llmNode.setChatOptions(chatOptions); LlmProvider llmProvider = tinyflow.getLlmProvider(); diff --git a/tinyflow-java-demo/src/main/java/com/tinyflow/demo/controller/WorkFlowController.java b/tinyflow-java-demo/src/main/java/com/tinyflow/demo/controller/WorkFlowController.java index edea0aa0086172accd469863804588439108fff6..45ef8d222559b7f450028c7f2000b6f5e6d7b571 100644 --- a/tinyflow-java-demo/src/main/java/com/tinyflow/demo/controller/WorkFlowController.java +++ b/tinyflow-java-demo/src/main/java/com/tinyflow/demo/controller/WorkFlowController.java @@ -1,7 +1,5 @@ package com.tinyflow.demo.controller; -import com.agentsflex.llm.openai.OpenAILlm; -import com.agentsflex.llm.openai.OpenAILlmConfig; import com.agentsflex.llm.qwen.QwenLlm; import com.agentsflex.llm.qwen.QwenLlmConfig; import com.alibaba.fastjson.JSONArray; @@ -48,23 +46,14 @@ public class WorkFlowController { public ResponseEntity> exe(@RequestBody JSONObject wf) { Tinyflow tinyflow = parseFlowParam(wf.getJSONObject("data").toJSONString()); Map variables = wf.getJSONObject("param").getInnerMap(); - Map result = tinyflow.executeForResult(variables); + Map result = tinyflow.toChain().executeForResult(variables); return new ResponseEntity<>(result, HttpStatus.OK); } private Tinyflow parseFlowParam(String graph) { JSONObject json = JSONObject.parseObject(graph); JSONArray nodeArr = json.getJSONArray("nodes"); - for (int i = 0; i < nodeArr.size(); i++) { - JSONObject node = nodeArr.getJSONObject(i); - if (node.getString("type").equals("llmNode")) { - node.getJSONObject("data").put("topK", 10); - node.getJSONObject("data").put("topP", 0.8); - node.getJSONObject("data").put("temperature", 0.8); - node.getJSONObject("data").put("maxTokens", 2048); - } - } - Tinyflow tinyflow = null; + Tinyflow tinyflow = new Tinyflow(json.toJSONString()); for (int i = 0; i < nodeArr.size(); i++) { JSONObject node = nodeArr.getJSONObject(i); switch (node.getString("type")) { @@ -74,7 +63,7 @@ public class WorkFlowController { // 千问apikey qwenLlmConfig.setApiKey("sk-xxxxxxxxxxx"); qwenLlmConfig.setModel("qwen-plus"); - tinyflow = new Tinyflow(id -> new QwenLlm(qwenLlmConfig), json.toJSONString()); + tinyflow.setLlmProvider(id -> new QwenLlm(qwenLlmConfig)); break; case "zsk":