数据如何流动?
每个工具在 Server 中注册时,都指定了其输入和输出变量名。例如:- 工具接收两个输入变量
q_ls
和top_k
- 工具输出变量名为
ret_psg
retriever_search
,希望传入不同的数据(比如第一次叫 q_ls
,第二次叫 subq_ls
),那你就需要一个方法来告诉 Pipeline:这些变量其实是 “同义词”。
参数重命名机制
为了解决上述变量名绑定冲突,UR-2.0 提供了如下机制: UR-2.0 支持在 pipeline.yaml 中 使用input:
和 output:
明确重命名传参与变量映射,而无需修改 Server 中的代码。
基本语法
示例1:输入变量重命名
假设工具函数声明如下:retriever_search
原本期待名为 query_list
的输入参数,此时你实际使用的变量名是 sub_q_ls
,通过 input:
显式绑定即可完成映射,无需修改工具内部实现。
这里是根据函数声明中的参数名进行映射。
示例2:输出变量重命名
假设该工具在注册时定义如下:ret_psg
,现在就会被映射为 round1_result
,供后续步骤使用。
这里是根据工具注册时指定的输出名进行映射。
qa_rag_boxed
原本期望的输入是 ret_psg
,此处我们将上一步的 round1_result
显式映射为它的输入,实现数据绑定。