用Langchain创建一个可以总结网页内容的Agent

使用langchain与你自己的数据对话(一):文档加载与切割 今天我们学习了文本的加载与分割,Langchain提供了丰富的外部数据加载器,这些外部数据可以是结构化的,也可以是非结构化的,其中我们还介绍了从网页和youtube视频中加载文本的方法,这个挺有意思的,大家可以尝试一下,由于外部数据量可能比较大,如pdf, text文档等,因此当我们加载了外部数据以后,我们还需要对数据进行分割处理,我们介绍了几种文本分割的方法,其中有按字符分割的CharacterTextSplitter分割器,和递归分割的RecursiveCharacterTextSplitter分割器。 阅读详情

网页加载工具定义

我们首先就是要定义个可以加载到网页内容的工具,这次我们直接使用LangChain提供好的WebBaseLoader。另外借助LangChain的装饰器@tool,我也仅需要正常写一个函数并表明出入参类型和功能即可,不用提供像之前那样复杂的函数定义schema。

@tool
def web_loader(url: str) -> str:
    """抓取url对应网页的内容"""
    loader = WebBaseLoader(url)
    docs = loader.load()
    return docs[0].page_content

创建llm并绑定工具

llm = ChatOpenAI(model="gpt-3.5-turbo", max_tokens=4096)
tools = [web_loader]
llm_with_tools = llm.bind_tools(tools)

llm我使用的是OpenAi的gpt3.5,你也可以使用其他模型,另外ChatOpenAI有很多其他参数可调,你可以按自己需求调整。这里最关键的一步,就是需要将llm和工具用bind_tools()绑定在一起,不绑定的话后续llm是不知道有哪些tool可以调用的。

创建prompt

有些同学说prompt不是就一句话的事吗,还需要单独写! 我开始也是随意创建了一个prompt,结果调用报错了。 原来带有函数调用Agent的prompt是有特殊要求的,其中除了要包含input之外,还需要包含agent_scratchpad占位符,agent_scratchpad的作用就是在prompt留出函数调用中间结果的位置:

prompt = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            "你是一个擅长对长文做总结的智能助手,可以精确提炼出长文中的要点。注意,请使用markdown格式返回结果。",
        ),
        ("placeholder", "{chat_history}"),
        ("user", "{input}"),
        MessagesPlaceholder(variable_name="agent_scratchpad"),
    ]
)

创建Agent并执行

agent 可以直接调用LangChain提供的create_tool_calling_agent方法,创建。

agent = create_tool_calling_agent(llm_with_tools, tools, prompt)

agent创建好之后,必须创建agent执行器才可以执行,这里直接实例化AgentExecutor即可。

agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=False)

直接invoke下就可以看到我们想要的结果了~~

agent_executor.invoke(
    {
        "input": "这个链接讲了什么内容? https://blog.youkuaiyun.com/xindoo/article/details/138356308?spm=1001.2014.3001.5501"
    }
)


{'input': '这个链接讲了什么内容? https://blog.youkuaiyun.com/xindoo/article/details/138356308?spm=1001.2014.3001.5501',
 'output': '这篇博文介绍了一个命令行工具ShellGPT,它是一个开源软件,可以帮助用户快速生成 shell 命令、代码片段和文档,无需再依赖外部资源(如 Google 搜索)。以下是该文章的主要内容:\n\n- ShellGPT的配置安装:支持 Linux、macOS、Windows 等操作系统,安装简单,只需使用pip安装即可。\n- 函数调用:ShellGPT允许执行系统中的函数,如播放音乐、打开网页或执行 shell 命令。提供了一些高级配置选项。\n- 角色管理:用户可以创建自定义角色,这些角色可以用来生成代码、执行 shell 命令或满足特定需求。用户可以使用命令指定特定的角色执行指令。\n- 聊天功能:用户可以和GPT进行聊天,支持单轮聊天和多轮聊天模式。\n- 写命令并执行:用户可以借助GPT的编码能力写脚本或命令,并执行。\n- 其他功能:文章提及了一些其他细节和功能,如如何通过 API从 0 到 1 构建本地 GPTs、GPT每日面试题等。\n\n总的来说,ShellGPT是一个实用的工具,可以帮助用户在命令行环境下更高效地生成命令和代码,同时还提供了一些高级功能和配置选项。'}

至此我们就完整的创建了一个可以总结网页内容的Agent,完整代码我放Github github.com/xindoo/Lang…上了,有需要可以自取。 在这里插入图片描述

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

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

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

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

使用LangChain、LangGraph和LangSmith来创建AI Agent 阅读详情

相关推荐

【LangChain Agent 】详解,构建自主决策的 LLM 应用

LangChain是一个用于构建基于大语言模型(LLM)应用的强大开发框架,特别适合创建智能问答、聊天机器人、自动化助手等 AI 驱动的应用。🚀 核心功能链式组合(Chain)可以将多个模块(例如:Prompt、模型调用、解析器等)链接在一起,形成一条“处理链”。上下文记忆(Memory)能保存用户的对话历史,实现连续对话或任务跟踪。工具集成(Tools)集成搜索引擎、数据库、API 调用等外部工具,让语言模型更具执行力。Agent(智能体)支持。

博客虽小,世界尽在其中 1748

AI工程化必修课:LangChain框架与智能体开发最佳实践

本课程是面向AI工程师的工业级开发训练体系,系统讲解如何基于LangChain框架构建企业级人工智能应用。课程采用基础框架→知识工程→智能体系统三阶递进设计,涵盖大语言模型应用开发全技术栈L1 大语言模型开发框架深入解析LangChain核心架构,包括:LCEL表达式语言开发规范ModelsIO模块(Prompts/LLM/OutputParsers)企业级提示词工程实践▌L2 RAG知识工程体系构建生产级检索增强生成系统:向量数据库集成与优化文档切割与检索策略基于需求文档的测试答疑助手实战▌L3 智能体开发框架开发自主决策的AI Agent系统:LangGraph多智能体协调MCP协议工具开发标准数据库操作/网页爬取智能体实战▌课程特色✓ 源自头部AI企业的工程方法论✓ 包含6个工业级项目实战案例✓ 提供企业私有化部署解决方案

LangChain实战(十八):构建ReAct模式的网页内容摘要与分析Agent

本文介绍了如何基于LangChain的ReAct模式构建智能网页内容分析Agent,可自动提取网页核心内容、生成摘要并进行深度分析。文章首先阐述了ReAct模式原理(推理-行动-观察循环)和网页内容分析的五大挑战,包括内容提取、信息过滤等。随后详细说明了环境配置步骤,包括安装必要的Python库和设置API密钥。核心部分展示了一个WebContentExtractor类的实现,该类整合了newspaper3k和BeautifulSoup两种技术,通过多级内容提取策略(优先使用newspaper3k解析,失败

厚积薄发的博客 983

从0到1开发AI Agent(智能体)| LangChain 的快速入门

1. LangChain是什么?(示例代码基于v0.3版本)2. LangChain全景3. 优点4. 注意事项5. LCEL(LangChain Expression Language)(示例)6. LangChain 的核心功能7. LangChain和Agent开发AI Agent,即人工智能代理,一般直接叫做。是一种能够的系统。这些系统能够执行被动的任务,也能够主动寻找解决问题的方法,适应环境的变化,并在没的情况下做出决策。

2401_85373691的博客 2835

langchain—创建Agent

自定义工具来构建Agent时,通常要定义好函数,再根据函数创建工具。可以回答用户的多个问题# 定义查询订单状态的函数return "订单 1024 的状态是:已发货,预计送达时间是 3-5 个工作日。else:return f"未找到订单 {order_id} 的信息,请检查订单号是否正确。# 定义退款政策说明函数return "我们的退款政策是:在购买后7天内可以申请全额退款,需提供购买凭证。# 创建自定义工具,如果不是内置工具则需要定义函数,且写成下面的形式。

2201_76050230的博客 1042

通过 AgentExecutor 封装 tools 至 Langchain Agent 及 Memory Agent 的使用 【Langchain Agent】

本文总结了如何使用 Langchain 的 AgentExecutor 封装 tools, 构造我们自己的 Agent, 然后通过 LLM 调用,或者通过 Agent 调用,最后总结了如何让我们的 Agent 带有记忆功能,可以保存历史对话记录,这里为了简单就没有使用实际的数据库,实际生产中还是要使用数据库去保存这些信息的,感兴趣的朋友可以尝试下。

奔跑的蜗牛的博客 3168

轻松上手 LangChain 开发框架之 Agent 技术 !!

▼最近直播超级多,预约保你有收获—1—Agent 技术剖析Agent 这一模块在 LangChain 的使用过程中也是十分重要的。官方文档是这样定义它的:“The core idea of agents is to use a language model to choose a sequence of actions to take. In chains, a sequence of acti...

musicml的博客 2195

基于LangChain的LLM应用开发 - Agent

在计算机科学中,Agent是一种可以在某种环境中自主行动以达成特定目标的软件实体。Agent可以感知其环境,并根据其设计的目标和策略,对环境进行操作以达成目标。Agent的设计和实现涉及到多个领域,包括人工智能、机器学习、分布式系统等。Agent的基本特性包括:自主性:Agent可以在没有人工干预的情况下独立完成任务。反应性:Agent可以感知其环境,并根据环境的变化做出相应的反应。主动性:Agent不仅可以对环境变化做出反应,还可以主动地改变环境以达成其目标。

xinfeng118的博客 2673

langChain开发你的第一个 Agent

LangChain是一个强大的框架,它让开发者能够轻松构建基于大语言模型(LLM)的应用。就像乐高积木一样,LangChain提供了各种可组合的组件,让你能够快速搭建复杂的AI应用。它解决了单纯使用API调用LLM时的诸多限制,比如上下文管理、工具使用等问题。// 导入LangChain核心组件// 初始化LLMopenAIApiKey: "你的API密钥"});// 创建一个文件读取工具description: "读取指定路径的文本文件内容",try {

u013257321的博客 1616

PDMS二次开发入门:手把手教你用PML2写第一个交互式窗体工具

本文详细介绍了如何使用PML2进行AVEVA PDMS二次开发,从零开始构建交互式窗体工具。通过PML2语言的面向对象特性、即时调试能力和深度系统集成优势,开发者可以高效创建自动化设计工具、批量修改属性和定制报表系统。文章包含开发环境配置、基础语法、窗体架构设计、事件处理等实战内容,帮助读者快速掌握PDMS二次开发技能。

weixin_29281941的博客 271

FRM模型五:Brinson业绩归因

利用Brinson对基金组合业绩进行归因分析。

stonesssssss的博客 3006

利用Langchain构建网页内容摘要Agent

我们首先就是要定义个可以加载到网页内容的工具,这次我们直接使用LangChain提供好的WebBaseLoader。另外借助LangChain的装饰器@tool,我也仅需要正常写一个函数并表明出入参类型和功能即可,不用提供像之前那样复杂的函数定义schema。@tool"""抓取url对应网页的内容"""

2401_85343303的博客 969

【3D目标检测】激光雷达和相机联合标定(一)——ROS同步解包

激光雷达和相机联合标定(一)——ROS同步解包

qq_44703886的博客 4235

用LangChain实现一个Agent

上面,我们抛开了 LangChain,基于 OpenAI Python 程序库实现了一个 Agent,主要是为了让你更好地理解 Agent 的运作机理。其中最核心的部分就是一个循环,不断地执行各种动作,直到判断运行的结果是停下来。现在,你已经知道了 Agent 是怎样运作的,这一讲,我们再回来看看如何用 LangChain 实现一个 Agent,相信有了之前的铺垫,这一讲的代码就比较容易理解了。基于 LangChain 实现的 Agent工具。

xxue345678的博客 1777

PIPE Interface解析之PIPE SerDes/Original架构

PIPI Interface;SerDes架构;Original架构;PHY Tx结构;PHY Rx结构;

weixin_45176819的博客 2606

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3066

基于LangChain构建一个简单的Agent代理

本文说明如何基于LangChain构建一个简单的Agent代理;使用OpenAi模型和TAVILY搜索。 该Agent代理具备读取历史信息的能力。

java_lover222的博客 1157

2023年美高赛HiMCM:A题蒲公英 思路

蒲公英,通常称为蒲公英,是一种原产于欧亚大陆的植物,现在在世界各地都可以找到[1]。这种植物很容易通过其亮黄色的花朵(图1)和独特的“马勃”种子头(图2)来识别。该头部的每颗种子都附着在一个类似降落伞的结构上,称为“冠毛”,有利于风的传播[2]。如果处于“马勃”阶段的单个蒲公英毗邻一块开阔的一公顷土地,请创建一个数学模型来预测蒲公英在 1、2、3、6 和 12个月内的传播情况。确保您的模型考虑了各种气候条件(例如温带、干旱和热带气候)对蒲公英生长的影响。2. 蒲 公英、人类和其他植物之间的关系很复杂。

斌擎科技 7403

langchain系列之基于create_react_agent 创建一个Agent

create_react_agent 是用于构建基于 ‌ReAct(思考-行动)模式‌ 的智能代理(Agent)的核心函数,其作用是将大语言模型(LLM)与工具调用能力结合,实现动态任务处理

sinat_35153174的博客 7370

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 813

GPFS扩展技术原理(十一)-FMDN广播与EID加解密

GFPS扩展技术原理(十一)FMDN广播及EID加解密

十多年蓝牙协议软件开发,擅长蓝牙协议分析 935

AI-创建一个Agent

首先需要创建要使用的工具。我们将使用两个工具:Tavily(用于在线搜索)以及我们将创建的本地索引检索器创建在线搜索工具输出结果为创建本地本地索引检索器工具#加载一篇blog作为本地知识库#对知识库进行拆分#加载检索引擎#创建检索工具retriver,",

qq_29983883的博客 1651

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 市面上唯一一本全面解析Transformer的书《Transformer、BERT、GPT 大语言模型原理深度解析》从入门到精通,真是太太太全面了!
下一篇: 强烈建议AI产品人抓住这个风口!(重大利好)
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值