LangChain入门:19.探索结构化工具对话

引言

在人工智能的浪潮中,对话代理技术正逐渐成为企业和开发者关注的焦点。LangChain,作为对话代理领域的一颗新星,自2021年9月诞生以来,以其强大的功能和灵活的应用场景迅速赢得了市场的认可。本文将带你深入了解LangChain中的STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION代理类型,以及如何结合PlayWrightBrowserToolkit工具箱来自动完成特定的任务。

随着技术的发展,结构化工具对话代理展现出了巨大的潜力,它能够通过组合调用一系列工具,完成复杂的任务集合。无论你是开发者、数据分析师还是业务分析师,本文都将为你揭示如何利用这些工具来提升工作效率和自动化水平。

PlayWrightBrowserToolkit详解

PlayWrightBrowserToolkit是基于PlayWrightBrowser包封装的工具箱,它继承自BaseToolkit类,并为PlayWright浏览器提供了一系列的交互工具。这些工具支持同步和异步操作,使得与浏览器的交互变得更加灵活和高效。

代码实现与注释

# 安装依赖包
# pip install --upgrade --quiet playwright
# pip install --upgrade --quiet lxml
# 通过 playwright install 命令来安装三种常用的浏览器工具
# playwright install# 使用结构化工具对话代理
from langchain_community.agent_toolkits import PlayWrightBrowserToolkit
from langchain_community.tools.playwright.utils import create_async_playwright_browser# 创建异步浏览器实例
async_browser = create_async_playwright_browser()
# 初始化PlayWrightBrowserToolkit工具箱
toolkit = PlayWrightBrowserToolkit.from_browser(async_browser)
# 获取工具箱中的工具列表
tools = toolkit.get_tools()
print(tools)from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI# 初始化ChatOpenAI实例,替换为你的API密钥
llm = ChatOpenAI(openai_api_key='YOUR_API_KEY',base_url='https://api.chatanywhere.tech/v1',model='gpt-3.5-turbo',temperature=0,
)# 初始化代理,设置代理类型为结构化工具对话代理
agent_chain = initialize_agent(tools,llm,agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,verbose=True,
)# 定义异步主函数
async def main():# 运行代理并获取指定网页的标题目录response = await agent_chain.arun("What are the headers on python.langchain.com?")print(response)# 运行异步事件循环
import asyncio
loop = asyncio.get_event_loop()
loop.run_until_complete(main())

在这里插入图片描述在这里插入图片描述

结语

通过本文的介绍,我们了解到结构化工具对话代理的强大功能和灵活性。它不仅可以帮助我们自动化日常任务,还可以在数据处理和分析中发挥重要作用。随着技术的不断进步,我们期待看到更多创新的应用出现。

扩展阅读和资源

  • LangChain官方文档
  • PlayWrightBrowserToolkit GitHub页面

通过这些资源,你可以进一步探索和学习LangChain和结构化工具对话代理的相关知识。

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

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

相关文章

智慧公厕厂家,众多智慧公厕精品工程解读

智慧公厕,作为现代城市建设中的重要组成部分,正以其智能化、信息化的特点逐渐引起人们的关注。 一、什么是智慧公厕? 智慧公厕是什么?智慧公厕通过物联网、大数据、云计算、网络通信、自动化控制等技术,监测公厕内部…

深度学习知识点:卷积神经网络(CNN)

深度学习知识点:卷积神经网络(CNN) 前言卷积神经网络(CNN)卷积神经网络的结构Keras搭建CNN经典网络分类LeNetAlexNetAlexNet 对比LeNet 的优势? VGGVGG使用2个33卷积的优势在哪里?每层卷积是否只…

pip如何查看Python某个包已发行所有版本号?

以matplotlib包为例子, pip install matplotlib6666 6666只是胡乱输入的一个数,反正输入任意一个不像版本号的数字都可以~ matplotlib所有版本号如下, 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.2.1…

Web前端开发——Ajax,Axios概述及在Vue框架中的使用

前言: 整理下学习笔记,打好基础,daydayup!!! Ajax Ajax是什么? Ajax全称Asynchromous JavaScript And Xml,是异步的JavaScript和Xml。 Ajax的作用? 1,数据交换:通过Ajax可以给服务器…

Python统计分析库之statsmodels使用详解

概要 Python statsmodels是一个强大的统计分析库,提供了丰富的统计模型和数据处理功能,可用于数据分析、预测建模等多个领域。本文将介绍statsmodels库的安装、特性、基本功能、高级功能、实际应用场景等方面。 安装 安装statsmodels库非常简单,可以使用pip命令进行安装:…

交通部 JT/T 808(809 1076 1078 )车辆卫星定位系统 通信协议介绍

1 行业标准协议 1.1 官方网站 交通运输标准化信息系统 (mot.gov.cn) 附上官方下载地址: JT/T 808-2019 道路运输车辆卫星定位系统 终端通信协议及数据格式 JT/T 809-2019 道路运输车辆卫星定位系统 平台数据交换 JT/T 1076-2016 道路运输车辆卫星定位系统 车…

zehpyr环境搭建和demo的编译

qemu可执行固件编译的探索 环境demo的模拟SDK构建zephyr环境设置安装依赖项下载 Aspeed Zephyr 软件包 安装工具链配置 环境 ubuntu22.04、 qemu9.0.0-rc1、cmake 3.25.2、python 3.8.10、dtc 1.5.0、west 1.2.0、zephyr-sdk-0.16.1 demo的模拟 首先先尝试一个可以正常跑起来…

C#学习笔记11:winform上位机与西门子PLC网口通信_下篇

今日终于到了winform上位机与西门子PLC网口通信的系列收为阶段了,一直没一口气更新完,手头上也没有可以测试用的PLC设备,虚拟仿真用到的博图软件也不想下载(会让我电脑变卡)。 于是等了些日子购买西门子PLC&#xff0…

软件测试的4个职业阶段,你在哪个阶段?

最近一直在忙的项目刚刚上线交付完成,让自己有了些许喘息的时间。人总是这样,在忙碌的时候,能心无旁骛关注并做好一件事,已是万幸。而全力而为之后的闲暇总是如此的珍贵,在这难得的空隙中,不自觉的开始对自…

自动化测试-如何优雅实现方法的依赖

在复杂的测试场景中,常常会存在用例依赖,以一个接口自动化平台为例,依赖关系: 创建用例 --> 创建模块 --> 创建项目 --> 登录。 用例依赖的问题 • 用例的依赖对于的执行顺序有严格的要求,比如让被依赖的方…

市面上加密混淆软件的比较和推荐

引言 市面上有许多加密混淆软件可供开发者使用,但哪些软件是最好用的?哪些软件受到开发者的喜爱?本文将根据一次在CSDN上的投票结果,为大家介绍几款在程序员中普及度较高的加密软件。以下是投票结果,希望能对大家的选择…

JSON数据格式讲解与cJSON库的使用

文章目录 写在前面一、安装cJSON二、使用cJSON1、使用的文件2、如何传输数据:**** 三、JSON语法四、cJSON函数讲解1、cJSON结构体 **2、cJSON结构体与字符串之间的转换(重要)2.1、标题将cJSON结构体转换为字符串(常用)2.2、将字符串转为cJSON…

看看《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制山鸢尾萼片长度和萼片宽度的小提琴图

使用MATLAB绘制鸢尾花数据集( fisheriris)中山鸢尾( Iris Setosa)的萼片长度和 萼片宽度的小提琴图。这将帮助我们更好地了解山鸢尾的这两个特征的数据分布情况,包括它们的 中位数、四分位范围及密度估计。这种可视化工…

华为配置路由式Proxy ARP示例

配置路由式Proxy ARP示例 组网图形 图1 配置路由式Proxy ARP组网图 路由式Proxy ARP简介配置注意事项组网需求配置思路操作步骤配置文件 路由式Proxy ARP简介 企业内部进行子网划分时,可能会出现两个子网网络属于同一网段,但是却不属于同一物理网络的情…

C++ 类模板分文件编写

类模板分文件编写: 类模板成员函数 分文件编写 产生的问题以及解决方式是什么呢? 问题描述 类模板中**成员函数**创建时机是在**调用**阶段,导致分文件编写时**链接**不到 解决方案: 1、直接包含.cpp源文件: person…

【重磅更新】开源表单系统填鸭表单v5版发布!

亲爱的TDucker,你们好。 真诚感谢您对填鸭表单的关注与支持。今天我们将为您带来新版本的更新说明,以便您更好的使用我们的产品。 社区版版V5更新概览: ✅ 增加WebHook数据推送功能,集成TReport实现数据大屏展示。 ✅ 增加主题…

LeetCode-Java:303、304区域检索(前缀和)

文章目录 题目303、区域和检索(数组不可变)304、二维区域和检索(矩阵不可变) 解①303,一维前缀和②304,二维前缀和 算法前缀和一维前缀和二维前缀和 题目 303、区域和检索(数组不可变&#xff…

DateTimeFormat 和 JsonFormat 应用场景详解

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

【javaWeb 第七篇】后端-Spring

Spring SpringspringBoot请求简单参数实体参数数组集合参数日期参数JSON参数路径参数 响应数据分层解耦三层架构解耦操作Bean的声明Bean组件扫描问题DI详解 Spring 详细介绍结合官网查看:https://spring.io/why-spring Spring发展到今天已经形成一种开发生态圈&…

覆盖最全面的学术论文写作的70类细节150+ChatGPT提示词

点击下方▼▼▼▼链接直达AIPaperPass ! AIPaperPass - AI论文写作指导平台 这篇文章小编介绍了专门为论文写作定制的ChatGPT提示词,旨在激发创造力并为你的论文提供独特的想法和见解。通过简单的短语或指令,你可以解锁ChatGPT AI模型的潜力…