在前面介绍了 LangChain的基本使用方法,但是学习LangChain的最终目的是在实战中建立智能体进行应用,所以接下来我们将前面的理论带入实战。
一、 Agent + LangChain内置工具快速搭建智能体
在人工智能领域,构建具备多样化能力的智能体(Agent)已成为提升应用智能化水平的关键。LangChain 作为一个开源框架,提供了强大的工具集和灵活的架构,支持开发者快速构建和部署智能体应用。
本文将探讨如何借助 LangChain 的 Agent 模块和内置工具,快速搭建具备多种功能的智能体。通过集成第三方工具和 LangChain 提供的内建工具,开发者可以实现从信息查询到任务执行等多种功能,极大地提升开发效率。
在接下来的内容中,我们将详细介绍如何使用 LangChain Agent 模块,结合内置工具,构建一个能够处理多种任务的智能体。
1.1 工具测试
- LangChain支持的内部工具集合
- 准备工作:pip install -qU langchain-tavily -i https://pypi.tuna.tsinghua.edu.cn/simple
- TAVILY_API_KEY注册
代码解读
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
from langchain_community.tools.tavily_search import TavilySearchResults
search = TavilySearchResults(max_results=3)
C:\Users\Administrator\AppData\Local\Temp\ipykernel_6448\1731400840.py:1: LangChainDeprecationWarning: The class `TavilySearchResults` was deprecated in LangChain 0.3.25 and will be removed in 1.0. An updated version of the class exists in the :class:`~langchain-tavily package and should be used instead. To use it run `pip install -U :class:`~langchain-tavily` and import as `from :class:`~langchain_tavily import TavilySearch``.
search = TavilySearchResults(max_results=3)
导入了TavilySearchResults类,负责执行搜索操作并返回结果。这里创建了一个TavilySearchResults类的实例,max_results=3表示每次搜索返回最多3个结果。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
search.invoke("通义千问最新一代模型")
[{'title': '通义千问新模型:在巨头围猎中,是破局利器还是营销噱头? - OFweek',
'url': 'https://m.ofweek.com/ai/2025-05/ART-201700-8500-30663187.html',
'content': '一方面,新一代通义千问开源模型Qwen3在开源模式、技术优化、应用拓展等方面的探索,为行业发展带来新思路和新方向。例如,其在 Agent 场景的探索和优化,为构建智能体生态提供了重要支持,推动 AI 技术在智能体领域的应用和发展。\n\n据了解,通义已开源 200 余个模型,全球下载量超 3 亿次,千问衍生模型数超 10 万个,超越美国 Llama,成为全球第一开源模型。众多开发者的积极参与,如同为阿里 AI 生态注入了源源不断的新鲜血液,形成了一个充满活力、自我进化的开发者生态系统。\n\n另一方面,新一代通义千问开源模型Qwen3 的发展,也将促使行业内的其他企业加大研发投入,加速技术创新和应用落地,促进整个 AI 行业的繁荣。\n\nAI 行业的竞争本就异常激烈,Qwen3 的加入,无疑让这场竞争变得更加白热化。它在性能、架构设计、开源策略等方面展现出的独特优势,给行业内其他企业带来了巨大的竞争压力。为了在这场竞赛中不被淘汰,竞争对手们不得不加大研发投入,加快技术创新的步伐。 [...] # 通义千问新模型:在巨头围猎中,是破局利器还是营销噱头?\n\n蛇眼财经\n\n关注\n\n在全球 AI 竞赛这场没有硝烟却战况惨烈的“世界大战”中,各大科技巨头带着升级后的大模型猛烈冲锋,试图在行业高地插上自家旗帜。就在这白热化的角逐当口,阿里新一代通义千问开源模型 Qwen3 强势登场,引发广泛关注。\n\n从架构设计来看,Qwen3 采用的混合专家(MoE)架构独具匠心,堪称其冲锋陷阵的“秘密武器”;在数据层面,Qwen3预训练数据量飙升至 36T tokens,近乎前代 Qwen2.5 的三倍之多;在部署成本方面,Qwen3 仅需 4 张 H20 即可部署满血版,显存占用仅为性能相近模型的三分之一。\n\n那么,通义千问开源模型 Qwen3 真能在这强者林立的战场中“大杀四方”吗?\n\n亮点背后的“小瑕疵”\n\n尽管 Qwen3 在发布时展现出诸多亮点,但其自身也存在一些亟待解决的问题。\n\n在模型性能方面,虽然 Qwen3 在推理、指令遵循等方面有显著提升,但在一些复杂任务和特定领域的表现仍有待加强。 [...] 这种竞争效应如同一场行业创新的“加速器”,促使整个 AI 行业在技术、产品和应用等各个层面不断推陈出新,推动行业整体向前发展。\n\n综上所述,尽管新一代通义千问开源模型Qwen3需在数据实时性、多模态生成等领域补齐短板,但其上线,无论是对于阿里自身的 AI 布局,还是整个 AI 行业的发展,都具有不可估量的价值。未来,新一代通义千问开源模型Qwen3或将成为智能体时代的核心基础设施,推动AI从“工具”向“伙伴”进化。\n\n原文标题 : 通义千问新模型:在巨头围猎中,是破局利器还是营销噱头?\n\n声明:\n本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。\n \n侵权投诉;)\n\n下载OFweek,一手掌握高科技全行业资讯;)\n\n## 相关推荐\n\n通义千问\nGPT4\n阿里云',
'score': 0.8335554},
{'title': '现在,最会赚钱的AI是Qwen3!全球六大模型厮杀,Top 2来自中国转载',
'url': 'https://blog.youkuaiyun.com/cf2SudS8x8F0v/article/details/153899460',
'content': '阿里云ModelScope社区推出的通义千问Qwen3是其最新一代大规模语言模型,具备密集型和专家混合(MoE)模型。Qwen3在推理、指令执行、代理能力和多语言支持方面取得显著进展,支持100多种语言,并在数学、代码生成和常识逻辑推理方面表现优异。模型支持思考模式和非思考模式切换,优化了对话体验和代理任务性能。开发部署方面,ModelScope提供了详细的开发环境搭建指南,支持使用SGLANG和VLLM运行环境进行模型部署。此外,Qwen3还支持通过MCP协议进行工具调用,增强了模型的实用性和灵活性。\n\n【AI大模型】大模型测评,深度解析最强开源模型Qwen3\n\nAUG2468的博客\n\n05-06\n\n1566\n\n一、基础介绍4月29日,在经历了claude 3.7 ,Gemini 2.5 和 GPT 4.1 模型发布之后,通义千问终于正式发布了Qwen3系列模型,凭借仅需 DeepSeek R1 模型三分之一的硬件成本,实现了性能的全面超越,同时追平了全球顶尖的 Gemini 2.5 Pro,同时还搭载了mcp能力。 [...] 04-30\n\n内容概要:Qwen3是由阿里巴巴通义千问团队发布的最新一代开源大语言模型(LLM),它凭借独特的混合推理模式(思考模式与非思考模式)、强大的多语言支持、优化的智能体能力以及显著降低的部署成本,迅速成为全球开源...\n\n小而强大,阿里开源全球最强开源模型 Qwen3!\n\n2301\\_81940605的博客\n\n05-02\n\n801\n\n小而强大,阿里开源全球最强开源模型 Qwen3!\n\n全球开源模型冠军Qwen3:10分钟快速上手指南!\n\nm0\\_63171455的博客\n\n05-15\n\n951',
'score': 0.83290404},
{'title': '阿里开源新一代通义千问模型Qwen3 - 世界互联网大会',
'url': 'https://cn.wicinternet.org/2025-05/22/content_38040905.htm',
'content': '首页 > 新闻中心 > 行业新闻\n\n# 阿里开源新一代通义千问模型Qwen3\n\n2025-05-22来源:人民邮电报\n\nShare - WeChat\n\n近日,阿里巴巴开源新一代通义千问模型Qwen3(以下简称“千问3”),参数量仅为DeepSeek-R1的1/3,成本大幅下降。多项评测结果显示,千问3性能全面超越Deep-Seek-R1、OpenAI-o1等顶尖模型。 [...] 据悉,千问3是国内首个“混合推理模型”,“快思考”与“慢思考”集成于同一个模型,对简单需求可低算力“秒回”答案,对复杂问题可多步骤“深度思考”,大大降低算力消耗。得益于混合专家(MoE)架构,千问3总参数量为235B,激活仅需22B。千问3预训练数据量达36T,并在后训练阶段多轮强化学习,将非思考模式无缝整合到思考模型中。千问3在推理、指令遵循、工具调用、多语言能力等方面的性能均大幅增强,创下所有国产模型及全球开源模型的性能新高:在奥数水平的AIME25测评中,千问3斩获81.5分,刷新开源纪录;在考察代码能力的LiveCodeBench评测中,千问3突破70分大关,表现甚至超过Grok3;在评估模型人类偏好对齐的ArenaHard测评中,千问3以95.6分超越OpenAI-o1及DeepSeek-R1。性能大幅提升的同时,千问3的部署成本还大幅下降,仅需4张H20即可部署千问3满血版,显存占用仅为性能相近模型的三分之一。',
'score': 0.7646988}]
这行代码执行了搜索,查询内容为“通义千问最新一代模型”。invoke方法触发搜索,并返回与该查询相关的结果。
搜索结果是一个包含多个字典的列表,每个字典包含以下字段:
- title:文章或页面的标题。
- url:文章或页面的链接。
- content:文章内容的简要摘录。
- score:一个相关度分数,表示该结果与查询的匹配程度。
1.2 LangChain封装
使用LangChain进行搜索
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
from langchain.agents import AgentExecutor, create_tool_calling_agent, tool
from langchain_core.prompts import ChatPromptTemplate
from langchain.chat_models import init_chat_model
tools = [search]
prompt = ChatPromptTemplate.from_messages(
[
("system", "你是一名助人为乐的助手,并且可以调用工具进行网络搜索,获取实时信息。"),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
]
)
# 初始化模型
model = init_chat_model("deepseek-chat", model_provider="deepseek")
agent = create_tool_calling_agent(model, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
agent_executor.invoke({"input": "请问最新一代的通义千问大模型是什么?"})
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
[1m> Entering new AgentExecutor chain...[0m
[32;1m[1;3m
Invoking: `tavily_search_results_json` with `{'query': '通义千问最新一代大模型 2024'}`
responded: 我来帮您搜索关于最新一代通义千问大模型的信息。
[0m[36;1m[1;3m[{'title': '大模型月度回顾· 2024年8月 - 知乎专栏', 'url': 'https://zhuanlan.zhihu.com/p/718381242', 'content': '> 日期:8 月 29 日\n> \n> 介绍: g/qwen2-vl/\n\nImage 18\n\n阿里通义千问团队发布了最新一代的 视觉语言模型 Qwen2-VL,该模型在多模态AI领域取得显著进步。Qwen2-VL 基于Qwen2构建,具备处理不同分辨率和长宽比图片的能力,并能解析长视频内容。它支持多语言文本的理解,包括大多数欧洲语言、日语、韩语、阿拉伯语和越南语等,使其成为全球用户的强大工具。该模型在多个视觉理解基准测试中表现优异,尤其在文档理解方面超越了现有的闭源模型。\n\nQwen2-VL 的架构实现了对原生动态分辨率的全面支持,能够处理任意分辨率的图像输入,模拟人类视觉感知的自然方式。此外,它还引入了多模态旋转位置嵌入(M-ROPE),增强了模型处理和推理多模态数据的能力。模型已在Hugging Face和ModelScope上开源,提供了包括量化工具、部署工具和微调工具在内的丰富开源生态支持。\n\n### Meta 公布其开源大模型 Llama 系列的最新成绩单\n\n> 时间:8 月 29 日\n> \n> 链接:\n\nImage 19 [...] 阿里通义千问团队发布了新一代的 多模态大模型 Qwen2-Audio,该模型能够直接接受音频和文本输入,并生成文本输出。Qwen2-Audio 支持语音聊天功能,允许用户通过语音向模型发出指令,无需自动语音识别(ASR)模块的介入,同时具备音频分析能力,能够根据文本指令分析语音、声音、音乐等多种音频信息。此外,Qwen2-Audio 还支持超过8种语言和方言,包括中文、英语、粤语、法语、意大利语、西班牙语、德语和日语,为用户提供了更多样化的交互体验。\n\nQwen2-Audio 已经在多个基准数据集上进行了测试,显示出其在语音识别和音频分析任务中的卓越性能,相较于前代 Qwen-Audio 和其他先进模型,Qwen2-Audio 在所有任务中都有显著的性能提升。模型结构和训练范式方面,Qwen2-Audio 采用了 Qwen 语言模型和音频编码器作为基础模型,通过多任务预训练实现音频与语言的对齐,并利用 SFT 和 DPO 技术来掌握下游任务并捕捉人类偏好。\n\n### Google 发布与 Gemini 深度结合的AI硬件全家桶 [...] > 日期:8 月 29 日\n> \n> 介绍:\n\nImage 17\n\n中国科学院地球化学研究所与阿里云在2024年数博会上联合发布了国际首个“月球科学多模态专业大模型”(简称“月球专业大模型”),这是专门针对月球科学研究的AI大模型。该模型基于阿里云通义系列模型构建,通过结合视觉、多模态及自然语言等技术,并利用RAG检索增强等技术进行微调训练,目前主要应用于月球撞击坑的识别,准确率已达到80%以上。这一大模型的应用将显著提高科研效率,有助于科研工作者从大量月球数据中挖掘新的科学发现,推动月球与行星科学研究的进展。\n\n月球专业大模型的发布,是AI技术在天文学领域应用的重要里程碑,它将嵌入“数字月球云平台”,与FAST等大科学装置一起,成为科研基础设施的重要组成部分。该平台由中国科学院地化所牵头建设,是国际上月球探测数据最全的云平台之一,集科学研究、工程应用及科普教育为一体。通过这一平台,科研人员可以更加高效地处理和分析月球数据,加速月球地质演化等科学研究的进程。\n\n### 阿里通义千问开源最新一代视觉语言模型 Qwen2-VL', 'score': 0.85157084}, {'title': '阿里云通义千问开源新模型:多模态能力再突破 - 优快云博客', 'url': 'https://blog.youkuaiyun.com/shaobingj126/article/details/152565035', 'content': '2401\\_85373396的博客\n\n07-24\n\n1582\n\n这几天阿里发布了最新的通义千问大模型:通义千问2.5,据说其性能超越了GPT4的某个版本。大家可能都知道GPT4是地球上最强的大语言模型,各方面的表现都十分优秀。\n\n不止强一点!阿里千问3全系震撼登场,开源大模型格局要变天?\n\n10-25\n\n开源AI的格局,很可能因为Qwen3的到来而发生深刻改变。一个更加开放、更加强大、更加触手可及的AI时代,似乎正加速向我们走来。你准备好迎接这场由千问3引领的技术浪潮了吗? 资源链接: QwenChat:https://chat.qwen.ai/ Github:https://github.com/QwenLM/Qwen3 ...\n\n通义千问Qwen3使用方法详解\\_qwen3多模态输入\n\n10-24\n\n通义千问Qwen3使用方法详解 一、基础使用(普通用户) 访问官网 打开通义千问官方网站:通义- 你的实用AI助手,体验智能问答、文本生成等功能。 注册与登录 支持淘宝/支付宝账号快捷登录,或通过手机号/邮箱注册。 登录后可使用智能问答、知识图谱、文本生成等核心功能。 [...] 通义千问(Qwen):阿里云打造的全能AI大模型\n\nsmileKH的博客\n\n06-22\n\n4833\n\n等多模态能力,旨在提供智能化服务。自2023年4月发布以来,通义千问持续迭代,已成为国内领先的AI大模型之一,并在多个国际基准测试中超越Meta Llama、GPT-4V等国际竞品。,已成为国内最强大的AI大模型之一。无论是个人用户还是企业开发者,都能从中受益。未来,随着AI技术的进步,通义千问有望进一步挑战国际顶尖模型,推动AI普惠化发展。2024年5月,通义千问2.5版本在。通义千问(Qwen)是。,中文能力持续领先。\n\n阿里通义千问是阿里云推出的一款超大规模多模态大语言模型平台,具有以下特点和功能\n\nBLOG域名:programb.blog.youkuaiyun.com\n\n07-07\n\n1767\n\n### 特定模型语言支持\n- \\\\通义千问OCR模型\\\\:支持英语、法语、日语、韩语、德语、俄语和意大利语。\n- \\\\通义千问ASR模型(Beta版本)\\\\:支持中文和英文。\n- \\\\通义千问语音合成模型\\\\:支持中文、英文和中英混合。\n\n通义千问VS GPT4:人工智能的新一轮较量 [...] 2401\\_85375151的博客\n\n01-13\n\n1982\n\n阿里发布了最新的通义千问大模型:通义千问2.5,据说其性能超越了GPT4的某个版本。大家可能都知道GPT4是地球上最强的大语言模型,各方面的表现都十分优秀。\n\n阿里云-基于通义千问的领域模型最佳实践:构建高效领域大模型的技术路径与应用案例分析\n\n08-06\n\n内容概要:本文介绍了阿里云智能飞天实验室基于通义千问(Qwen)的领域模型最佳实践,探讨了人工智能从早期专家系统到现代深度学习的发展历程,并展望了通用人工智能(AGI)的未来。文章详细描述了Qwen系列模型及其...\n\n阿里通义千问测评:国内一线,积极追赶.pdf\n\n04-11\n\n2023年4月7日,阿里开始了通义千问大语言模型的内测阶段,这背后是阿里在NLP、超大模型、多模态能力、低碳训练、平台化服务和落地应用等多个方面的多年研发投入。 自2019年起,阿里开始研发大模型,当年发布的...\n\n阿里云百炼平台支持哪些大模型?通义千问、DeepSeek等269种模型\n\nfacaixxx2024的博客\n\n02-20\n\n2148', 'score': 0.79369855}, {'title': '通义千问大语言模型介绍 - 阿里云文档', 'url': 'https://help.aliyun.com/zh/model-studio/what-is-qwen-llm', 'content': '| | | | | | | | |\n --- --- --- --- |\n| 模型名称 | 版本 | 上下文长度 | 最大输入 | 最大输出 | 输入成本 | 输出成本 | 免费额度 (注) |\n| (Token数) | (每千Token) |\n| 当前与qwen-max-2024-09-19能力相同 Batch调用半价 | 稳定版 | | | | 0.0024元 | 0.0096元 | 各100万Token 有效期:百炼开通后90天内 |\n| 始终与最新快照版能力相同 Batch调用半价 | | | |\n| 又称qwen-max-0125、Qwen2.5-Max | 快照版 |\n| 又称qwen-max-0919 | 32,768 | 30,720 | 0.02元 | 0.06元 |\n\n> 最新的qwen3-max模型:相较qwen3-max-preview版本,在智能体编程与工具调用方向进行了专项升级。本次发布的正式版模型达到领域SOTA水平,适配场景更加复杂的智能体需求。 [...] | | | | | | | | |\n --- --- --- --- |\n| 模型名称 | 版本 | 上下文长度 | 最大输入 | 最大输出 | 输入成本 | 输出成本 | 免费额度 (注) |\n| (Token数) | (每千Token) |\n| qwen-audio-turbo 当前等同qwen-audio-turbo-2024-08-07 | 稳定版 | 8,000 | 6,000 | 1,500 | 目前仅供免费体验。 免费额度用完后不可调用,推荐使用Qwen-Omni作为替代模型 | 10万Token 有效期:阿里云百炼开通后90天内 |\n| qwen-audio-turbo-latest 始终等同最新快照版 | 最新版 | 8,192 | 6,144 | 2,048 |\n| qwen-audio-turbo-2024-12-04 又称qwen-audio-turbo-1204 较上个快照版本大幅提升语音识别准确率,且新增了语音聊天能力。 | 快照版 | [...] | | | | | | | | | | | |\n --- --- --- --- --- \n| 模型名称 | 版本 | 支持的语言 | 支持的格式 | 支持的采样率 | 上下文长度 | 最大输入 | 最大输出 | 输入成本 | 输出成本 | 免费额度 (注) |\n| (Token数) | (每千Token) |\n| qwen-audio-asr 当前等同qwen-audio-asr-2024-12-04 | 稳定版 | 中文、英文 | 音频 | 16kHz | 8,192 | 6,144 | 2,048 | 目前仅供免费体验。 免费额度用完后不可调用,推荐使用 Qwen3 ASR。 | 10万Token 有效期:阿里云百炼开通后90天内 |\n| qwen-audio-asr-latest 始终等同最新快照版 | 最新版 |\n| qwen-audio-asr-2024-12-04 | 快照版 |\n\n### 通义千问数学模型\n\n通义千问数学模型是专门用于数学解题的语言模型。使用方法 | API参考 | 在线体验', 'score': 0.7917732}][0m[32;1m[1;3m
Invoking: `tavily_search_results_json` with `{'query': '通义千问Qwen3 最新版本 2024 2025'}`
responded: 让我再搜索一下更具体的关于通义千问最新版本的信息。
[0m[36;1m[1;3m[{'title': '通义千问大语言模型介绍 - 阿里云文档', 'url': 'https://help.aliyun.com/zh/model-studio/what-is-qwen-llm', 'content': '2025 年 7月发布的 qwen3-235b-a22b-instruct-2507、qwen3-30b-a3b-instruct-2507 模型仅支持非思考模式,是qwen3-235b-a22b(非思考模式)与qwen3-30b-a3b (非思考模式)的升级版。\n\n2025 年 4月发布的 Qwen3 模型支持思考模式和非思考模式,您可以通过 `enable_thinking` 参数实现两种模式的切换。除此之外,Qwen3 模型的能力得到了大幅提升:\n\n1. 推理能力:在数学、代码和逻辑推理等评测中,显著超过 QwQ 和同尺寸的非推理模型,达到同规模业界顶尖水平。\n2. 人类偏好能力:创意写作、角色扮演、多轮对话、指令遵循能力均大幅提升,通用能力显著超过同尺寸模型。\n3. Agent 能力:在推理、非推理两种模式下都达到业界领先水平,能精准调用外部工具。\n4. 多语言能力:支持100多种语言和方言,多语言翻译、指令理解、常识推理能力都明显提升。\n\n 支持的语言 [...] | | | | | | | | |\n --- --- --- --- |\n| 模型名称 | 版本 | 上下文长度 | 最大输入 | 最大输出 | 输入成本 | 输出成本 | 免费额度 (注) |\n| (Token数) | (每千Token) |\n| qwen-turbo-2025-02-11 又称qwen-turbo-0211 | 快照版 | 1,000,000 | 1,000,000 | 8,192 | 0.0003元 | 0.0006元 | 各100万Token 有效期:百炼开通后90天内 |\n| qwen-turbo-2024-11-01 又称qwen-turbo-1101 | 1000万Token 有效期:百炼开通后90天内 |\n| qwen-turbo-2024-09-19 又称qwen-turbo-0919 | 131,072 | 129,024 | 各100万Token 有效期:百炼开通后90天内 | [...] | | | | | | | | | | | |\n --- --- --- --- --- \n| 模型名称 | 版本 | 支持的语言 | 支持的格式 | 支持的采样率 | 上下文长度 | 最大输入 | 最大输出 | 输入成本 | 输出成本 | 免费额度 (注) |\n| (Token数) | (每千Token) |\n| qwen-audio-asr 当前等同qwen-audio-asr-2024-12-04 | 稳定版 | 中文、英文 | 音频 | 16kHz | 8,192 | 6,144 | 2,048 | 目前仅供免费体验。 免费额度用完后不可调用,推荐使用 Qwen3 ASR。 | 10万Token 有效期:阿里云百炼开通后90天内 |\n| qwen-audio-asr-latest 始终等同最新快照版 | 最新版 |\n| qwen-audio-asr-2024-12-04 | 快照版 |\n\n### 通义千问数学模型\n\n通义千问数学模型是专门用于数学解题的语言模型。使用方法 | API参考 | 在线体验', 'score': 0.82288796}, {'title': '大模型服务平台百炼:代码能力(Qwen-Coder)', 'url': 'https://www.alibabacloud.com/help/zh/model-studio/qwen-coder', 'content': '迁移与运维管理\n 系统运维管理\n 云监控\n 智能顾问\n 云治理中心\n 操作审计\n 移动测试 - 文档停止维护\n 配置审计\n 访问控制\n 资源管理\n 云速搭\n 搬站上云\n 服务器迁移中心\n 服务目录\n 逻辑编排\n 配额中心\n 云SSO\n HTTPDNS\n\n解决方案\n SAP 解决方案\n SuperApp\n\n会员服务\n 费用与成本\n 账号中心\n\n更多\n 支持与服务\n Legal\n 写作分享计划条款\n 售后支持\n 服务等级目标\n 管理控制台\n 安全管控平台\n\n首页大模型服务平台百炼用户指南(模型)文本生成领域模型代码能力\n\n输入文档关键字查找\n\n代码能力(Qwen-Coder)\n\n更新时间:2025-09-10 06:53\n\n产品详情\n\n社区\n\nQwen3-Coder 模型具有强大的代码能力,可通过 API 将其集成到业务中。\n\n模型概览\n\n### 新加坡\n\n商业版模型\n\n开源版模型\n\n模型名称版本上下文长度最大输入最大输出输入成本输出成本免费额度 [...] qwen3-coder-flash 和 qwen3-coder-flash-2025-07-28 价格如下,其中 qwen3-coder-flash 支持上下文缓存:\n\n输入Token数输入成本(每百万Token)输出成本(每百万Token)\n0-32K$0.144$0.574\n32K-128K$0.216$0.861\n128K-256K$0.359$1.434\n256K-1M$0.717$3.584\n\n早期版本\n\n模型名称版本上下文长度最大输入最大输出输入成本输出成本\n(Token数)(每百万Token)\nqwen-coder-plus\n\n> 当前与qwen-coder-plus-2024-11-06能力相同 稳定版 131,072 129,024 8,192$0.502$1.004\nqwen-coder-plus-latest\n\n> 与qwen-coder-plus的最新快照版能力相同 最新版\nqwen-coder-plus-2024-11-06\n\n> 又称qwen-coder-plus-1106 快照版\nqwen-coder-turbo [...] 输入Token数输入成本(每百万Token)输出成本(每百万Token)\n0-32K$1$5\n32K-128K$1.8$9\n128K-256K$3$15\n256K-1M$6$60\n\nqwen3-coder-flash 和 qwen3-coder-flash-2025-07-28 价格如下,其中 qwen3-coder-flash 支持上下文缓存:\n\n输入Token数输入成本(每百万Token)输出成本(每百万Token)\n0-32K$0.3$1.5\n32K-128K$0.5$2.5\n128K-256K$0.8$4\n256K-1M$1.6$9.6\n\n模型名称上下文长度最大输入最大输出输入成本输出成本免费额度\n\n(注)\n(Token数)\nqwen3-coder-480b-a35b-instruct 262,144 204,800 65,536 阶梯计价,请参见表格下方说明。各100万Token\n\n有效期:百炼开通后90天内\nqwen3-coder-30b-a3b-instruct', 'score': 0.70750624}, {'title': '阿里千问3推理模型重磅更新,比肩Gemini-2.5 pro、o4-mini - 量子位', 'url': 'https://www.qbitai.com/2025/07/312955.html', 'content': '截至目前,阿里巴巴已开源300余款通义大模型,通义千问衍生模型突破14万个,超越Meta的Llama系列成为全球第一的开源模型家族,通义也是开发者和企业使用最广泛的大模型。未来三年,阿里巴巴还将投入超过3800亿元用于建设云和AI硬件基础设施,持续升级全栈AI能力,为中国和全球开发者和企业提供更先进的模型和云计算服务。\n\n版权所有,未经授权不得以任何形式转载及使用,违者必究。\n\nQwen\n\n允中\n\n 榨干GPU性能,中兴Mariana(马里亚纳)突破显存壁垒2025-08-26\n AI时代硬核EMBA来了!交大高金「科技强国计划」全额奖学金等你来拿2025-08-06\n 通义灵码上线Qwen3-Coder,免费使用不限量2025-07-26\n 人工智能创新创业大赛总决赛圆满收官2025-07-12\n\n扫码分享至朋友圈\n\n### 相关阅读\n\n#### Qwen版o1发布即开源!32B参数比肩OpenAI o1-mini,一手实测在此\n\n抱抱脸和魔搭社区可在线试玩\n\n克雷西2024-11-28\n\nQwen [...] 最新推出的千问3推理模型,登顶全球最强开源推理模型。 自千问3旗舰模型Qwen3-235B-A22B发布后,阿里通义团队一直在扩展大模型的推理极限,全新开源的千问3推理模型在通用能力和深度思考能力上实现巨大飞跃。千问3推理模型支持256K上下文长度,在知识(SuperGPQA)、逻辑推理(HMMT25)、编程(LiveCodeBench v6)、数学(AIME25)、人类偏好对齐(Arena-Hard v2)、创意写作(WritingBench)、多语言能力(MultilF)等核心能力上,千问3推理模型完全可比肩Gemini-2.5 pro、o4-mini等顶尖闭源模型,并创下全球开源模型的最佳性能表现。 [...] #### 阿里智能体多轮推理超越GPT-4o,开源模型也能做Deep Research\n\n自主信息检索智能体WebDancer\n\n梦晨2025-06-06\n\nQwen\n\n#### Qwen上新AI前端工程师!一句话搞定HTML/CSS/JS,新手秒变React大神\n\n搭配深度思考模式能力更强\n\n梦晨2025-05-10\n\nQwen\n\n#### 开源Qwen凌晨暴击闭源Claude!刷新AI编程SOTA,支持1M上下文\n\n最强版本450B MoE,激活参数35B\n\n闻乐2025-07-23\n\nQwen 通义 阿里云\n\n#### Qwen紧追OpenAI开源4B端侧大模型,AIME25得分超越Claude 4 Opus\n\n“这下没人谈论OpenAI昨天开源了啥”\n\n衡宇2025-08-07\n\nQwen 开源 推理模型\n\n#### 最强开源CodeLLM模型深夜来袭!320亿参数,Qwen2.5-Coder新模型超越GPT-4o\n\n无需Code,一句prompt生万物\n\n明敏2024-11-12\n\nAI编程 Qwen 通义千问\n\n### 热门文章', 'score': 0.6882385}][0m[32;1m[1;3m根据搜索结果,我来为您介绍最新一代的通义千问大模型:
## 最新一代通义千问大模型 - Qwen3 系列
### 主要版本信息
**Qwen3 系列**是目前通义千问的最新一代大模型,具有以下特点:
### 核心能力提升
1. **推理能力**:在数学、代码和逻辑推理等评测中,显著超过前代模型,达到同规模业界顶尖水平
2. **人类偏好能力**:创意写作、角色扮演、多轮对话、指令遵循能力均大幅提升
3. **Agent 能力**:在推理和非推理两种模式下都达到业界领先水平,能精准调用外部工具
4. **多语言能力**:支持100多种语言和方言,多语言翻译、指令理解、常识推理能力明显提升
### 最新模型版本
- **Qwen3-235B-A22B**:旗舰模型,支持256K上下文长度
- **Qwen3-30B-A3B**:中等规模模型
- **Qwen3-Max**:最新发布的正式版模型,在智能体编程与工具调用方向进行了专项升级
### 多模态扩展
- **Qwen2-VL**:最新视觉语言模型,支持处理不同分辨率和长宽比图片,能解析长视频内容
- **Qwen2-Audio**:多模态大模型,能够直接接受音频和文本输入,支持语音聊天功能
- **Qwen3-Coder**:专门针对代码能力的模型,在编程任务中表现优异
### 技术特点
- 支持思考模式和非思考模式切换
- 上下文长度可达100万Token(部分版本)
- 在多个国际基准测试中超越GPT-4V、Claude等国际竞品
- 已成为全球第一的开源模型家族,超越Meta的Llama系列
阿里巴巴未来三年还将投入超过3800亿元用于建设云和AI硬件基础设施,持续升级全栈AI能力。[0m
[1m> Finished chain.[0m
ounter(lineounter(line
{'input': '请问最新一代的通义千问大模型是什么?',
'output': '根据搜索结果,我来为您介绍最新一代的通义千问大模型:\n\n## 最新一代通义千问大模型 - Qwen3 系列\n\n### 主要版本信息\n\n**Qwen3 系列**是目前通义千问的最新一代大模型,具有以下特点:\n\n### 核心能力提升\n1. **推理能力**:在数学、代码和逻辑推理等评测中,显著超过前代模型,达到同规模业界顶尖水平\n2. **人类偏好能力**:创意写作、角色扮演、多轮对话、指令遵循能力均大幅提升\n3. **Agent 能力**:在推理和非推理两种模式下都达到业界领先水平,能精准调用外部工具\n4. **多语言能力**:支持100多种语言和方言,多语言翻译、指令理解、常识推理能力明显提升\n\n### 最新模型版本\n- **Qwen3-235B-A22B**:旗舰模型,支持256K上下文长度\n- **Qwen3-30B-A3B**:中等规模模型\n- **Qwen3-Max**:最新发布的正式版模型,在智能体编程与工具调用方向进行了专项升级\n\n### 多模态扩展\n- **Qwen2-VL**:最新视觉语言模型,支持处理不同分辨率和长宽比图片,能解析长视频内容\n- **Qwen2-Audio**:多模态大模型,能够直接接受音频和文本输入,支持语音聊天功能\n- **Qwen3-Coder**:专门针对代码能力的模型,在编程任务中表现优异\n\n### 技术特点\n- 支持思考模式和非思考模式切换\n- 上下文长度可达100万Token(部分版本)\n- 在多个国际基准测试中超越GPT-4V、Claude等国际竞品\n- 已成为全球第一的开源模型家族,超越Meta的Llama系列\n\n阿里巴巴未来三年还将投入超过3800亿元用于建设云和AI硬件基础设施,持续升级全栈AI能力。'}
二、多智能体协作实现浏览器自动化
2.1 简单的封装代理测试
正如上述我们使用的create_tool_calling_agent方法,它其实在langChain中是一个通用的用来构建工具代理的方法,除此以外,langChain还封装了非常多种不同的Agent实现形式,大家可以在这个链接中查看到所有LangChain中已经集成的Agent实现形式:
推荐的Agent创建函数
| 函数名 | 功能描述 | 适用场景 |
|---|---|---|
| create_tool_calling_agent | 创建使用工具的Agent | 通用工具调用 |
| create_openai_tools_agent | 创建OpenAI工具Agent | OpenAI模型专用 |
| create_openai_functions_agent | 创建OpenAI函数Agent | OpenAI函数调用 |
| create_react_agent | 创建ReAct推理Agent | 推理+行动模式 |
| create_structured_chat_agent | 创建结构化聊天Agent | 多输入工具支持 |
| create_conversational_retrieval_agent | 创建对话检索Agent | 检索增强对话 |
| create_json_chat_agent | 创建JSON聊天Agent | JSON格式交互 |
| create_xml_agent | 创建XML格式Agent | XML逻辑格式 |
| create_self_ask_with_search_agent | 创建自问自答搜索Agent | 自主搜索推理 |
其中比较通用场景的就是我们刚刚使用的create_tool_calling_agent,而对于一些符合OpenAI API RESTFUL API的模型,则同样可以使用create_openai_tools_agent,另外像create_react_agent可以用于一些推理任务,create_conversational_retrieval_agent则可以用于一些对话系统,具体还是需要根据实际需求来选择。 目前来说,在大模型应用开发领域有非常多的需求场景,其中一个比较热门的就是浏览器自动化,通过自动化提取网页内容,然后进行分析,最后生成报告。这样的流程提升效率和收集信息的有效途径。因此接下来,我们就尝试使用尝试使用create_openai_tools_agent来实际开发一个浏览器自动化代理。
首先,执行浏览器自动化代理需要安装一系列的第三方依赖包,如下所示:
- pip install playwright lxml langchain_community beautifulsoup4 reportlab
- 此外,还需要安装 Playwright 浏览器,需要在当前虚拟环境中执行如下命令: playwright install
这个安装过程它会下载并安装 Playwright 支持的浏览器内核(注意:这里不是用我们本机已有的浏览器),包括Chromium(类似 Chrome)、Firefox、WebKit(类似 Safari),并将这些浏览器下载到本地的 .cache/ms-playwright 目录或项目的 ~/.playwright 目录中,以便 Playwright 使用稳定一致的运行环境。
这个案例的核心代码首先是需要用代理工具初始化同步 Playwright 浏览器:
ounter(lineounter(lineounter(line
sync_browser = create_sync_playwright_browser()
toolkit = PlayWrightBrowserToolkit.from_browser(sync_browser=sync_browser)
tools = toolkit.get_tools()
-
PlayWrightBrowserToolkit:提供一组工具,创建一个同步的 Playwright 浏览器实例,用于与浏览器进行交互,如导航、点击元素、提取文本等。
-
create_sync_playwright_browser:用于创建一个同步的 Playwright 浏览器实例,使用浏览器实例初始化工具包。
-
toolkit.get_tools():获取工具包中的所有工具,如导航、点击、提取文本等。
需要注意的是,Playwright 的初始化过程需要同步执行,因此在 Jupyter Notebook 中无法直接使用,需要将代码保存为 Python 文件运行。
ounter(lineounter(line
prompt = hub.pull("hwchase17/openai-tools-agent")
从 LangChain Hub 拉取名为 “hwchase17/openai-tools-agent” 的提示模板,用于指导代理的行为。
执行任务
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
command = {
"input": "访问这个网站 https://edu.youkuaiyun.com/course/detail/38965 并帮我总结一下这个网站的内容"
}
# 执行任务,添加错误处理
print("开始执行任务...")
response = agent_executor.invoke(command, timeout=60)
print("任务执行成功!")
print(response)
查询的地址是我在优快云教学平台的一门机器学习课程
运行结果
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
C:\ProgramData\anaconda3\envs\lc\Lib\site-packages\langsmith\client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API
warnings.warn(
开始执行任务...
> Entering new AgentExecutor chain...
Invoking: `navigate_browser` with `{'url': 'https://edu.youkuaiyun.com/course/detail/38965'}`
responded: 我来帮您访问这个网站并总结其内容。
Navigating to https://edu.youkuaiyun.com/course/detail/38965 returned status code 200
Invoking: `extract_text` with `{}`
responded: 现在让我提取网页的文本内容来了解课程信息:
数据分析与挖掘python实战(高级)_在线视频教程-优快云程序员研修院 导航 课程首页 云会员 PM-Summit 全球产品经理大会云会员 SDCon 全球软件研发技术大会云会员 ML-Summit 全球机器学习技术大会云会员 研修营 C++性能优化高端培训 AI全栈开发实战营 精品课 极客时间 搜索 AI 搜索 登录 会员·新人 礼包 消息 历史 创作中心 创作 学习中心 成为讲师 导航 首页 博客 专栏课程 下载 问答 社区 插件 认证 程序员研修院 选课程 跟我练 电子书 讲师 学习会员 搜索 登录/注册 讲师平台 我的学习 消息 手机看 关注公众号 下载APP 客服 帮助 返回 顶部 课程首页 人工智能 机器学习 数据分析与挖掘python实战(高级) 数据分析与挖掘python实战(高级) 无限期 视频有效期 26节 节数 406人 学习人数 4.4 分 课程评分 免费试看 超级会员免费学 抽豪礼 ¥85.00单独购买 微信 支付宝 京东 开通超级会员专栏·视频免费学 请确认 取消 立即兑换 兑换课程 剩余兑换次数 0 次,是否确认兑换? 取消 确认兑换 分享 数据分析与挖掘python实战(高级) 本课程主要介绍数据分析的基本原理以及常见的数据分析和数 据挖掘的方法,并利用python进行实现 复制链接 扫一扫 IT 节气 沈志龙 lv: 白银讲师 升级 再获取30荣耀值升级成黄金讲师 当前荣耀值: 71 101 3 课程数量 1152 学生人数 产品专家 统计学硕士,在 数学,统计学,分析技术等领域具有优秀的理论功底。从事了多年的数据分析和数据挖掘工作,在数据 分析、机器学习、深度学习和知识图谱领域的研究和探索。在指标体系搭建、金融风控体系构建、智能 推荐系统设计方面深入了解。对于数据分析应该具备的核心专业能力。 统计学硕士,在数学,统计学,分析技术等领域具有优秀的理论功底。从事了多年的数据分析和数据挖掘工作,在数据分析、机器学习 、深度学习和知识图谱领域的研究和探索。在指标体系搭建、金融风控体系构建、智能推荐系统设计方 面深入了解。对于数据分析应该具备的核心专业能力。 超值套餐 课程介绍 课程目录 讨论留言 超值套餐 套餐一 数据分析与挖掘python实战(初级) 数据分析与挖掘python实战(中级) 数据分析与挖掘python实战(高级) 共3门课程,零售价¥387.00 套餐价 : ¥ 199.00 立省¥188.00 购买套餐 微信 支付宝 京东 查看详情 你将收获 数据分析基础理论 数据挖掘基础 统计分析知识 python基础操作 适用人群 数 据分析方向的在校学生,入门的数据分析工作者,想转行数据分析方向从业人员等 课程介绍 本课程主 要介绍数据分析的基本原理以及常见的数据分析和数据挖掘的方法,并利用python进行实现 查看更多 课程目录 第一章:特征工程 特征工程概念介绍 05:09 开始学习 数据预处理 04:02 开始学习 数据采 样 06:53 开始学习 特征工程处理方法 05:30 开始学习 特征选择 05:46 开始学习 LDA(线性判别分析) 04:35 开始学习 线性判别分析python实现 05:47 开始学习 第二章:统计分析 ARIMA原理介绍 11:32 开始学习 ARIMA python实现 07:32 开始学习 数据分箱介绍 05:07 开始学习 KS分箱 05:46 开始学 习 卡方分箱 04:34 开始学习 数据分箱python实现 06:35 开始学习 逻辑回归评分卡介绍 05:42 开始 学习 WOE和IV值介绍 08:30 开始学习 模型评估方法 04:31 开始学习 评分卡分数转换 03:27 开始学习 评分卡python实现 08:54 开始学习 第三章:数据挖掘 FM原理介绍 08:05 开始学习 FM公示推导 07:41 开始学习 FM python实现 05:51 开始学习 FFM算法 04:34 开始学习 FFM案例解析 07:31 开始学习 FFM算法python实现 04:02 开始学习 XGBoost算法介绍 14:40 开始学习 XGBoost python实现 05:46 开 始学习 讨论留言 回复 进入帖子 切换为未回复评论 切换为时间正序 请发表友善的回复… 发表回复 发表回复 按下Enter换行,Ctrl+Enter发表内容 编辑 预览 轻敲空格完成输入 显示为 卡片 标题 链接 推荐 OpenGL 138 节 张立铜 轻松学Linux系列课程 125 节 赵永刚 C语言及程序设计初步 48 节 贺利 坚 OpenGL-Shader 89 节 张立铜 APP内置IM 系统——从入门到千万级在线 5 节 郝飞 Spring Boot 入门 3 节 张强 沈志龙老师的其他课程 更多 数据分析与挖掘python实战(初级) 沈志龙 514人学习 数据分析与挖掘python实战(中级) 沈志龙 232人学习 资源上传下载、课程学习等过程中有任何疑问或建议, 欢迎提出宝贵意见哦~我们会及时处理! 点击此处反馈 关于我们 招贤纳士 商务合作 寻求报道 400-660-0108 kefu@youkuaiyun.com 在线客服 工作时间 8:30-22:00 公安备案号11010502030143 京ICP备19004658 号 京网文〔2020〕1039-165号 经营性网站备案信息 北京互联网违法和不良信息举报中心 家长监护 网络110报警服务 中国互联网举报中心 Chrome商店下载 账号管理规范 版权与免责声明 版权申诉 出版物许可证 营业执照 ©1999-2025北京创新乐知网络技术有限公司 首页 博客 下载 学习 社区 AI搜索 GitCode InsCodeAI 技术会议 会员中心 创作中心 联系我们 工作时间: 8:30 - 22:00 客服电话: 400-660-0108 kefu@youkuaiyun.com 在线客服 关于我们 招贤纳士 商务合作 寻求报道 友情链接 视觉中国 500px 直 聘网 优设网 优快云文库 优快云下载 优快云问答 京ICP备19004658号 经营性网站备案信息 公安备案号11010502030143 营业执照 北京互联网违法和不良信息举报中心 家长监护 中国互联网举报中心 网络110报警服务 Chrome商店下载 账号管理规范 版权与免责声明 版权申诉 出版物许可证 ©1999-2025北京创新乐 知网络技术有限公司基于提取的文本内容,我来为您总结这个网站的内容:
## 课程总结:数据分析与挖掘python实战(高级)
### 基本信息
- **课程名称**:数据分析与挖掘python实战(高级)
- **平台**:优快云程序员研修院
- **讲师**:沈志龙(统计学硕士,白银讲师)
- **课程时长**:26节
- **学习人数**:406人
- **课程评分**:4.4分
- **价格**:¥85.00单独购买,或包含在套餐中
### 课程内容概述
这是一个高级数据分析与挖掘课程,主要涵盖以下核心内容:
#### 第一章:特征工程
- 特征工程概念介绍
- 数据预处理
- 数据采样
- 特征工程处理方法
- 特征选择
- LDA(线性判别分析)及Python实现
#### 第二章:统计分析
- ARIMA原理介绍及Python实现
- 数据分箱方法(KS分箱、卡方分箱)
- 逻辑回归评分卡
- WOE和IV值介绍
- 模型评估方法
- 评分卡分数转换及Python实现
#### 第三章:数据挖掘
- FM(Factorization Machines)原理介绍及Python实现
- FFM(Field-aware Factorization Machines)算法及Python实现
- XGBoost算法介绍及Python实现
### 课程特色
1. **实战导向**:所有理论都配合Python代码实现
2. **系统全面**:从特征工程到统计分析再到数据挖掘算法
3. **专业讲师**:讲师具有统计学硕士背景和多年数据挖掘工作经验
4. **适用人群**:数据分析方向的在校学生、入门数据分析工作者、想转行数据分析的从业人员
### 学习收获
- 数据分析基础理论
- 数据挖掘基础
- 统计分析知识
- Python基础操作技能
该课程是优快云数据分析与挖掘系列课程的高级部分,还有初级和中级课程可供选择,形成完整的学习体 系。
> Finished chain.
任务执行成功!
{'input': '访问这个网站 https://edu.youkuaiyun.com/course/detail/38965 并帮我总结一下这个网站的内容', 'output': '基于提取的文本内容,我来为您总结这个网站的内容:\n\n## 课程总结:数据分析与挖掘python实战(高级)\n\n### 基本信息\n- **课程名称**:数据分析与挖掘python实战(高级)\n- ** 平台**:优快云程序员研修院\n- **讲师**:沈志龙(统计学硕士,白银讲师)\n- **课程时长**:26节\n- **学习人数**:406人\n- **课程评分**:4.4分\n- **价格**:¥85.00单独购买,或包含在套餐中\n\n### 课程内容概述\n这是一个高级数据分析与挖掘课程,主要涵盖以下核心内容:\n\n#### 第一章:特征工程\n- 特征工程概念介绍\n- 数据预处理\n- 数据采样\n- 特征工程处理方法\n- 特征选择\n- LDA(线性判别分析)及Python实现\n\n#### 第二章:统计分析\n- ARIMA原理介绍及Python实现\n- 数 据分箱方法(KS分箱、卡方分箱)\n- 逻辑回归评分卡\n- WOE和IV值介绍\n- 模型评估方法\n- 评分卡分数转换及Python实现\n\n#### 第三章:数据挖掘\n- FM(Factorization Machines)原理介绍及Python实现\n- FFM(Field-aware Factorization Machines)算法及Python实现\n- XGBoost算法介绍及Python实现\n\n### 课程特色\n1. **实战导向**:所有理论都配合Python代码实现\n2. **系统全面**:从特征工程到统计分析再到数据挖掘算法\n3. **专业讲师**:讲师具有统计学硕士背景和多年数据挖掘工作经验\n4. **适用人群**:数据分析方向的在校学生、入门数据分析工作者、想转行数据分析的从业人员\n\n### 学习收获\n- 数据分析基础理论\n- 数据挖掘基础\n- 统计分析知识\n- Python基础操作技 能\n\n该课程是优快云数据分析与挖掘系列课程的高级部分,还有初级和中级课程可供选择,形成完整的 学习体系。'}
浏览器已关闭
hon实现\n\n### 课程特色\n1. **实战导向**:所有理论都配合Python代码实现\n2. **系统全面**:从特征工程到统计分析再到数据挖掘算法\n3. **专业讲师**:讲师具有统计学硕士背景和多年数据挖掘工作经验\n4. **适用人群**:数据分析方向的在校学生、入门数据分析工作者、想转行数据分析的从业人员\n\n### 学习收获\n- 数据分析基础理论\n- 数据挖掘基础\n- 统计分析知识\n- Python基础操作技 能\n\n该课程是优快云数据分析与挖掘系列课程的高级部分,还有初级和中级课程可供选择,形成完整的 学习体系。'}
浏览器已关闭
注意: 由于 Playwright 的初始化过程需要同步执行,而 Jupyter Notebook 默认使用异步事件循环,因此在 Notebook 中直接运行同步的 Playwright 代码会导致错误。为避免此问题,建议将代码保存为 Python 文件(.py),然后在命令行中运行。
- Playwright 提供了同步(sync_playwright)和异步(async_playwright)两种 API。同步 API 适用于传统的脚本执行,而异步 API 更适合在异步环境中使用,如 Jupyter Notebook。
- 然而,Jupyter Notebook 默认使用异步事件循环(asyncio),这与 Playwright 的同步 API 存在冲突。当尝试在 Notebook 中使用同步 API 时,可能会遇到以下错误:
Error: It looks like you are using Playwright Sync API inside the asyncio loop. Please use the Async API instead.这是因为同步 API 会阻塞事件循环,而异步环境不允许阻塞操作。
2.2 复杂的封装代理
更进一步地,我们还可以将Playwright Agent封装成工具函数,并结合LangChain的LCEL串行链,实现一个更加复杂的浏览器自动化代理。这里定义的工具如下所示:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 1. 创建网站总结工具
@tool
def summarize_website(url: str) -> str:
"""访问指定网站并返回内容总结"""
try:
# 创建浏览器实例
sync_browser = create_sync_playwright_browser()
toolkit = PlayWrightBrowserToolkit.from_browser(sync_browser=sync_browser)
tools = toolkit.get_tools()
# 初始化模型和Agent
model = init_chat_model("deepseek-chat", model_provider="deepseek")
prompt = hub.pull("hwchase17/openai-tools-agent")
agent = create_openai_tools_agent(model, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=False)
# 执行总结任务
command = {
"input": f"访问这个网站 {url} 并帮我详细总结一下这个网站的内容,包括主要功能、特点和使用方法"
}
result = agent_executor.invoke(command)
return result.get("output", "无法获取网站内容总结")
except Exception as e:
return f"网站访问失败: {str(e)}"
# 2. 创建PDF生成工具
@tool
def generate_pdf(content: str) -> str:
"""将文本内容生成为PDF文件"""
try:
# 生成文件名(带时间戳)
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"website_summary_{timestamp}.pdf"
# 创建PDF文档
doc = SimpleDocTemplate(filename, pagesize=A4)
styles = getSampleStyleSheet()
# 注册中文字体(如果系统有的话)
try:
# Windows 系统字体路径
font_paths = [
"C:/Windows/Fonts/simhei.ttf", # 黑体
"C:/Windows/Fonts/simsun.ttc", # 宋体
"C:/Windows/Fonts/msyh.ttc", # 微软雅黑
]
chinese_font_registered = False
for font_path in font_paths:
if os.path.exists(font_path):
try:
pdfmetrics.registerFont(TTFont('ChineseFont', font_path))
chinese_font_registered = True
print(f"✅ 成功注册中文字体: {font_path}")
break
except:
continue
if not chinese_font_registered:
print("⚠️ 未找到中文字体,使用默认字体")
except Exception as e:
print(f"⚠️ 字体注册失败: {e}")
# 自定义样式 - 支持中文
title_style = ParagraphStyle(
'CustomTitle',
parent=styles['Heading1'],
fontSize=18,
alignment=TA_CENTER,
spaceAfter=30,
fontName='ChineseFont' if 'chinese_font_registered' in locals() and chinese_font_registered else 'Helvetica-Bold'
)
content_style = ParagraphStyle(
'CustomContent',
parent=styles['Normal'],
fontSize=11,
alignment=TA_JUSTIFY,
leftIndent=20,
rightIndent=20,
spaceAfter=12,
fontName='ChineseFont' if 'chinese_font_registered' in locals() and chinese_font_registered else 'Helvetica'
)
# 构建PDF内容
story = []
# 标题
story.append(Paragraph("网站内容总结报告", title_style))
story.append(Spacer(1, 20))
# 生成时间
time_text = f"生成时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
story.append(Paragraph(time_text, styles['Normal']))
story.append(Spacer(1, 20))
# 分隔线
story.append(Paragraph("=" * 50, styles['Normal']))
story.append(Spacer(1, 15))
# 主要内容 - 改进中文处理
if content:
# 清理和处理内容
content = content.replace('\r\n', '\n').replace('\r', '\n')
paragraphs = content.split('\n')
for para in paragraphs:
if para.strip():
# 处理特殊字符,确保PDF可以正确显示
clean_para = para.strip()
# 转换HTML实体
clean_para = clean_para.replace('<', '<').replace('>', '>').replace('&', '&')
try:
story.append(Paragraph(clean_para, content_style))
story.append(Spacer(1, 8))
except Exception as para_error:
# 如果段落有问题,尝试用默认字体
try:
fallback_style = ParagraphStyle(
'Fallback',
parent=styles['Normal'],
fontSize=10,
leftIndent=20,
rightIndent=20,
spaceAfter=10
)
story.append(Paragraph(clean_para, fallback_style))
story.append(Spacer(1, 8))
except:
# 如果还是有问题,记录错误但继续
print(f"⚠️ 段落处理失败: {clean_para[:50]}...")
continue
else:
story.append(Paragraph("暂无内容", content_style))
# 页脚信息
story.append(Spacer(1, 30))
story.append(Paragraph("=" * 50, styles['Normal']))
story.append(Paragraph("本报告由 Playwright PDF Agent 自动生成", styles['Italic']))
# 生成PDF
doc.build(story)
# 获取绝对路径
abs_path = os.path.abspath(filename)
print(f"📄 PDF文件生成完成: {abs_path}")
return f"PDF文件已成功生成: {abs_path}"
except Exception as e:
error_msg = f"PDF生成失败: {str(e)}"
print(error_msg)
return error_msg
然后我们可以自定义不同的链路,比如简单的串行链由Playwright Agent和 generate_pdf Agent组成,即先爬取网页的内容,然后将网页中的内容写入到本地的PDF文件中。
ounter(lineounter(line
# 方法1:简单串行链
simple_chain = summarize_website | generate_pdf
除此以外,我们还可以再定一个摘要工具,在使用Playwright工具访问网页后,根据爬取到的网页内容先使用大模型进行摘要总结,再调用generate_pdf工具将总结内容写入到本地的PDF文件中。代码如下所示:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
optimization_prompt = ChatPromptTemplate.from_template(
"""请优化以下网站总结内容,使其更适合PDF报告格式:
原始总结:
{summary}
请重新组织内容,包括:
1. 清晰的标题和结构
2. 要点总结
3. 详细说明
4. 使用要求等
优化后的内容:"""
)
model = init_chat_model("deepseek-chat", model_provider="deepseek")
# 带优化的串行链:网站总结 → LLM优化 → PDF生成
optimized_chain = (
summarize_website
| (lambda summary: {"summary": summary})
| optimization_prompt
| model
| StrOutputParser()
| generate_pdf
)
代码解读
这段代码的主要目的是通过一个串行链生成网站内容总结的PDF报告。它首先访问指定的URL,获取网站内容的总结,然后根据需要进行优化,最终将总结结果生成PDF报告。下面逐步解读各个部分:
1. 导入模块
langchain_community、langchain:用于处理与语言模型(如OpenAI模型)和工具的集成,允许调用外部工具、处理自然语言任务等。reportlab:用于生成PDF文档,包含设置样式、字体、段落、生成PDF的功能。os,dotenv:用于读取环境变量(如API密钥)并处理文件系统操作。datetime:用于生成当前时间戳(主要用于生成PDF文件名)。
2. 网站总结工具 summarize_website
这个工具访问指定的URL并返回网站内容的总结:
- 使用
Playwright创建一个同步的浏览器实例,访问网页并提取信息。 - 初始化一个语言模型(
deepseek-chat),并创建一个工具代理(AgentExecutor)来总结网站内容。 - 执行总结任务时,模型会访问网页并生成关于网页的总结报告。
3. PDF生成工具 generate_pdf
将传入的内容生成一个PDF文件:
- 文件命名:根据当前时间戳生成文件名(确保唯一性)。
- PDF内容:构建PDF内容,包括标题、生成时间、总结内容、分隔线等。内容通过
Paragraph来展示,并根据系统字体设置支持中文显示。 - 中文字体注册:根据操作系统寻找中文字体并注册,确保PDF能正确显示中文。
- PDF生成:最终生成的PDF文件保存在本地,并返回文件的绝对路径。
4. 创建串行链
串行链(Chain)将不同的工具连接起来形成一个流水线:
- 简单串行链 (
simple_chain): 直接将网站总结的输出传递给PDF生成工具,生成简单的PDF报告。 - 优化串行链 (
optimized_chain): 在网站总结之后,通过一个语言模型优化总结内容,改进内容结构和格式后再生成PDF报告。这里通过ChatPromptTemplate定义了优化任务,并且使用StrOutputParser()来解析输出。
5. 测试函数
两个测试函数分别用于测试不同的串行链:
test_simple_chain:执行简单的总结 -> PDF生成。test_optimized_chain:执行总结 -> 内容优化 -> PDF生成。
6. 创建交互式函数 create_website_pdf_report
这是主函数,它调用 test_simple_chain 或 test_optimized_chain 来处理指定的URL,并生成PDF报告。可以通过传递参数来选择是否使用优化链。
7. 主程序入口
主程序通过命令行接口(CLI)与用户交互:
-
用户可以选择两种处理方式:
输入选项后,调用相应的函数来处理URL。
- 简单串行链:直接从网站总结生成PDF。
- 优化串行链:先总结再优化内容,最后生成PDF。
总结:
这个代码的目标是为给定的URL生成一个PDF报告,报告包含网站的总结信息,可以选择是否进行内容优化。使用了多个LangChain和Playwright工具来完成网络请求、内容生成和PDF格式化,利用串行链(Chain)对流程进行了管理,使得工作流更加自动化和可扩展。
8. 运行结果
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
D:\workself\project\LangChain>C:/ProgramData/anaconda3/envs/lc/python.exe d:/workself/project/LangChain/lcquickstart/复杂agent.py
=== 创建串行链:网站总结 → PDF生成 ===
选择处理方式:
1. 简单串行链(直接总结 → PDF)
2. 优化串行链(总结 → 优化 → PDF)
请选择 (1/2): 2
============================================================
🤖 网站内容PDF生成器
============================================================
🔄 开始处理URL (优化版): https://edu.youkuaiyun.com/course/detail/38965
📝 步骤1: 网站总结...
🎨 步骤2: 内容优化...
📄 步骤3: 生成PDF...
C:\ProgramData\anaconda3\envs\lc\Lib\site-packages\langsmith\client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API
warnings.warn(
✅ 成功注册中文字体: C:/Windows/Fonts/simhei.ttf
📄 PDF文件生成完成: D:\workself\project\LangChain\website_summary_20251027_150521.pdf
✅ 完成: PDF文件已成功生成: D:\workself\project\LangChain\website_summary_20251027_150521.pdf
============================================================
🎉 任务完成!
============================================================
C:\ProgramData\anaconda3\envs\lc\Lib\site-packages\langsmith\client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API
warnings.warn(
✅ 成功注册中文字体: C:/Windows/Fonts/simhei.ttf
📄 PDF文件生成完成: D:\workself\project\LangChain\website_summary_20251027_150521.pdf
✅ 完成: PDF文件已成功生成: D:\workself\project\LangChain\website_summary_20251027_150521.pdf
============================================================
🎉 任务完成!
============================================================
📄 PDF文件生成完成: D:\workself\project\LangChain\website_summary_20251027_150521.pdf
✅ 完成: PDF文件已成功生成: D:\workself\project\LangChain\website_summary_20251027_150521.pdf
============================================================
🎉 任务完成!
============================================================
df
============================================================
🎉 任务完成!
============================================================
============================================================
🎉 任务完成!
============================================================
============================================================
LangChain代码–github
想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!
👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势
想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:
1. 100+本大模型方向电子书

2. 26 份行业研究报告:覆盖多领域实践与趋势
报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

- 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
- 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
- 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
- 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。
3. 600+套技术大会 PPT:听行业大咖讲实战
PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

- 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
- 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
- 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
- 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。
二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走
想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位
面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点
针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题
专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:

三、路线必明: AI 大模型学习路线图,1 张图理清核心内容
刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代
L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊
L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计
L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】

四、资料领取:全套内容免费抱走,学 AI 不用再找第二份
不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:
👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!
1009

被折叠的 条评论
为什么被折叠?



