概述 - LangChain 框架 (8) --知识铺
工具¶
许多 AI 应用程序直接与人类交互。在这些情况下,模型以自然语言响应是合适的。但如果我们需要模型与数据库或 API 等系统进行_直接_交互呢?这些系统通常有特定的输入模式;例如,API 通常有必需的负载结构。您可以使用工具调用来请求符合特定模式的模型响应。
工具是一种封装函数及其输入模式的方式,可以将其传递给支持工具调用的聊天模型。这允许模型请求使用特定输入执行此函数。
工具可以传递给支持工具调用的聊天模型,允许模型请求使用特定输入执行特定函数。
工具调用¶
工具调用的一个关键原则是模型根据输入的关联性决定何时使用工具。模型并不总是需要调用工具。例如,如果给定一个与工具_无关_的输入,模型就不会调用工具
<span id="__span-0-1">result = llm_with_tools.invoke("Hello world!")
结果将是一个包含模型自然语言响应(例如,“Hello!”)的AIMessage。然而,如果我们传递一个与工具_相关_的输入,模型应该选择调用它
<span id="__span-1-1">result = llm_with_tools.invoke("What is 2 multiplied by 3?")
和以前一样,输出result将是一个AIMessage。但是,如果工具被调用,result将具有tool_calls属性。此属性包含执行工具所需的一切,包括工具名称和输入参数
<span id="__span-2-1">result.tool_calls
<span id="__span-2-2">{'name': 'multiply', 'args': {'a': 2, 'b': 3}, 'id': 'xxx', 'type': 'tool_call'}
有关用法的更多详细信息,请参阅操作指南。
执行工具¶
LangGraph 提供预构建的组件——[ToolNode](https://langgraph.com.cn/reference/agents.1.html#langgraph.prebuilt.tool_node.ToolNode “ ToolNode”) 和 [create_react_agent](https://langgraph.com.cn/reference/agents.1.html#langgraph.prebuilt.chat_agent_executor.create_react_agent “ create_react_agent")——它们代表用户调用工具。
有关工具调用的信息,请参阅此操作指南。
预构建工具¶
LangChain 支持广泛的预构建工具集成,用于与 API、数据库、文件系统、网络数据等进行交互。这些工具扩展了代理的功能并支持快速开发。
您可以在LangChain 集成目录中浏览可用集成的完整列表。
一些常用的工具类别包括
- 搜索:Bing、SerpAPI、Tavily
- 代码解释器:Python REPL、Node.js REPL
- 数据库:SQL、MongoDB、Redis
- 网络数据:网页抓取和浏览
- API:OpenWeatherMap、NewsAPI 等
这些集成可以使用上面示例中所示的相同tools参数进行配置并添加到您的代理中。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai002/post/20251125/%E6%A6%82%E8%BF%B0-LangChain-%E6%A1%86%E6%9E%B6-8/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com