langchain0.3版本agent构建方式

通义千问+langchain构建agent LangChain 是一个用于构建与语言模型(如 GPT-3、ChatGPT 等)交互的应用程序的框架。通过定义工具(Tools)、提示词模板(Prompts)和输出解析器(Output Parsers),LangChain 使得构建复杂的自动化对话系统和任务处理 Agent 变得简便高效。本教程通过一个具体的代码示例,展示如何定义一个自定义 Agent,该 Agent 能够执行基本的数学计算任务。工具(Tools)是 Agent 用来执行特定任务的模块。 阅读详情

1、代码如下:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-


# 加载所需的库
import os

# from langchain import hub
from langsmith import Client

from langchain_tavily import TavilySearch
from langchain_community.document_loaders import WebBaseLoader
from langchain_community.vectorstores import FAISS
from langchain_community.embeddings import DashScopeEmbeddings
from langchain_openai import ChatOpenAI
from langchain_text_splitters import RecursiveCharacterTextSplitter
from dotenv import load_dotenv

# from langchain.tools.retriever import create_retriever_tool
from langchain_core.tools.retriever import create_retriever_tool
load_dotenv()

# 查询 Tavily 搜索 API 并返回 json 的工具
search = TavilySearch(tavily_api_key=os.getenv("TAVILY_API_KEY"))
# # # 执行查询
# res = search.invoke("目前市场上苹果手机16的售价是多少?")
# print(res)


# 创建索引器根据上述查询的结果

# 加载HTML内容为一个文档对象
loader = WebBaseLoader("https://news.qq.com/rain/a/20240920A07Y5Y00")
# # 读取文档
docs = loader.load()
# print(docs)


# 分割文档
documents = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200).split_documents(docs)

# 向量化
vector = FAISS.from_documents(documents, DashScopeEmbeddings(dashscope_api_key=os.getenv('DASHSCOPE_API_KEY')))

# 创建检索器
retriever = vector.as_retriever()

# print(retriever.invoke("目前市场上苹果手机16的售价是多少?"))

# 创建检索工具
retriever_tool = create_retriever_tool(
    retriever,
    "iPhone_price_search",
    "当前工具用于查询苹果16手机的售价, 其他任何版本都不能使用此工具, 苹果17不能使用此工具",
)

tools = [search, retriever_tool]

# 初始化大模型
# 模型版本
#
llm = ChatOpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),
                 base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
                 model='qwen-max', temperature=0)
hub = Client()
prompt = hub.pull_prompt("hwchase17/openai-functions-agent")
# 打印Prompt
# print(prompt)

# from langchain.agents import create_openai_functions_agent
from langchain_classic.agents import create_openai_functions_agent


agent = create_openai_functions_agent(llm, tools, prompt)

from langchain_classic.agents import AgentExecutor

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

# print(agent_executor.invoke({'input':"目前市场上苹果手机16的售价是多少?"}))
print(agent_executor.invoke({'input':"目前市场上苹果17的售价是多少?"}))
# print(agent_executor.invoke({'input': "2024年美国总统谁选上了"}))






2、运行报错了,报错结果如下:

C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Scripts\python.exe C:\Users\lenovo\PycharmProjects\PythonProject\rag\day05\03-langchain0.3版本agent构建方式.py 
C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langchain_core\utils\pydantic.py:41: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
  from pydantic.v1 import BaseModel as BaseModelV1
C:\Users\lenovo\PycharmProjects\PythonProject\rag\day05\03-langchain0.3版本agent构建方式.py:12: DeprecationWarning: `langchain-community` is being sunset and is no longer actively maintained. See https://github.com/langchain-ai/langchain-community/issues/674 for details and migration guidance toward standalone integration packages.
  from langchain_community.document_loaders import WebBaseLoader
USER_AGENT environment variable not set, consider setting it to identify your requests.
Traceback (most recent call last):
  File "C:\Users\lenovo\PycharmProjects\PythonProject\rag\day05\03-langchain0.3版本agent构建方式.py", line 66, in <module>
    prompt = hub.pull_prompt("hwchase17/openai-functions-agent")
  File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langsmith\client.py", line 9445, in pull_prompt
    prompt_object = self.pull_prompt_commit(
        prompt_identifier,
    ...<2 lines>...
        dangerously_pull_public_prompt=dangerously_pull_public_prompt,
    )
  File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langsmith\client.py", line 9293, in pull_prompt_commit
    _validate_public_prompt_pull(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        prompt_identifier,
        ^^^^^^^^^^^^^^^^^^
        dangerously_pull_public_prompt=dangerously_pull_public_prompt,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\lenovo\PycharmProjects\PythonProject\.venv\Lib\site-packages\langsmith\client.py", line 370, in _validate_public_prompt_pull
    raise ValueError(
    ...<4 lines>...
    )
ValueError: Pulling a public prompt by owner/name is disabled by default because prompts may contain untrusted serialized LangChain objects. If you trust this prompt, set `dangerously_pull_public_prompt=True` to acknowledge the risk.

Process finished with exit code 1

【Langchain】超详细构建Langchain架构下的MCP与Agent智能结合体 本文介绍了如何构建基于LangChain的Agent架构来实现复杂的CausalChat功能。当需要集成RAG等复杂功能时,传统硬编码方式难以满足工具调用顺序的需求。文章详细讲解了MCP工具的参数封装方法,包括将原始JSON格式转换为符合BaseTool规范的接口,并创建动态Pydantic模型来定义工具参数。同时展示了如何实现MCP与Agent的通信机制,通过继承BaseTool并定义_arun方法完成异步调用。最后简要说明了Agent主程序的构建流程,包括获取上下文记录、初始化LLM连接以及遍历工具集创 阅读详情

相关推荐

LangChain Agent v0.2.0简明教程 (上)

LangChain Agent v0.2.0简明教程 (上)

ZhengrongYue的博客 2227

从 0 到 1 构建企业级 Agent:LangChain 2026 终极实战指南

​# 明确Agent的定位AGENT_ROLE = "资深技术文档分析师"AGENT_GOAL = "分析技术文档并生成结构化摘要"你拥有10年技术文档分析经验,擅长从复杂技术文档中提取核心概念、技术架构、关键参数,并以清晰易懂的方式呈现给不同技术背景的读者。"""LangChain 2026 已经从"实验性工具"进化为"企业级基础设施"。掌握 LangChain,意味着你拥有了:✅快速构建 Agent 的能力✅处理复杂工作流的技巧✅生产环境部署的经验✅多 Agent 协作的视野。

【javatoai17819112191】→Java && python && AI Agent工程师 2997

基于LangChain、LangGraph与LangSmith构建医疗问诊Agent实战指南

在大模型应用开发中,Agent(智能体)已成为处理复杂任务的核心架构,它通过整合工具调用、知识检索与状态管理,实现超越单一问答的自动化工作流。其原理在于将大语言模型(LLM)作为决策中枢,结合外部工具与数据源,通过ReAct等模式进行推理与行动。这种技术价值在于显著提升了AI系统在专业领域的可靠性与实用性。在应用场景上,Agent广泛适用于需要多步骤决策、动态交互的领域,例如智能客服、数据分析与自动化办公。本文聚焦于医疗健康这一典型场景,通过一个完整的医疗问诊Agent项目,详细演示了如何利用LangCha

weixin_33767813的博客 1863

用langchain构建传统agent

各位可以选择去看里面的源码,但是我个人觉得作用不大,因为一环套一环,短时间内不太容易看懂(当然看懂以后收获还是很大的),我这里说一下AgentExcutor的缺点,第一个是它一次只能调用一个tool,第二个就是程序执行以后无法人为控制(因为缺少可能和人的交互,所以会大大限制agent的作用)而langgraph是用来构建比较重的单agent或者多agent的构建。create_tool_calling_agent是用来创建agent的,AgentExecutor是用来管理agent的。

weixin_44586881的博客 1465

LangChain v0.3 ReAct Agent 10分钟上手指南

Agent 是大模型与外部世界交互的核心范式,其本质是通过可控推理(如 ReAct)驱动工具调用,实现自主决策。ReAct 原理强调 Thought-Action-Observation 的结构化循环,确保每步推理可追溯、可验证;技术价值在于提升稳定性、可观测性与调试效率,显著降低生产环境中的‘卡死’‘误调用’等高频问题。典型应用场景包括智能客服、自动化数据查询、多步骤业务编排等。本文基于 LangChain v0.3 新架构,聚焦 create_agent 入口与 StructuredTool 定义,带你

cuanjingyue4687的博客 309

从零构建 AI Agent:LangChain 实战完全指南

LangChain AI Agent构建指南 本文详细介绍了如何使用LangChain框架构建AI Agent智能系统。主要内容包括: AI Agent概念:解释AI Agent作为能自主感知环境、决策和执行的智能系统,与传统大模型的区别,强调其工具使用、记忆管理和自主决策能力。 LangChain框架:介绍该Python/JS框架的模块化组件(模型、提示词、工具等)和核心架构,特别说明其对ReAct等Agent类型的支持。 ReAct框架原理:阐述Thought-Action-Observation循环决

Crown_22的博客 1031

LangChain(0.0.340)官方文档十一:Agents之Agent Types

介绍了Agents简单使用方式,以及8种Agent Types

qq_56591814的博客 5791

【Unity】制作简易三维场景

本文介绍如何制作一个三维场景

CiNian_的博客 5330

LangChain Agent 0.3与 1.0 版本核心差异与实战

维度核心创建 API(统一入口)执行器必须通过调度无需 Executor,Agent 直接调用提示模板强制包含占位符无强制占位符,提示更灵活输出能力非结构化(字典 / 文本),需手动解析原生支持结构化输出(TypedDict/Pydantic)模块依赖(重构后)易用性步骤繁琐,需手动管理执行流程轻量化,API 更简洁,降低使用成本多工具调用需手动聚合结果内置结果聚合,支持并行调用优化版本核心差异。

实战怎么玩,你就怎么学 874

VMware vCenter 6.7证书过期急救指南:从503报错到完美修复的全流程

本文详细解析了VMware vCenter 6.7因STS证书过期导致503报错的根本原因,并提供了一套从诊断到修复的完整实战流程。内容包括使用checksts.py脚本检测STS证书状态,通过fixsts.sh脚本更新证书,以及利用Certificate-Manager全面重置所有过期证书,帮助管理员快速恢复服务并避免常见陷阱。

weixin_29234239的博客 768

FOC实战笔记:RC吸收电路的设计考量与参数调优

本文深入探讨了FOC驱动器中RC吸收电路的设计与调优。针对MOS管开关过程中的电压尖峰问题,详细阐述了RC电路的钳位与能量吸收原理,并提供了从参数计算、实验调试到布局布线的完整实战指南,旨在帮助工程师有效提升系统可靠性与稳定性。

weixin_29219539的博客 273

LangChain v0.3 ReAct Agent 原理浅析

在中找到@property"""else:这段代码定义了一个名为的属性方法,该方法在运行时访问时调用。该方法主要用于类型转换,它检查self.agent是否为Runnable类型——如果是,则将其显式转换为类型(与的联合类型);否则直接返回原对象。虽然经过验证器处理后,如果原始agent是Runnable类型,它实际上已经被转换成了或。但由于类型系统的限制,类型检查器不知道这一点,仍然认为它是Runnable类型。使用告诉类型检查器:虽然静态分析认为这是Runnable。

Wopelo的博客 1038

windows10下 iperf3测试带宽

客户端输入:"iperf3.exe -u -c 服务器IP地址 -b 5g" //客户端给服务器发送udp数据包,最大带宽为5g。客户端输入:“iperf3.exe -c 服务器IP地址 -P 10“//表示客户端10路并行给服务器发送TCP包;上图可知:带宽是15Gbps(这里不知道为什么下面测试的UDP会比这里TCP慢 按道理UDP不可能比TCP慢的5.)3. 验证是否下载成功,在打开的窗口中输入“iperf3.exe -v”,会出现安装的版本,表示安装成功了。5. iperf3参数。

xiaoqixiaoguai的博客 5888

LangChain Agent 学习文档(基于 LangChain 1.0)

LangChain Agent 学习文档(基于 LangChain 1.0)

Geatwall的博客 2649

本地化搭建DeepSeek+RAGFlow,构建个人知识库

本地化搭建DeepSeek+RAGFlow,构建个人知识库。至少32G以上内存、500G以上空余磁盘空间。

gogospecter的专栏 7424

【Audio】基于STM32 I2S移植WM8978 Audio Codec驱动

1. WM8978简介 WM8978是一款低功耗,高质量的立体声编解码器,专为便携式应用,如数码相机或数码摄像机等。 该芯片集成了立体声差分麦克风的前置放大器,并包括扬声器、耳机和差分或立体声线输出的驱动器。外部组件要求减少,因为不需要单独的麦克风或耳机放大器。 WM8978的功能框图如下所示: 2. WM8978硬件连接 使用STM32F429+WM8978硬件平台,通过I2S接口来读写音频数据,I2C接口发送写命令控制WM8978相关功能。 STM32F429与WM8978的引脚连接如下:

ZHONGCAI0901的博客 1万+

LangChain与Agent实现

LangChain是一个开源框架,旨在帮助开发人员使用大型语言模型(LLMs)构建应用程序。它通过提供一系列工具、组件和接口,简化了创建由LLMs和聊天模型提供支持的应用程序的过程。有网友猜测,之所以选择鹦鹉作为 LangChain 的 logo,是因为大模型常被戏称为“随机鹦鹉”,即它只是模仿人类输出的文本,缺乏真正的理解能力。而 LangChain 则别出心裁地将鹦鹉(🦜)与链条(🔗)组合在一起,寓意其在提高大模型能力方面的作用。

小马过河R的博客 3689

谷歌A2A协议入门指南:附简易Python代码示例

继"关税"之后,当下最热门的词汇当属AI智能体——这种基于人工智能的软件能够执行复杂任务、实现工作流自动化并提升生产效率。但迄今为止,大多数智能体都处于各自为政的状态,难以顺畅协作。就像团队执行重大项目时,成员之间却无法交流!对于技术人员而言,一个可能遇到的典型场景是:假设你需要协调四个不同的AI服务——处理用户查询的Gemini智能体、在向量数据库进行搜索的AI应用、基于Claude的摘要生成器,以及运行专业领域逻辑的Python智能体。

独立开发,substack顶级编辑 792

Langchain构建Agent

语言模型只能输出文本,无法执行 操作。Agent是使用LLM作为推理引擎来确定要执行的操作以及这些操作的输入应该是什么。然后根据结果,Agent进行执行。创建Agent的API。

qq_52241167的博客 792

华为OD机试真题 新系统 - WIFI设备网络规划 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 2012

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[LangChain智能体本质论-03]三种等效的Agent构建方式

对于最新版本的LangChain,我们可以利用LangGraph以“图”的形式编排一个具有复杂交互流程的Agent。`create_agent`工厂函数内部本质上也是利用的这种方式。由于Agent从执行层面来看就是一个Pregel对象,一个由节点和通道构建而成的Actor模型。综上所述,利用`create_agent`构建的Agent,其实也可以利用其他两种方式来创建。接下来我们就使用三种不同的编程模式构建一个等效的Agent。

JaydenAI的博客 947

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

从零构建专用AI Agent:Blitz Agent原理与LangChain实战

在人工智能应用落地中,AI Agent正从概念走向工程实践。理解Agent Loop(智能体循环)是掌握其运作的核心,它让程序具备了自主规划、工具调用与结果观察的闭环能力。相比传统程序和固定流程的Chain,Agent通过动态决策适配复杂任务,尤其适合知识库问答、自动化运维、数据分析等垂直领域。基于LangChain等编排框架,开发者可以快速搭建专用Agent,将大模型的推理能力与外部工具结合,实现真正可执行的智能体。但实际落地常面临执行超时、上下文溢出、工具调用异常等挑战,需要围绕记忆管理、提示词工程与安

weixin_30388677的博客 410

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LangChain v0.1.0 ReAct Agent 实战:3步构建支持多工具调用的AI助手

本文详细介绍了如何使用LangChain v0.1.0构建ReAct Agent,实现多工具调用的智能助手。通过环境配置、工具定义和Agent核心构建三个步骤,开发者可以快速创建具备'思考-行动'能力的AI助手,支持数学计算、天气查询等实用功能。文章还提供了新版API变化对比和实战案例,帮助开发者掌握这一强大技术。

a304096740的博客 348

LangChain框架中Agent类型的总体认识

追求与 OpenAI 模型的最佳集成和工具调用的准确性:create_openai_functions_agent或 create_tool_calling_agent是首选,尤其是 create_tool_calling_agent,它代表了更新的设计思路。需要模型推理透明化、使用非 OpenAI 模型或处理复杂推理任务:create_react_agent非常合适,它能提供清晰的决策链条。

weixin_45809780的博客 1148

LangChain 1.3 实战:从零构建能联网搜索与执行任务的智能 Agent

大语言模型(LLM)作为强大的文本生成与理解引擎,其核心原理是基于海量数据训练出的参数化知识表示。然而,LLM 本身是封闭的静态系统,缺乏与现实世界动态交互的能力,这限制了其在需要实时数据或执行外部操作场景中的应用价值。工具调用(Tool Calling)技术正是为解决这一瓶颈而生,它通过定义标准化的接口,让 LLM 能够解析用户意图并生成结构化指令,从而驱动外部函数或 API 执行具体任务,如查询数据库、调用网络服务或操作软件。这种能力将 LLM 从“知识库”升级为可行动的“智能体(Agent)”,极大地

weixin_34184158的博客 764

LangChain(八)构建多Agent的AI系统-实战!

好久没有更新LangChian系列的文章了,最近一直在给我们的项目进行集成工作。代码集成、系统优化、多线程操作等等……交给一个算法工程师真的好吗……不得已恶补了一下这方面的知识,写了很多有关于系统集成、代码规范、多线程编程方面的文章。时至今日终于告一段落……针对项目中实际编写的有关多链路由多Agent的模块,总结后也有了一些心得体悟,遂有此文。本篇对于多链路由、工具调用、大模型构建方式进行了复习,并给出实战代码!最合适的函数,不是官网现成的函数,而是你自己搭建的啊。

千天夜的博客 4095
上一篇: hana学习备忘
下一篇: 使用langsmith报错
veminhe
博客等级 码龄14年 721粉丝 426原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值