本例演示无限循环的情况。
使用AI进行数据分析时,通过自然语言向工作流或AI Agent发布指令。首先需要从该自然语言指令中获取到后续分析必需的信息。比如,对给定的多元数据进行多元统计分析,需要知道是否对数据进行标准化和进行什么类型的统计。如果用户表达不明确,就一直继续问,直到他表达清楚为止。本例的Coze工作流如图8-6所示。
图8-6 检查输入数据的工作流
开始节点用自然语言发出指令,用大模型节点从指令中提取必需信息,包括是否对列数据进行标准化,以及使用什么统计方法。分别把这两个信息量化并作为输出参数的值。输出参数std为布尔值,表示是否进行数据标准化,是为true,否为false;输出参数method为整数,表示统计类型,值1表示多元线性回归,值2表示分类,值3表示主成分分析。编写系统提示词如下所示:
从输入的内容{{input}}}中提取出输出参数std和method的值。
std表示是否对数据进行标准化。不进行标准化时值为false;对各列数据进行标准化时值为true。
method参数指定统计分析的方法。多元线性回归时值为1,分类时值为2,主成分分析时值为3。只有在发现匹配的语义时给method参数赋值,否则设置为空。
大模型节点的设置如图8-7所示。
图8-7 大模型节点的设置 图8-8 循环节点的设置
大模型节点后面跟一个循环节点对method参数进行检查。在循环体中添加选择器节点、输入节点、终止循环节点和设置变量节点如工作流中进行连接。选择器节点根据method参数的值进行判断,如果为空、大于3或小于1,则不断的显示输入框要求用户填写正确的值,即1-3的整数,直到正确为止。这是一个无限循环。循环节点的设置如图8-8所示,需要设置中间变量。
运行工作流,输入指令:
对导入的数据进行标准化,并进行统计
按照大模型节点的系统提示词,输出参数method会置空,此时会显示输入框,要求填写正确的method参数的值,输入2,输出结果:
{
"output": true,
"output2": 2
}