当前位置: 首页 > 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);

http://www.xdnf.cn/news/299107.html

相关文章:

  • 演讲学习的总结
  • CentOS虚拟机固定ip以及出现的问题
  • 极狐Gitlab 里程碑功能介绍
  • 如何监控Kafka的Lag(消费延迟)?
  • 如何使用 QuickAPI 推动汽车行业数据分享:数据仓库场景下的实践
  • SQL Server 备份加密和解密还原
  • Linux 系统上安装 Firefox 浏览器的完整指南
  • [人机交互]理解用户
  • 简单介绍分布式定时任务XXL-JOB
  • 大数据产品销售数据分析:基于Python机器学习产品销售数据爬虫可视化分析预测系统设计与实现
  • 数据分析汇报七步法:用结构化思维驱动决策
  • OrangePi Zero 3学习笔记(Android篇)1 - 搭建环境
  • 第三节:Vben Admin 最新 v5.0 对接后端登录接口(下)
  • 【愚公系列】《Manus极简入门》022-艺术创作顾问:“艺术灵感使者”
  • Vue3路由模式为history,使用nginx部署上线后刷新404的问题
  • 【IP101】图像特征提取技术:从传统方法到深度学习的完整指南
  • R 语言科研绘图第 45 期 --- 桑基图-和弦
  • Factorio 异星工厂 [DLC 解锁] [Steam] [Windows SteamOS]
  • JAVA SE(9)——多态
  • Axure疑难杂症:深度理解与认识“事件”“动作”(玩转交互)
  • 数据中台产品功能介绍
  • Rice Science∣武汉大学水稻研究团队发现水稻壁相关激酶OsWAKg16和OsWAKg52同时调控水稻抗病性和产量
  • CSS中的@import指令
  • 深入解析二维矩阵搜索:LeetCode 74与240题的两种高效解法对比
  • 【C++游戏引擎开发】第31篇:物理引擎(Bullet)—碰撞检测系统
  • 质量员考试案例题有哪些常见考点?
  • K8S PV 与 PVC 快速开始、入门实战
  • C++负载均衡远程调用学习之集成测试与自动启动脚本
  • Spark,所用几个网页地址
  • PaddlePaddle 和PyTorch选择与对比互斥