使用LangChain、CrewAI、AutoGen搭建数据分析Agent

使用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:
    
### 使用 AutoGen 搭建智能体 #### 配置环境和依赖 为了开始使用 AutoGen 构建智能体,首先需要确保本地环境已经正确配置。这通常涉及安装 Python 和其他必要的库文件。具体来说,可以通过 pip 工具来安装 autogen 库以及其他可能需要用到的支持包[^1]。 ```bash pip install autogen ``` #### 创建多智能体系统 AutoBuild 提供了一种简便的方法来自动生成多智能体系统。利用 `AgentBuilder` 类可以根据给定的任务描述自动生成相应的智能体,并分配各自的角色以完成特定目标。这意味着开发者只需要提供少量指导性的输入即可实现复杂功能的自动化构建[^2]。 #### 开发实例——自动相声对话应用 作为入门级项目之一,官方文档推荐了一个有趣的案例研究:创建两个能够互相交流并模仿传统中国曲艺形式“相声”的 AI 智能体。此过程不仅展示了 Autogen 在娱乐领域内的潜力,同时也为初学者提供了实践机会去理解其工作机制[^3]。 以下是简化版本的应用程序代码片段: ```python from autogen import AssistantAgent, UserProxyAgent # 初始化用户代理和其他参数... user_proxy = UserProxyAgent( name="User", ) # 设置助理角色及其行为模式... assistant_a = AssistantAgent( name="AssistantA" ) assistant_b = AssistantAgent( name="AssistantB" ) # 启动会话流程控制逻辑... def start_crosstalk(): user_proxy.initiate_chat(assistant_a, message="让我们开始一段精彩的相声表演吧!") start_crosstalk() ``` 这段脚本定义了两名参与者(即两位演员),并通过调用 `initiate_chat()` 方法触发它们之间的互动。随着对话的发展,每位演员都会依据预设规则作出回应,进而形成连贯的故事线或讨论话题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值