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

您可以直接从后端下载制品,无需使用外部工具: python backend.download_files(list_of_filepaths)
有关完成后如何清理沙箱,请参阅提供商指南

后续步骤

既然您已经构建了一个数据分析代理,请探索这些资源以扩展其功能:
  • 后端:了解深度代理后端系统
  • 沙箱:查看用于沙箱代码执行的后端,包括安全考虑和高级配置
  • 自定义:了解如何使用不同的模型、工具、提示和规划策略自定义您的代理
  • CLI:尝试深度代理CLI作为终端编码代理,以在本地协助数据分析和其他代理任务
  • 技能:为您的代理配备用于常见工作流的可重用技能
  • Human in the Loop:为数据分析工作流中的关键操作添加交互式审批步骤