Langchain智能体工具集成:实战精选指南

2026-06-19阅读 0热度 0
ai 人工智能

掌握智能体开发的核心技术,深入理解 Langchain 框架下的工具集成与实战应用。

本文重点:

  1. 工具调用在智能体开发中的核心地位与设计理念
  2. Langchain 框架下工具集成与函数调用的实现路径
  3. 实战案例:基于 pandas 构建智能数据分析工具的全流程

工具调用是驱动大模型智能体的底层逻辑,没有工具链的支撑,智能体就失去了执行能力。

智能体开发已成为大模型落地场景中最具潜力的方向之一。市场上关于智能体的定义繁杂,但本质离不开两大要素:函数调用能力,以及工具的具体落地形态。

当前函数调用主要分为两条路线:早期提出的 function call 范式,和近期备受关注的 MCP 协议。两者殊途同归,目标都是让大模型能调用外部工具完成实际任务。本文聚焦于 Langchain 框架,详细拆解如何在该生态中实现各类工具。

Langchain 工具开发实操

智能体开发中,一切外部交互都封装为工具。操作数据库需要数据库工具,访问搜索引擎需要搜索工具——智能体任何对外部系统的调用,最终都抽象为工具接口。

实际编码时,工具通常表现为函数或微服务。例如构建一个搜索引擎工具,只需封装一个函数,让大模型自行生成所需参数,交由 Python 引擎执行并返回结果即可。

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)

完整代码如下(也可参照官方文档手动实现):

import os
import logging
import pandas as pd
from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
from 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 noise
logging.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,  # 设置日志级别为DEBUG    
    format='%(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_key        
        os.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)        
        return agent    
        
      def 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}")

从代码可见,核心流程十分清晰:配置数据源,实例化 agent,随后即可用自然语言直接提问。官方文档提供了更多场景案例,值得进一步探索。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策