node_mapping.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from core.workflow.nodes.answer import AnswerNode
  2. from core.workflow.nodes.base import BaseNode
  3. from core.workflow.nodes.code import CodeNode
  4. from core.workflow.nodes.document_extractor import DocumentExtractorNode
  5. from core.workflow.nodes.end import EndNode
  6. from core.workflow.nodes.enums import NodeType
  7. from core.workflow.nodes.http_request import HttpRequestNode
  8. from core.workflow.nodes.if_else import IfElseNode
  9. from core.workflow.nodes.iteration import IterationNode, IterationStartNode
  10. from core.workflow.nodes.knowledge_retrieval import KnowledgeRetrievalNode
  11. from core.workflow.nodes.list_operator import ListOperatorNode
  12. from core.workflow.nodes.llm import LLMNode
  13. from core.workflow.nodes.parameter_extractor import ParameterExtractorNode
  14. from core.workflow.nodes.question_classifier import QuestionClassifierNode
  15. from core.workflow.nodes.start import StartNode
  16. from core.workflow.nodes.template_transform import TemplateTransformNode
  17. from core.workflow.nodes.tool import ToolNode
  18. from core.workflow.nodes.variable_aggregator import VariableAggregatorNode
  19. from core.workflow.nodes.variable_assigner import VariableAssignerNode
  20. node_type_classes_mapping: dict[NodeType, type[BaseNode]] = {
  21. NodeType.START: StartNode,
  22. NodeType.END: EndNode,
  23. NodeType.ANSWER: AnswerNode,
  24. NodeType.LLM: LLMNode,
  25. NodeType.KNOWLEDGE_RETRIEVAL: KnowledgeRetrievalNode,
  26. NodeType.IF_ELSE: IfElseNode,
  27. NodeType.CODE: CodeNode,
  28. NodeType.TEMPLATE_TRANSFORM: TemplateTransformNode,
  29. NodeType.QUESTION_CLASSIFIER: QuestionClassifierNode,
  30. NodeType.HTTP_REQUEST: HttpRequestNode,
  31. NodeType.TOOL: ToolNode,
  32. NodeType.VARIABLE_AGGREGATOR: VariableAggregatorNode,
  33. NodeType.VARIABLE_ASSIGNER: VariableAggregatorNode, # original name of VARIABLE_AGGREGATOR
  34. NodeType.ITERATION: IterationNode,
  35. NodeType.ITERATION_START: IterationStartNode,
  36. NodeType.PARAMETER_EXTRACTOR: ParameterExtractorNode,
  37. NodeType.CONVERSATION_VARIABLE_ASSIGNER: VariableAssignerNode,
  38. NodeType.DOCUMENT_EXTRACTOR: DocumentExtractorNode,
  39. NodeType.LIST_OPERATOR: ListOperatorNode,
  40. }