使用LangChain、CrewAI、AutoGen搭建数据分析Agent。
微信搜索关注《AI科技论谈》

如今这个数据驱动的时代,企业都依赖数据分析师解读复杂数据,挖掘可操作的信息以助力决策。若用AI提升此过程的效率与扩展性会怎样呢?数据分析智能体便应运而生了。
数据分析智能体能自动开展分析任务、执行代码,还能对数据查询做出自适应回应。LangGraph、CrewAI 和 AutoGen 是构建此类人工智能智能体的三大热门框架。本文运用并对比这三个框架,来构建一个简易的数据分析智能体,看看它们在实际应用中的表现究竟如何。
1 数据分析智能体的工作原理
数据分析智能体首先接收用户的查询,据此生成读取和分析文件数据的代码。接着利用 Python REPL 工具执行该代码,并把执行结果回传至智能体。随后智能体对收到的结果加以分析,进而回复用户查询。鉴于大型语言模型(LLM)可生成任意代码,在本地环境执行其生成的代码时必须谨慎小心,确保整个过程安全可靠。
2 使用 LangGraph 构建数据分析智能体
-
先决条件
在构建智能体之前,确保你已获取所需大型语言模型的必要 API 密钥,使用这些 API 密钥加载 .env 文件。
from dotenv import load_dotenv
load_dotenv("./env")
- 所需库
-
langchain — 0.3.7
-
langchain - experimental — 0.3.3
-
langgraph — 0.2.52
-
crewai — 0.80.0
-
Crewai - tools — 0.14.0
-
autogen - agentchat — 0.2.38
-
准备就绪后,开始构建智能体。
2.1 使用 LangGraph 构建数据分析智能体的步骤
1).导入必要的库
import pandas as pd
from IPython.display import Image, display
from typing import List, Literal, Optional, TypedDict, Annotated
from langchain_core.tools import tool
from langchain_core.messages import ToolMessage
from langchain_experimental.utilities import PythonREPL
from langchain_openai import ChatOpenAI
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_condition
from langgraph.checkpoint.memory import MemorySaver
2). 定义状态
class State(TypedDict):
messages: Annotated[list, add_messages]
graph_builder = StateGraph(State)
3). 定义大型语言模型和代码执行函数,并将该函数绑定到大型语言模型
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.1)
@tool
def python_repl(code: Annotated[str, "filename to read the code from"]):
"""使用此函数执行从文件读取的 Python 代码。如果你想查看某个值的输出,
请确保正确读取代码,并使用 `print(...)` 将其打印出来,这对用户是可见的。"""
try:

最低0.47元/天 解锁文章
939

被折叠的 条评论
为什么被折叠?



