[Agent]-----MRKLAgentForChatModels组件开发

news/2023/11/28 18:42:48

参考资料:

https://python.langchain.com/docs/modules/agents/agent_types/react
https://python.langchain.com/docs/modules/agents/how_to/custom_mrkl_agent
https://python.langchain.com/docs/modules/agents/how_to/mrkl

该agent主要使用ReAct框架来决定操作的代理,从而优化聊天模型。
agent需要的组件:tools,chatmodels
实现步骤:
第一步:定义一个tool,这里采用计算器

llm_math_chain = LLMMathChain(llm=llm, verbose=True)
tool =  Tool(name="Calculator",func=llm_math_chain.run,description="useful for when you need to answer questions about math")

第二步,定义agent方法,这里的AgentType采用的是Mrkl的chatReAct模型,使用聊天模型来代替llm去调用ReAct代理

param_dict = {"tools":[tool],"model":llm}from langchain.agents import initialize_agent,AgentTypeagentExcutor = initialize_agent(llm=param_dict.get("model"),tools=param_dict.get("tools"),agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION,verbose=True)
resp = agentExcutor.run("写一个芒果的故事 ")
print(resp)

http://www.ppmy.cn/news/1073806.html

相关文章

代码随想录第四十九天|121. 买卖股票的最佳时机 、122.买卖股票的最佳时机II

121. 买卖股票的最佳时机 题目链接/文章讲解/视频讲解&#xff1a;https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html 1.代码展示 //121.股票的最佳买卖时机 int maxProfit(vector<int>& p…

Node 使用 WebStorm 打开文件

Node 使用 WebStorm 打开文件 Node 脚本中, 打开文件. 如果有 WebStorm 就用 WebStorm 打开, 如果有 VSCode 就用 VSCode 打开, 否则 打开 目录 import { exec } from "child_process"; import fs from "fs-extra"; import open from "open";…

开源软件合集(Docker)

Docker安装 1.安装命令&#xff1a;curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun2.启动&#xff1a;systemctl start docker3.停止&#xff1a;systemctl stop docker4.重启&#xff1a;systemctl restart docker5.开机启动&#xff1a;systemctl enab…

【SpringBoot】最基础的项目架构(SpringBoot+Mybatis-plus+lombok+knife4j+hutool)

汝之观览&#xff0c;吾之幸也&#xff01; 从本文开始讲下项目中用到的一些框架和技术&#xff0c;最基本的框架使用的是SpringBoot(2.5.10)Mybatis-plus(3.5.3.2)lombok(1.18.28)knife4j(3.0.3)hutool(5.8.21),可以做到代码自动生成&#xff0c;满足最基本的增删查改。 一、新…

空时自适应处理用于机载雷达——额外的性能结果(Matla代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

js判断对象是否为空对象的方法总结

js判断对象是否为空对象的方法总结 方法1&#xff1a;JSON.stringify()方法方法2&#xff1a;for in方法方法3&#xff1a;Object.keys()方法方法4&#xff1a;Object.getOwnPropertyNames()方法方法5&#xff1a;jquery 的 isEmptyObject()方法 在面试或者开发过程中&#xff…

异或^实现数据加密

异或是一种二进制的位运算&#xff0c;符号以 XOR 或 ^ 表示。 1.1运算规则 相同为0&#xff0c;不同为1&#xff0c;即 1 ^ 1 0 0 ^ 0 0 1 ^ 0 1 由运算规则可知&#xff0c;任何二进制数与零异或&#xff0c;都会等于其本身&#xff0c;即 A ^ 0 A。 1.2 异或性质 …

linux使用不同的工具和命令来查看和放通允许访问的IP地址

在Linux系统中&#xff0c;您可以使用不同的工具和命令来查看和放通允许访问的IP地址。下面是一些常用的命令和方法&#xff1a; 查看当前开放的端口和规则&#xff1a; 使用 netstat 命令查看当前打开的端口和连接&#xff1a; Copy code netstat -tuln 使用 ss 命令也可以查…

SpringBoot初级开发--服务请求(GET/POST)所有参数的记录管理(8)

服务端在定位错误的时候&#xff0c;有时候要还原现场&#xff0c;这就要把当时的所有入参参数都能记录下来&#xff0c;GET还好说&#xff0c;基本NGINX都会记录。但是POST的请求参数基本不会被记录&#xff0c;这就需要我们通过一些小技巧来记录这些参数&#xff0c;放入日志…

eslint-plugin-import import/order 规则 说明

eslint-plugin-import import/order 规则 说明 "import/order": ["error",{groups: ["builtin", "external", "internal", "parent", "sibling", "index"],}, ],groups: 指定导入分组的顺序…

java 泛型作为方法的返回值的封装

问题背景 业务需要&#xff0c;经常需要http方式调用某服务&#xff0c;然后某服务返回特定类型的返回内容。 类似 String resStr xxxHttpClient.post() &#xff0c;然后它返回一个字符串&#xff0c;你还需要反序列化成某种格式的。 返回值可以反序列化成的形式如下&#…

软件设计师学习笔记5-流水线技术

目录 1.流水线的概念 2.流水线计算 2.1流水线周期及执行时间 2.2流水线吞吐量 1.流水线的概念 考点&#xff1a;相关参数计算&#xff1a;流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率(后两者的计算中级不考) 流水线是指在程序执行时多条指令重叠进行操作…

【C++】SLT——Vector详解

本片要分享的是关于STL中Vector的内容&#xff0c;Vector的内容于string非常相似&#xff0c;只要会使用string那么学习Vector时会非常流畅。 目录 1.vector介绍 2.vector的简单实用 2.1.简单的无参构造 ​编辑2.2.简单带参构造 2.3.迭代器区间初始化 2.4.vector的遍历 …

什么是OLAP

一、什么是OLAP OLAP&#xff08;On-line Analytical Processing&#xff0c;联机分析处理&#xff09;是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP&#xff08;On-line Transaction Processing&#xff0c;联机事务处理&…

C++ 构造函数、析构函数调用虚函数

C虚函数是通过虚表实现的&#xff0c;虚函数的地址记录在需表中&#xff0c;只对象完成构造完成后&#xff0c;虚函数的地址才最终确定。 构造函数中调用虚函数 基类先于派生类构造&#xff0c;所以构造时没法调用到派生类的虚函数&#xff0c;也就是说只能调用到自己&#x…

universal robot 机械臂 官方基本教程

https://academy.universal-robots.cn/modules/e-Series-core-track/Chinese/module3/story_html5.html?courseId2166&languageChinese 教程1 控制箱内部 包含&#xff1a; 主机板&#xff0c;SD卡&#xff0c;和安全控制板 安全控制板负责所有控制信息&#xff0c;包括…

GiraffeDet助力yolov8暴涨分---有可执行源码

Yolov8魔改–加入GiraffeDet模型提高小目标效果 VX搜索晓理紫关注并回复有yolov8-GiraffeDet获取代码 [晓理紫] 1 GiraffeDet模型 GiraffeDet是一种新颖的粗颈范例&#xff0c;一种类似长颈鹿的网络&#xff0c;用于高效的目标检测。 GiraffeDet 使用极其轻量的主干和非常深且…

C语言二——依次将10个数输入,要求将其中最大的数输出

这是一个简单的C语言程序&#xff0c;它会接受用户输入的10个整数&#xff0c;然后找出最大值并输出。 程序的执行步骤如下&#xff1a; 声明一个数组 n&#xff0c;用于存储用户输入的10个整数&#xff0c;声明一个变量 i 和 t。提示用户输入10个数。使用 for 循环&#xff…

你觉得 Android 还有必要继续吗?

前言 这些年&#xff0c;总是听到有人说Android 开发岗位要凉了&#xff0c;不好做了。坦白说&#xff0c;市场倾向理性&#xff0c;竞争变强是很正常的事。但你发现总有些人&#xff0c;他们拿的 Offer 薪资是更高的&#xff0c;能达到年薪五六十万&#xff0c;甚至年薪百万。…

SpringBoot常用的简化开发注解

一、引言 在Spring Boot框架中&#xff0c;有许多常用的注解可用于开发项目。下面是其中一些常见的注解及其功能和属性的说明&#xff1a; 1、RestController RestController 是 Spring Framework 中的一个注解&#xff0c;用于标识一个类是 RESTful 服务的控制器。它结合了…
最新文章