跳到主要内容

节点 - #动作#执行脚本

  • 对于 Xmind 对话树,节点内容的首行必须是 “#动作#执行脚本”,然后第二行的内容就是(单行或多行的)Python 脚本(脚本中可基于 ctx 对信息项进行访问或赋值),如:
    #动作#执行脚本
    ...
    ...ctx['{...}']...
    ...
  • 对于 Python 对话树,chattree.create_node() 的第一个参数必须是 “#动作#执行脚本”,第二个参数 dict 中的 key 为 “函数”,value 为 Python 函数名或 lambda 表达式(函数定义或 lambda 都须带一个 ctx 参数并可基于 ctx 对信息项进行访问或赋值),如:
    def xxxx_func(ctx):
    ...
    ...ctx['{...}']...
    ...
    ...
    xxx_node = chattree.create_node("#动作#执行脚本", {"函数": xxxx_func})
    xxx_node = chattree.create_node("#动作#执行脚本", {"函数": lambda ctx : ...ctx["{...}"]...})
  • 该节点的作用是执行一段 Python 脚本或一个 Python 函数,脚本或函数中可以通过 ctx 变量来访问或赋值信息项,用于实现复杂业务逻辑
  • 更多参见 “Python 脚本/函数”
  • “对话树例子” 中的 “商旅平台_预订机票”、“医院挂号” 和 “120” 对话树例子中有该节点