Skip to main content

概述

本指南演示如何使用深度智能体构建一个数据分析智能体。数据分析任务通常需要规划、代码执行以及处理脚本、报告和图表等工件——这些都是深度智能体设计用来处理的能力。 我们将构建的智能体将能够:
  1. 接收用于分析的 CSV 文件
  2. 执行探索性数据分析并生成可视化图表
  3. 将结果分享到 Slack 频道
Slack 集成是可选的。该智能体可以修改为将工件保存在本地或通过其他渠道分享结果。

关键概念

本教程涵盖:
  • 用于沙盒化代码执行的后端
  • 用于外部集成的自定义工具

环境配置

安装

安装核心依赖:
pip

可选依赖

在本教程中,我们将使用:
pip
这些服务是可选的,但对于任何生产环境,强烈建议使用沙盒环境。你也可以使用本地 shell 后端(注意重要的安全考虑)或直接从后端下载工件。

LangSmith

你用 LangChain 构建的许多应用程序将包含多个步骤和多次 LLM 调用。随着这些应用程序变得越来越复杂,能够检查链或智能体内部究竟发生了什么变得至关重要。最好的方法是使用LangSmith 在上述链接注册后,请确保设置环境变量以开始记录追踪:
或者在 Python 中设置:

设置后端

深度智能体使用后端在沙盒化环境中执行代码。 详细设置请参见可用提供商

上传示例数据

创建示例销售数据并上传到后端:

实现自定义工具

数据分析任务可能会产生报告或图表等工件。 下面这个简单的工具使用 backend.download_files 下载这些工件,然后使用 Slack SDK 上传它们。 我们也可以让智能体列出相关文件路径而不是直接上传,这样相关方可以根据需要单独获取这些文件。
通常建议避免将凭证和其他机密信息放入沙盒。这里我们在沙盒外部的工具中管理 Slack 令牌。

运行代理

让我们实例化一个代理:
我们包含: 现在让我们调用我们的代理。
可展开
查看此次执行的完整 LangSmith 追踪

结果

代理成功分析数据并将包含可视化的综合报告分享到 Slack:
Slack 中的销售分析结果

代理生成的分析报告和可视化仪表板已发送到 Slack

您可以直接从后端下载工件,无需使用外部工具:
请参阅提供商指南,了解完成后如何清理沙箱。

后续步骤

现在您已经构建了一个数据分析代理,请探索以下资源以扩展其能力:
  • 后端:了解 Deep Agents 后端系统
  • 沙箱:查看用于沙箱化代码执行的后端,包括安全考虑因素和高级配置
  • 定制化:了解如何使用不同的模型、工具、提示和规划策略来定制您的代理
  • CLI:尝试使用 Deep Agents CLI 作为终端编码代理,在本地协助进行数据分析和其他代理任务
  • 技能:为您的代理配备可重用的技能,以处理常见工作流
  • 人机协作:为数据分析工作流中的关键操作添加交互式审批步骤