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

LangChain入门(六)Agent

 尽管大语言模型非常强大,但也有一定的局限性,比如不能回答实时信息。LangChain中的代理(Agent)的作用就是根据用户需求,访问对应的第三方工具(如使用搜索引擎或数据库)来达成用户的目标任务。

关键组件

Agent(代理)

代理负责应用程序的逻辑和执行,接受用户输入,并返回AgentAction或AgentFinish。

Tools(工具)

工具是代理调用的函数,可以执行特定的功能,如天气查询、百度搜索、高德地图等。

Toolkits(工具包)

代理可以访问工具集合,是实现特定目标所需的一组工具。例如:代码与SQL数据库交互时,可能需要一个工具来执行查询,另一个工具检索表结构。通常一个工具包中有3~5个工具。

AgentExecutor(代理执行器)

负责迭代运行代理,直到满足停止条件。

执行流程

案例

支持实时天气查询

下面是一个Agent的案例,主要通过工具来查询实时天气。

需要安装langgraph

pip install langgraph

案例中用Tavily,Tavily是一个为大型语言模型(LLMs)和检索增强生成(RAG)优化的搜索引擎,旨在提供高效、快速且持久的搜索结果需要到Tavily官网,注册账号,登录后复制key,tavily提供一些免费的接口调用次数。

from langchain.chat_models import init_chat_model
from langchain_community.tools.tavily_search import TavilySearchResults
from langgraph.prebuilt import chat_agent_executor
from langchain_core.messages import SystemMessage, HumanMessage
import os# 这里只是示意,工程中建议使用getpass.getpass()来获取API密钥
api_key = os.environ.get("DEEPSEEK_API_KEY");
os.environ["TAVILY_API_KEY"]="XXXXXXXXXXXXXXXXxxxxxx"api_base = "https://api.deepseek.com/"#1.定义模型
model = init_chat_model(model="deepseek-chat",api_key=api_key,api_base=api_base,temperature=0.8,max_tokens=1024,model_provider="deepseek",)#1.定义工具
search = TavilySearchResults(max_results=2)  #max results 返回两个结果agent_executor=chat_agent_executor.create_tool_calling_executor(model=model,tools=[search]);resp2=agent_executor.invoke({'messages':[HumanMessage(content='北京今天的天气怎么样?')]
});print(resp2['messages'][2].content);

相关文章:

  • day5:nginx代理-动静分离
  • 【了解】通感算一体化网络
  • Selenium模拟人类行为,操作网页的方法(全)
  • 每日算法-250506
  • 大模型系列(三)--- ​ GPT1: Improving Language Understanding by Generative Pre-Training​
  • 【HarmonyOS 5】鸿蒙用户头像编辑功能实践
  • 基于【抖音弹幕抓取数据推送】——制作抖音消息分类查看界面
  • YOLOv8的Python基础--函数篇
  • B站pwn教程笔记-6
  • Linux[Makefile]
  • Vue3路由模式为history,使用nginx部署上线后刷新404的问题
  • Leetcode - 周赛448
  • PostgreSQL数据库的array类型
  • 密码工具类-生成随机密码校验密码强度是否满足要求
  • GPS定位方案
  • 使用阿里AI的API接口实现图片内容提取功能
  • three.js通过GEO数据生成3D地图
  • 2025年5月HCIP题库(带解析)
  • 基于计算机视觉的试卷答题区表格识别与提取技术
  • js var a=如果ForRemove=true,是“normal“,否则为“bold“
  • 三大交易所多举措支持科创债再扩容,约160亿证券公司科创债有望近期落地
  • 罗马尼亚临时总统博洛让任命普雷多尤为看守政府总理
  • 女租客欠租后失联,房东开门后无处下脚:40平公寓变垃圾场
  • 中俄合拍电影《红丝绸》将于今年9月在中国上映
  • 许昌市场监管部门对胖东来玉石开展日常检查:平均毛利率不超20%
  • “子宫肌瘤男性病例”论文后:“宫颈癌、高危产妇”论文也现男性病例,作者称“打错了”