微信扫码
添加专属顾问
我要投稿
掌握智能体开发的关键技术,探索Langchain框架下的实用工具集成。 核心内容: 1. 智能体开发中工具调用的重要性与核心理念 2. Langchain框架下的工具集成与函数实现 3. 实例演示:基于pandas的智能数据分析工具开发过程
“ 工具调用是大模型智能体的核心理念,没有工具就没有智能体的存在。”
智能体开发是大模型应用中一个重要的概念,也是大模型应用的未来;而关于智能体的开发有各种各样的概念,但核心无非有两个一个是函数调用,另一个就是工具的实现。
关于函数调用有两种方式,其一是之前的function call,其二是现在比较火的MCP协议;不管是fc还是MCP目的都是让大模型能够调用外部的工具来实现具体的功能。而今天我们主要介绍的就是基于Langchain框架来实现各种工具。
基于Langchain的工具开发
在智能体开发中,工具是一个很重要的概念,操作数据库需要数据库工具,访问搜索引擎需要搜索工具等等;可以说在智能体中所有的外部调用都是以工具的形式来体现的。
而在实际的开发过程中,工具主要是以函数和服务的形式出现;比如说定义一个访问搜索引擎的工具,只需要封装一个函数;让大模型自己去生成函数需要的参数,最后再交给python引擎执行,然后获取结果。
而在Langchain中提供了大量的封装好的工具给我们使用,如下图所示:
Langchain中集成和封装了大量的工具供大家使用,可以满足不同的业务场景,比如说有搜索,代码解释器,数据库访问等多种类型。
下面以基于pandas的智能数据分析为例,演示怎么实现一个简单的excel数据分析。
首先需要安装langchain相关的包
# 安装包pip install --upgrade langchain_openai pip install --upgrade langchain
langchain提供的操作pandas的函数主要是
create_pandas_dataframe_Agent实例化pandas Agent
agent = create_pandas_dataframe_agent(self.llm, df_list, allow_dangerous_code=True, verbose=True)
完整代码如下,当然用户也可以直接查看官方文档自己手动实现
文档地址如下:
https://python.langchain.ac.cn/docs/integrations/tools/pandas/
import osimport loggingimport pandas as pdfrom langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agentfrom langchain_openai import ChatOpenAI,OpenAI# 需要换成你自己的参数openai_api_key = "api_key"openai_api_base = "openai_url"model = "model"# Adjust logging levels for specific libraries to reduce noiselogging.getLogger("openai").setLevel(logging.DEBUG)logging.getLogger("langchain").setLevel(logging.DEBUG)logging.getLogger("httpx").setLevel(logging.DEBUG)logging.getLogger("httpcore").setLevel(logging.DEBUG)logger = logging.getLogger(__name__)logging.basicConfig(level=logging.INFO, # 设置日志级别为DEBUGformat='%(asctime)s - %(name)s - %(levelname)s - %(message)s', # 定义日志格式datefmt='%Y-%m-%d %H:%M:%S' # 定义时间格式)class LangChainPandas:def __init__(self, model, temperature=0.8):os.environ['OPENAI_API_KEY'] = openai_api_keyos.environ['OPENAI_API_BASE'] = openai_api_base# self.llm = ChatOpenAI(model_name=model, verbose=True, temperature=temperature)self.llm = OpenAI(model_name=model, openai_api_base=openai_api_base, openai_api_key=openai_api_key, temperature=temperature)def create_agent(self, path_list):df_list = [pd.read_excel(path) for path in path_list]agent = create_pandas_dataframe_agent(self.llm, df_list, allow_dangerous_code=True, verbose=True)# agent = create_pandas_dataframe_agent(# self.llm,# df,# verbose=True,# allow_dangerous_code=True,# agent_type=AgentType.OPENAI_FUNCTIONS,# )return agentdef chat(self, query, path_list):agent = self.create_agent(path_list)result = agent.invoke(query)return result.get('output', "")if __name__ == "__main__":agent = LangChainPandas(model)# excel文件路径path_list = ["path1", "path2"]while True:query = input("请输入您的问题: ")result = agent.chat(query, path_list)print(f"result: {result}")
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-29
为什么我们选择 LangGraph 作为智能体系统的技术底座?
2025-10-27
Langchain 、 Manus 组了一个研讨会:Agent越智能,死得越快!
2025-10-23
LangChain V1.0 深度解析:手把手带你跑通全新智能体架构
2025-10-23
LangChain 与 LangGraph 双双发布 1.0:AI 智能体框架迎来里程碑时刻!
2025-10-19
AI 不再“乱跑”:LangChain × LangGraph 打造可控多阶段智能流程
2025-10-15
LangChain对话Manus创始人:顶级AI智能体上下文工程的“满分作业”首次公开
2025-10-09
Langchain回应OpenAI:为什么我们不做拖拉拽工作流
2025-09-21
告别无效检索:我用LangExtract + Milvus升级 RAG 管道的实战复盘
2025-09-13
2025-09-21
2025-10-19
2025-08-19
2025-08-17
2025-09-19
2025-09-12
2025-09-06
2025-08-03
2025-08-29
2025-10-29
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13
2025-05-21
2025-05-19