langchain 在满足某些条件的情况下,为工具的输出创建一个return_direct,

fd3cxomn  于 5个月前  发布在  其他
关注(0)|答案(8)|浏览(44)

功能需求

在某些情况下,能够直接返回工具的输出。

动机

在特定的情况下,能够直接返回工具的输出对用户非常有益。例如,在使用搜索工具时,如果没有找到匹配项,可以直接向用户发送响应。如果不能直接返回,工具的输出将发送到LLM,使得LLM容易产生最终答案的幻觉。

你的贡献

我不确定如何实现这个功能,但愿意帮助任何想法的实现。

1cosmwyk

1cosmwyk1#

你好,@aledelunap!我是Dosu,我在这里帮助LangChain团队管理他们的积压任务。我想让你知道我们已经将这个问题标记为过期。
根据我的理解,这个问题是一个功能请求,要求在满足某些条件的情况下直接返回工具的输出。你还没有收到关于这个问题的任何回复或评论。如果这个问题仍然与LangChain仓库的最新版本相关,请通过评论此问题告知我们。
如果你认为这个功能不再需要或者你已经找到了替代方案,请随时自行关闭此问题。否则,如果我们在7天内没有收到你的回复,该问题将自动关闭。
感谢你的理解和愿意为实现这个功能做出贡献。如果你有任何进一步的问题或疑虑,请告诉我们。

ilmyapht

ilmyapht2#

这个功能非常棒,用于提高可见性。

cuxqih21

cuxqih213#

@baskaryan 你能帮助 @harkrish1 实现这个功能需求吗?他们表示如果能实现会很棒。谢谢!

tktrz96b

tktrz96b4#

你好,@aledelunap!我正在帮助LangChain团队管理他们的积压任务,并将此问题标记为过时。
看起来你请求在特定条件下直接返回工具的输出,以防止潜在的不准确响应来自LLM。你还提到愿意为实现这个功能做出贡献。这个问题也得到了其他用户的支持。
请问这个问题是否仍然与LangChain仓库的最新版本相关?如果是,请通过评论此问题告知LangChain团队。否则,请随意关闭此问题,或者它将在7天后自动关闭。
感谢你的理解和合作!

4bbkushb

4bbkushb5#

这是否仍可被视为一个请求的功能,有人(而非物)在这里回复?

7vux5j2d

7vux5j2d6#

是的,也许团队可以为ToolsResult实现一些 Package 器,并将其作为返回值。这个类将保存str结果参数和额外的开关,如return_direct。当llm循环被处理时,它可以检测到返回类型是否为ToolResult,并能够处理任何自定义行为。

rlcwz9us

rlcwz9us8#

我现在使用的黑客方法是与他们的开放AI代理一起构建一些 Package 器,以便在每次对话中示例化代理和工具集,这样我就可以像下面这样做(如果你在这个部分断点并在调试器中运行id(do_something),它将为每次对话返回一个唯一的ID):

@tool(tool_name, return_direct=False)
    async def do_something(some_param1: str, some_param2: str) -> str:
        """Does something amazing!"""
        do_something.return_direct = (
            False  # Default to False so any errors will return to LLM
        )

       # ...code logic follows that dynamically adjusts return_direct

相关问题