欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > LangChain入门(六)Agent

LangChain入门(六)Agent

2025/5/8 0:05:12 来源:https://blog.csdn.net/Angellyouran/article/details/147722172  浏览:    关键词: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);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词