如何从工具访问 RunnableConfig
先决条件
本指南假设您熟悉以下概念:
如果您有一个调用 聊天模型、检索器 或其他 可运行对象 的工具,您可能希望访问这些可运行对象的内部事件或用其他属性配置它们。本指南将向您展示如何正确手动传递参数,以便您可以使用 astream_events() 方法执行此操 作。
工具是可运行对象,您可以在接口层面将它们与其他可运行对象一样对待——您可以像平常一样调用 invoke()、batch() 和 stream()。但是,在编写自定义工具时,您可能希望调用聊天模型或检索器等其他可运行对象。为了正确跟踪和配置这些子调用,您需要手动访问并传入工具当前的 RunnableConfig 对象。本指南将展示一些如何执行此操作的示例。
兼容性
本指南需要 langchain-core>=0.2.16。
通过参数类型推断
要从自定义工具中访问引用活动的配置对象,您需要向工具的签名添加一个类型为 RunnableConfig 的参数。当您调用工具时,LangChain 将检查您的工具签名,查找类型为 RunnableConfig 的参数,如果存在,则会用正确的值填充该参数。
注意: 参数的实际名称并不重要,只有类型才重要。