refactor(api): move workflow knowledge nodes and trigger nodes (#33445)

This commit is contained in:
-LAN-
2026-03-15 15:24:59 +08:00
committed by GitHub
parent 1b6e695520
commit fb41b215c8
232 changed files with 1575 additions and 1421 deletions

View File

@ -18,7 +18,7 @@ from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from dify_graph.file.models import FileUploadConfig
from dify_graph.model_runtime.entities.llm_entities import LLMMode
from dify_graph.model_runtime.utils.encoders import jsonable_encoder
from dify_graph.nodes import NodeType
from dify_graph.nodes import BuiltinNodeTypes
from dify_graph.variables.input_entities import VariableEntity
from events.app_event import app_was_created
from extensions.ext_database import db
@ -234,7 +234,7 @@ class WorkflowConverter:
"position": None,
"data": {
"title": "START",
"type": NodeType.START,
"type": BuiltinNodeTypes.START,
"variables": [jsonable_encoder(v) for v in variables],
},
}
@ -296,7 +296,7 @@ class WorkflowConverter:
"position": None,
"data": {
"title": f"HTTP REQUEST {api_based_extension.name}",
"type": NodeType.HTTP_REQUEST,
"type": BuiltinNodeTypes.HTTP_REQUEST,
"method": "post",
"url": api_based_extension.api_endpoint,
"authorization": {"type": "api-key", "config": {"type": "bearer", "api_key": api_key}},
@ -314,7 +314,7 @@ class WorkflowConverter:
"position": None,
"data": {
"title": f"Parse {api_based_extension.name} Response",
"type": NodeType.CODE,
"type": BuiltinNodeTypes.CODE,
"variables": [{"variable": "response_json", "value_selector": [http_request_node["id"], "body"]}],
"code_language": "python3",
"code": "import json\n\ndef main(response_json: str) -> str:\n response_body = json.loads("
@ -354,7 +354,7 @@ class WorkflowConverter:
"position": None,
"data": {
"title": "KNOWLEDGE RETRIEVAL",
"type": NodeType.KNOWLEDGE_RETRIEVAL,
"type": BuiltinNodeTypes.KNOWLEDGE_RETRIEVAL,
"query_variable_selector": query_variable_selector,
"dataset_ids": dataset_config.dataset_ids,
"retrieval_mode": retrieve_config.retrieve_strategy.value,
@ -402,9 +402,9 @@ class WorkflowConverter:
:param external_data_variable_node_mapping: external data variable node mapping
"""
# fetch start and knowledge retrieval node
start_node = next(filter(lambda n: n["data"]["type"] == NodeType.START, graph["nodes"]))
start_node = next(filter(lambda n: n["data"]["type"] == BuiltinNodeTypes.START, graph["nodes"]))
knowledge_retrieval_node = next(
filter(lambda n: n["data"]["type"] == NodeType.KNOWLEDGE_RETRIEVAL, graph["nodes"]), None
filter(lambda n: n["data"]["type"] == BuiltinNodeTypes.KNOWLEDGE_RETRIEVAL, graph["nodes"]), None
)
role_prefix = None
@ -523,7 +523,7 @@ class WorkflowConverter:
"position": None,
"data": {
"title": "LLM",
"type": NodeType.LLM,
"type": BuiltinNodeTypes.LLM,
"model": {
"provider": model_config.provider,
"name": model_config.model,
@ -578,7 +578,7 @@ class WorkflowConverter:
"position": None,
"data": {
"title": "END",
"type": NodeType.END,
"type": BuiltinNodeTypes.END,
"outputs": [{"variable": "result", "value_selector": ["llm", "text"]}],
},
}
@ -592,7 +592,7 @@ class WorkflowConverter:
return {
"id": "answer",
"position": None,
"data": {"title": "ANSWER", "type": NodeType.ANSWER, "answer": "{{#llm.text#}}"},
"data": {"title": "ANSWER", "type": BuiltinNodeTypes.ANSWER, "answer": "{{#llm.text#}}"},
}
def _create_edge(self, source: str, target: str):