如何获取LangChain中工具类对应的文本名称以适配load_tools函数?
获取LangChain工具类对应load_tools文本名称的方法
如果你已知LangChain的工具类(如ArxivQueryRun),想找到它在load_tools函数中对应的文本名称(如'arxiv'),可以用以下几种方法:
直接查看工具类的
name属性
大部分LangChain工具类实例都带有name属性,直接创建实例并打印即可获取对应的文本名称:from langchain_community.tools.arxiv.tool import ArxivQueryRun tool_instance = ArxivQueryRun() print(tool_instance.name) # 输出: 'arxiv'查看
load_tools的内置映射字典load_tools函数内部维护了工具名称与类的映射表_TOOL_MAPPING,直接遍历这个字典就能得到所有对应关系:from langchain_community.agent_toolkits.load_tools import _TOOL_MAPPING # 遍历映射,打印所有工具名称与对应类名 for tool_name, tool_class in _TOOL_MAPPING.items(): print(f"{tool_name} -> {tool_class.__name__}")查看工具注册系统的信息
LangChain的工具通过注册系统管理,可通过工具注册表查询所有已注册的工具名称及对应类:from langchain_core.tools import tool_registry # 遍历注册的工具,打印名称与类名 for tool_name in tool_registry.list_tools(): tool_cls = tool_registry.get_tool(tool_name) print(f"{tool_name} -> {tool_cls.__name__}")注意:langchain_community下的社区工具,可能需要查看对应模块的注册信息。
内容的提问来源于stack exchange,提问作者Bex T.
相关产品推荐
相关产品推荐

