跳到主要内容

节点 - #结构化输出#

  • 对于 Xmind 对话树,节点内容的首行必须是 “#结构化输出#”,然后第二行的内容就是输出内容,可多行,如:
    #结构化输出#
    ...
    ...
    ...
  • 对于 Python 对话树,chattree.create_node() 的第一个参数必须是 “#结构化输出#”,第二个参数 dict 中的 key 为 “输出内容”,value 为输出内容(str类型),如:
    xxx_node = chattree.create_node("#结构化输出#", {"输出内容": "...\n...\n"})
  • 输出内容可有多行,一般是 json 或 xml 等格式,具体含义自己约定:哪些显示给用户、哪些不显示,要显示的话如何显示(文本、表格、UI 交互组件均可),返回后由 API 调用者按约定进行处理;如果是 UI 交互组件,可以将用户的相关 UI 操作(如点击按钮或链接)对应的语义转化为文本,作为下一次 API 调用的 “用户输入” 参数(的一部分)。目前系统后台对话测试界面(见 “对话测试”)中,如果返回的内容是[{"display":"...","user_input":"..."},{"display":"...","user_input":"..."},...]格式的 json,则会显示成多行,每行显示display字段的内容,用户点击后会将相应的user_input字段内容自动填充到界面上的用户输入控件中并提交
  • 输出内容中可以引用信息项,如 “...{...}...”,系统会将其替换为相应的信息项的字符串值后再返回给 API 调用者
  • “#结构化输出#” 节点与 “#提示用户#” 节点类似,但其不是通过流式的大模型文本来输出的,而是一次性原样地返给客户端(流式输出中仅会存在于第一个返回结果),具体参见 “API”
  • “对话树例子” 中的 “商旅平台_预订机票” 对话树例子中有该节点