LangChain搭建Agent | 使用initialize_agent

在这里插入图片描述

1.create_tool_calling_agent

构建agent,这个方法是过时了吗?官方文档也没更新,官方示例也运行错误

from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import ConfigurableField
from langchain_core.tools import tool
from langchain.agents import create_tool_calling_agent, AgentExecutor@tool
def multiply(x: float, y: float) -> float:"""将 'x' 乘以 'y'。"""return x * y@tool
def exponentiate(x: float, y: float) -> float:"""将 'x' 乘以 'y' 的指数。"""return x**y@tool
def add(x: float, y: float) -> float:"""将 'x' 和 'y' 相加。"""return x + yprompt = ChatPromptTemplate.from_messages([("system", "你是一个有用的助手"), ("human", "{input}"), ("placeholder", "{agent_scratchpad}"),
])tools = [multiply, exponentiate, add]# llm = ChatZhipuAI(
#     model="glm-4",
#     temperature=0.5,
# )agent = create_tool_calling_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)agent_executor.invoke({"input": "3 加上 5 的 2.743 次方是多少。还有 17.24 减去 918.1241 是多少。"})

llm就按照这篇文章配置任意一个
LangChain连接国内大模型测试|智谱ai、讯飞星火、通义千问
在这里插入图片描述
有路过的大佬指点一二么?

2.initialize_agent

from langchain.tools import BaseTool
from langchain.agents import initialize_agent
from langchain.agents import AgentType
import os
from langchain_community.chat_models import ChatZhipuAI
os.environ["ZHIPUAI_API_KEY"] = 'xxx'
llm = ChatZhipuAI(model="glm-4",temperature=0.5,
)
class Multiply(BaseTool):name = "乘法"description = "只做乘法运算"def _run(self, input: str) -> str:# Your logic herereturn "乘法计算完毕"def _arun(self, query: str):raise NotImplementedError("This tool does not support async")
class Add(BaseTool):name = "加法"description = "只做加法运算"def _run(self, input: str) -> str:# Your logic herereturn "加法计算完毕"def _arun(self, query: str):raise NotImplementedError("This tool does not support async")
class Exponentiate(BaseTool):name = "幂运算"description = "只做幂运算"def _run(self, input: str) -> str:# Your logic herereturn "幂运算计算完毕"def _arun(self, query: str):raise NotImplementedError("This tool does not support async")tools = [Multiply(),Add(),Exponentiate()]# agent = initialize_agent(tools, agent=AgentType.DEFAULT)
agent = initialize_agent(tools, llm, verbose=True)
agent("3乘以6,加上 5 的 4 次方是多少?")

在这里插入图片描述
就说清不清楚吧!

{'input': '3乘以6,加上 5 的 4 次方是多少?', 'output': '643'}

【官方文档】

  • initialize_agent 在这里插入图片描述
  • create_tool_calling_agent
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/706595.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES6中数组新增了哪些扩展?

​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:ES6中数组新增了哪些扩展? 目录 一、扩展运算符的应用 二、构造函数新…

(2)双指针练习:复写零

复写零 题目链接:1089. 复写零 - 力扣(LeetCode) 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入…

oppo手机怎样录屏?新手必看指南来了

“有人知道oppo手机怎样录屏吗?刚刚换了新款的oppo手机,它的屏幕显示效果和性能都让我感到非常满意,但是在尝试使用录屏功能时遇到了些困难,找了半天都没找到正确的开启方式,有没有哪位oppo手机用户知道如何打开录屏功…

美港通正规炒股市场沪指收跌0.82% 证券板块调整

5月15日电 15日,A股三大指数集体下挫。上证指数跌0.82%,报3119.9点;深证成指跌0.88%,报9583.54点;创业板指跌0.9%,报1838.89点。沪深京三市成交额7651亿元,其中沪深两市7611亿元,较上日缩量635亿元。沪深两市超3800只个股下跌。 美港通证券以其专业的服务和较低的管理费用在市…

后台菜单数据递归展示

后台菜单数据递归展示 效果示例图aslide.vueaslideItem.vuemenu 效果示例图 aslide.vue <script setup>import {ref} from vue;const props defineProps({isCollapse: {type: Boolean,default: false}});import AslideItem from "./aslideItem.vue"const def…

IntelliJ IDEA 配置JDK

IntelliJ IDEA-之配置JDK 我们的开发神器IDEA安装好了之后&#xff0c;在实际开发中&#xff0c;我们如何去配置好JDK的版本呢&#xff1f; 注意&#xff1a;需要保证JDK在已经成功安装的情况下&#xff0c;再进行IDEA的配置 现在就行动&#xff0c;让IntelliJ IDEA成为你征…

Nginx启动关闭重启用脚本实现

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Nginx(“engine x”…

Windows 10无法远程桌面连接:原因及解决方案

在信息技术日益发展的今天&#xff0c;远程桌面连接已成为企业日常运维、技术支持乃至个人用户远程办公的必备工具。然而&#xff0c;有时我们可能会遇到Windows 10无法远程桌面连接的问题&#xff0c;这无疑会给我们的工作和生活带来诸多不便。 原因分析 1、远程访问未启用&a…

AI智能体|案例实操:使用扣子Coze创建医药助手Bot

大家好&#xff0c;我是无界生长。 最近在做AI智能体定制项目&#xff0c;疯狂接单中&#xff0c;大家如果有定制需求可以联系我。下面分享一个实操案例&#xff1a;使用扣子Coze创建医药助手Bot&#xff0c;为了方便演示&#xff0c;对案例中的数据进行了简化及脱敏&#xff0…

JUnit5测试用例调度

maven中的junit5的一些注意点&#xff1a; maven-surefire-plugin maven对应有默认配置当需要修改一些测试相关执行策略的时候&#xff0c;就需要重修配置这个插件 mvn执行测试用例 命令行执行&#xff1a;通过按ALT和F12打开idea的终端 mvn test &#xff1a;执行案例下的…

GoF之代理模式(静态代理+动态代理(JDK动态代理+CGLIB动态代理带有一步一步详细步骤))

1. GoF之代理模式&#xff08;静态代理动态代理(JDK动态代理CGLIB动态代理带有一步一步详细步骤)&#xff09; 文章目录 1. GoF之代理模式&#xff08;静态代理动态代理(JDK动态代理CGLIB动态代理带有一步一步详细步骤)&#xff09;每博一文案2. 代理模式的理解3. 静态代理4. 动…

使用Flask-RESTful构建RESTful API

文章目录 安装Flask-RESTful导入模块和类创建一个资源类运行应用测试API总结 Flask是一个轻量级的Python web开发框架&#xff0c;而Flask-RESTful是一个基于Flask的扩展&#xff0c;专门用于构建RESTful API。它提供了一些帮助类和方法&#xff0c;使构建API变得更加简单和高效…