Node

反向调用 Node 指的是插件能够访问 Dify 中 Chatflow/Workflow 应用内部分节点的能力。

Workflow 中的 ParameterExtractor(参数提取器)QuestionClassifier(问题分类)节点封装了较为复杂的 Prompt 与代码逻辑,可以通过 LLM 来完成许多硬编码难以解决的任务。插件能够调用这两个节点。

调用参数提取器节点;

入口

    self.session.workflow_node.parameter_extractor

接口

    def invoke(
        self,
        parameters: list[ParameterConfig],
        model: ModelConfig,
        query: str,
        instruction: str = "",
    ) -> NodeResponse
        pass

其中 parameters 是需要提取出的参数的列表,model 符合 LLMModelConfig 规范,query 为提取参数的源文本,instruction 为一些可能额外需要给到 LLM 的指令,NodeResponse 的结构请参考该文档

用例

如果想要提取对话中的某个人名,可以参考以下代码:

调用问题分类节点

入口

接口

该接口参数与 ParameterExtractor 一致,最终的返回结果储存在 NodeResponse.outputs['class_name'] 中。\

Last updated