本帖最后由 江小举 于 2025-5-22 17:15 编辑
jinja2中如何调用流程过程中的参数?使用方法是, 节点ID加上对应的变量名,中间使用点连接。如下, 要引用原始输入的话,START这个是开始节点的ID,raw_query是包含输入问题的参数名。 - <span style="background-color: rgb(255, 255, 255);"> {{ START.raw_query }} </span>
复制代码 手动添加的节点ID如何获取? 编排好,工作流,在文本处理节点中,先输入如下大括号和双引号,然后在引号中间输入/唤起变量选择的弹出按,选择要处理的变量 配置好后,如下图所示,点击调试,查看文本处理节点的输出,改输出的值,就是要处理的变量的 节点ID+变量名。后续可以拿这个在文本处理节点中进行使用
jinja2语法中splite方法不生效的原因? 当前前端传递参数的时候设置有问题,导致<>会被进行转移。使得最终splite的时候不是对</think>进行分割,导致输出不符合预期。 {{ START.raw_query.split('</think>')[-1]|trim }} 这个是页面配置的参数
{{ START.raw_query.split('</think>')[-1]|trim }} 这是前端传参时候的值。
这个问题在后续版本中会进行修复。
当前解决办法 splite方法中参数可以像下面这样传,通过 /think 进行分割, 最后一个字符串会是 >xxxx ,右尖括号开头的一个字符串,然后通过 [1:] 这样获取改字符串的子串,把 > 给移除掉。 - {{ START.raw_query.split('/think')[-1][1:]|trim }}
复制代码
需要注意的是,当前这种通过分割字符串去除思考过程的方式可能存在个问题,如果答案部分也包含了 /think 字样的话,也会被分割,导致答案部分缺失。 |