当前位置: 首页 > news >正文

【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Agent

本文介绍langchain如何快速搭建ReAct范式的智能体。

LangChain Agents 是基于 LangGraph 构建的,以提供持久执行、流式处理、人机交互、持久化存储等功能。但对于基本的 LangChain Agent 使用是无需了解 LangGraph。

一、如何创建Agent

创建Agent超级简单!!使用create_agent搞定!

# 从 dotenv 模块导入 load_dotenv 函数 # 用于从项目根目录下的 .env 文件中加载环境变量(如 API 密钥) from dotenv import load_dotenv # 加载 .env 文件中的环境变量,并覆盖系统中已存在的同名变量 # 这样可以安全地管理敏感信息(例如 ZHIPUAI_API_KEY),避免硬编码在代码中 load_dotenv(override=True) # 从 langchain.agents 模块导入 create_agent 工具函数 # 该函数用于快速创建一个具备特定行为的智能体(Agent) from langchain.agents import create_agent # 从 langchain_community.chat_models 导入 ChatZhipuAI # 这是 LangChain 对智谱 AI(ZhipuAI)大模型的官方封装,支持 GLM 系列模型 from langchain_community.chat_models import ChatZhipuAI # ======================== # 1. 初始化大语言模型(LLM) # ======================== # 创建一个 ChatZhipuAI 模型实例,指定使用 "glm-4.5-flash" 模型 # 该模型是智谱推出的高性能、低延迟轻量级大模型,适合快速响应场景 # 注意:API Key 会自动从环境变量 ZHIPUAI_API_KEY 中读取,无需手动传入 model = ChatZhipuAI( model="glm-4.5-flash" ) # ======================== # 2. 创建智能体(Agent) # ======================== # 使用 create_agent 函数构建一个具备特定角色和行为的智能体 agent = create_agent( model=model, # 指定智能体所依赖的大语言模型(此处为 GLM-4.5-Flash) tools=[], # 指定智能体可用的工具列表(如搜索、计算器、数据库等) # 注意:tools 参数是必填项,即使不使用任何工具,也必须传入一个空列表 [] # 若后续需要扩展功能(如联网查询),可在此添加 Tool 实例 system_prompt="你是一个答案之书,人们向你倾述最近困扰的事情,你给予简短的答案。" # 设置系统级提示词(System Prompt),用于定义智能体的角色、语气和行为规范 # 此处设定其为“答案之书”——提供简洁、有哲理的回应,类似人生指南 )

① env文件应包含

ZHIPUAI_API_KEY=your_zhipu_api_key_here

LangChain 会自动读取该变量,无需在代码中显式传递。

② 关于tools=[]

  • 当前智能体不具备外部工具调用能力,仅能基于自身知识回答。
  • 若未来想让 Agent 调用函数(如查天气、算数学),需在此传入Tool对象列表。

二、如何使用Agent

# 智能体只接受这种方式的输入。 inputs = {"messages": [{"role": "user", "content": "我不知道怎么才能考上大学"}]} # 调用智能体 response = agent.invoke(inputs) # 让我们来看看智能体返回的内容是什么? print(response) # 是一个字典 print(type(response)) # 里面只有一个消息列表 print(response.keys())
http://www.jsqmd.com/news/116513/

相关文章:

  • 力扣hot100:旋转排序数组中找目标值
  • +疫情物资捐赠和分配系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • ue5 入门笔记
  • 对 |0001> 应用 Hadamard 门的演算过程
  • 组织变革不涨薪?核心人才早跑光了
  • Java Web 宠物商城网站系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • Linly-Talker在新品发布会预录视频中的高效制作
  • 基于SpringBoot+Vue的扶贫助农系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 城市垃圾分类管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • 前后端分离宠物商城网站系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • Linly-Talker如何处理诗歌朗诵的韵律节奏控制?
  • Java Web 城市垃圾分类管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • Linly-Talker能否实现双语交替讲解模式?字幕同步方案
  • MySQL基础知识Linux导入导出数据
  • 宠物爱心组织管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • Linly-Talker如何实现不同文化面部微表情适配?
  • SpringBoot+Vue 宠物健康顾问系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • Linly-Talker在旅游景点语音导览中的多点触控联动
  • Linly-Talker在残障人士辅助沟通中的社会价值
  • Linly-Talker在企业年报可视化解读中的高级应用
  • Linly-Talker如何防止过度压缩导致音画不同步?
  • SpringBoot+Vue 动物领养平台管理平台源码【适合毕设/课设/学习】Java+MySQL
  • Linly-Talker支持H.264/H.265编码输出吗?视频格式说明
  • 前后端分离+疫情物资捐赠和分配系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 机器学习——决策树之回归树
  • Linly-Talker项目CI/CD流程自动化程度评估
  • Linly-Talker在机场导航服务中的多语言播报实验
  • 智能测试自动化新趋势:软件测试从业者的未来之路
  • Linly-Talker能否导出音频单独使用?资源复用建议
  • 基于图像处理的道路斑马线与行人运动检测系统研究