Bug描述
我需要使用ToolCallAgent组件来制作一个会议预订系统和一个车站预订系统,并分别使用不同的过程完成这两个系统。然后我使用ToolCallAgent加上Flow作为工具来完成通话,并使用AI来确定要使用哪个系统。当我将其交给Flow作为工具进行呼叫时,遇到了几个问题,希望能得到解答或解决。1. 在使用Flow作为工具调用其他程序时如何传递参数。
重现步骤
我需要使用ToolCallAgent组件来制作一个会议预订系统和一个车站预订系统,并分别使用不同的过程完成这两个系统。然后我使用ToolCallAgent加上Flow作为工具来完成通话,并使用AI来确定要使用哪个系统。当我将其交给Flow作为工具进行呼叫时,遇到了几个问题,希望能得到解答或解决。1. 在使用Flow作为工具调用其他程序时如何传递参数。
预期行为
我需要使用ToolCallAgent组件来制作一个会议预订系统和一个车站预订系统,并分别使用不同的过程完成这两个系统。然后我使用ToolCallAgent加上Flow作为工具来完成通话,并使用AI来确定要使用哪个系统。当我将其交给Flow作为工具进行呼叫时,遇到了几个问题,希望能得到解答或解决。1. 在使用Flow作为工具调用其他程序时如何传递参数。
谁能帮忙?
- 无响应*
操作系统
Windows
Langflow版本
1.0.14
Python版本
None
截图
- 无响应*
Flow文件
- 无响应*
2条答案
按热度按时间5kgi1eie1#
要在使用
FlowTool
调用其他程序时传递参数,您可以使用位置参数或关键字参数。以下是如何操作的:使用位置参数
确保位置参数的数量与工具期望的输入数量相匹配。工具将这些参数Map到相应的输入名称。
使用关键字参数
您可以将参数作为关键字参数传递,其中键是输入名称。
代码解释
FlowTool
中的_run
方法处理参数的方式如下:get_arg_names(self.inputs)
获取输入名称。以下是相关代码的部分:
此方法确保在运行流程1(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/base/tools/flow_tool.py)2(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/components/prototypes/FlowTool.py)之前正确传递和验证参数。
nvbavucw2#
根据我目前的了解,Flow作为工具仅在使用被调用的流程中的聊天输入和聊天输出组件时才能工作,因此您不能使用TWEAKS(除非您自己进行一些hacky的操作)。
我不推荐这个解决方案,但是一个可行的方法是将流程的聊天输入设置为JSON字符串(LLMs对JSON很熟悉),然后解析该字符串并相应地处理每个字段。