LangChain-Tool和Agent结合智谱AI大模型应用实例2
1.Tool(工具)
定义与功能
单一功能模块:Tool是完成特定任务的独立工具,每个工具专注于一项具体的操作,例如:搜索、计算、API调用等
无决策能力:工具本身不决定何时被调用,仅在被触发时执行预设操作
输入输出明确:每个工具需明确定义输入、输出参数及格式
2.Agent(智能体)
定义与功能
任务协调者:Agent是自主决策的智能体,负责解析用户意图,规划任务步骤,调用工具并整合结果
决策逻辑:基于 LLM的推理能力,动态决定使用哪些工具及执行顺序
上下文管理:维护任务状态,处理工具返回结果,最终生成用户友好的响应
工作流程:理解意图>规划步骤>执行工具>综合响应
LangChain实现了模块化与智能化的结合,Tool提供基础能力,Agent赋予系统自主决策的灵活性,两者协同完成从简单查询到复杂问题求解的多样化任务。
LangChain提供了很多内置Tool
工具 | LangChain中文网
以下以Tavily搜索工具为例
首先需要进入Tavily AI注册账号,获取APIKEY
实例1:不使用大模型,直接调用工具
import os
from langchain_community.tools import TavilySearchResultsos.environ['TAVILY_API_KEY'] = 'tvly-****'
search_tool = TavilySearchResults(max_results=5)
res = search_tool.invoke('上海明天的天气怎么样?')
print(res)
执行结果:
[{'title': '气象报告 - 上海市气象局', 'url': 'http://sh.cma.gov.cn/sh/tqyb/qxbg/', 'content': '今天夜里和明天上海市天气预报: 多云到阴,今天半夜转阴有阵雨或雷雨,局部地区累积雨量可达大雨,明天阴到多云有短时阵雨,明天下午转多云,今天半夜到明天早晨沿江', 'score': 0.8536326}, {'title': '气象预报', 'url': 'https://bmxx.swj.sh.gov.cn/wxld/default.asp?sqType=tqyb', 'content': '今天夜里和明天上海市天气预报: 多云到阴,明天晴到多云。 西北风6级阵风7-8级,沿江沿海地区7级阵风8-9级,明天偏西风5级阵风6-7级,沿江沿海地区6-7级阵风8级。 明天最高气', 'score': 0.843393}, {'title': '预报- 上海 - 中国天气网', 'url': 'https://www.weather.com.cn/weather/101020100.shtml', 'content': '8日(今天)\n ======\n晴\n2/-2℃\n<3级\n\n\n9日(明天)\n ======\n晴\n4/0℃\n<3级\n\n\n10日(后天)\n =======\n多云转阴\n9/4℃\n<3级\n\n\n11日(周二)\n =======\n阴转小雨\n12/7℃\n<3级\n\n\n12日(周三)\n =======\n小雨转阴\n10/4℃\n3-4级\n\n\n13日(周四)\n =======\n阴\n10/2℃\n<3级\n\n\n14日(周五)\n =======\n小雨\n8/4℃\n<3级转3-4级\n\n\n分时段预报 生活指数\n蓝天预报\n蓝天预报综合天气现象、能见度、空气质量等因子,预测未来一周的天空状况。\n\n天空蔚蓝 可见透彻蓝天,或有蓝天白云美景。\n天空淡蓝 天空不够清澈,以浅蓝色为主。\n天空阴沉 阴天或有雨雪,天空灰暗。\n\n天空灰霾 出现霾或沙尘,天空灰蒙浑浊。\n\n\n易发 _感冒指数_昼夜温差大,易感冒。\n\n\n较不宜 _运动指数_天气寒冷,推荐您进行室内运动。\n\n\n极不易发 _过敏指数_无需担心过敏,可放心外出,享受生活。\n\n\n 寒冷 _穿衣指数_建议着厚羽绒服等隆冬服装。 [...] 较冷 _穿衣指数_建议着厚外套加毛衣等服装。\n\n\n不宜 _洗车指数_有雨,雨水和泥水会弄脏爱车。\n\n\n最弱 _紫外线指数_辐射弱,涂擦SPF8-12防晒护肤品。\n\n\n少发 _感冒指数_无明显降温,感冒机率较低。\n\n\n较不宜 _运动指数_有降水,推荐您在室内进行休闲运动。\n\n\n极不易发 _过敏指数_无需担心过敏,可放心外出,享受生活。\n\n\n 冷 _穿衣指数_建议着棉衣加羊毛衫等冬季服装。\n\n\n不宜 _洗车指数_有雨,雨水和泥水会弄脏爱车。\n\n\n最弱 _紫外线指数_辐射弱,涂擦SPF8-12防晒护肤品。\n\n\n少发 _感冒指数_无明显降温,感冒机率较低。\n\n\n较适宜 _运动指数_气温较低,在户外运动请注意增减衣物。\n\n\n极不易发 _过敏指数_无需担心过敏,可放心外出,享受生活。\n\n\n 较冷 _穿衣指数_建议着厚外套加毛衣等服装。\n\n\n较不宜 _洗车指数_路面有积水,车子易被溅上泥水。\n\n\n最弱 _紫外线指数_辐