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

网页加载工具定义

我们首先就是要定义个可以加载到网页内容的工具,这次我们直接使用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%免费

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值