科学工具
科学工具让世界更美好
让世界更美好

自主数据科学代理大型语言模型 DeepAnalyze自主数据科学代理大型语言模型 DeepAnalyze

DeepAnalyze 是用于自主数据科学的代理式大型语言模型,无需人工干预就能自主完成广泛的数据中心任务,能完成从数据准备、分析、建模、可视化到报告生成的整个数据科学流程。DeepAnalyze 支持对结构化、半结构化及非结构化等多样化数据源进行开放式深度研究,最终产出专业级别的分析报告。DeepAnalyze 提供了一个完全开源的解决方案,包括模型、代码、训练数据和演示,让用户能够轻松部署或扩展自己的数据分析助手,通过简洁的指令交互就能启动完成的数据分析流程。

DeepAnalyze 核心功能

1、包括完整数据科学流程:能自动执行数据准备、分析、建模、可视化、报告生成等各类数据科学任务,从数据处理到结果输出,无需人工在各环节间手动衔接。

2、支持开放式数据研究:可对多种数据源开展深度研究,包括结构化数据(数据库、CSV、Excel)、半结构化数据(JSON、XML、YAML)和非结构化数据(TXT、Markdown),最终生成符合分析师专业水平的研究报告。

3、完全开源:模型、代码、训练数据和演示版本均对外开源,开发者可以基于此部署属于自己的数据分析师工具,也能根据需求扩展功能。

上传数据后,DeepAnalyze就能开展面向数据的深度研究,处理各类以数据为核心的任务。

DeepAnalyze 本地部署演示版本

1、克隆此仓库并下载DeepAnalyze-8B模型。

2、运行以下脚本启动API和界面,之后通过浏览器访问(http://localhost:4000)即可使用:

cd demo/chat
npm install
cd ..
bash start.sh

3、停止API和界面可执行:

bash stop.sh

若需在特定IP下部署,需在./demo/backend.py./demo/chat/lib/config.ts文件中,将localhost替换为目标IP地址。

DeepAnalyze 安装部署

环境依赖

需安装的主要包包括:torch==2.6.0transformers==4.53.2vllm==0.8.5

环境搭建命令:

conda create -n deepanalyze python=3.12 -y
conda activate deepanalyze
pip install -r requirements.txt

# 用于训练的额外安装步骤
(cd ./deepanalyze/ms-swift/ && pip install -e .)
(cd ./deepanalyze/SkyRL/ && pip install -e .)

命令交互

1、通过vllm部署DeepAnalyze-8B:vllm serve DeepAnalyze-8B

2、运行脚本处理数据科学任务,支持指定任务类型(包括特定数据任务和开放式数据研究)、数据源数量和数据源类型(结构化、半结构化、非结构化数据均可)。

示例代码:

from deepanalyze import DeepAnalyzeVLLM

prompt = """# 指令
生成一份数据科学报告。

# 数据
文件1: {"name": "bool.xlsx", "size": "4.8KB"}
文件2: {"name": "person.csv", "size": "10.6KB"}
文件3: {"name": "disabled.xlsx", "size": "5.6KB"}
文件4: {"name": "enlist.csv", "size": "6.7KB"}
文件5: {"name": "filed_for_bankrupcy.csv", "size": "1.0KB"}
文件6: {"name": "longest_absense_from_school.xlsx", "size": "16.0KB"}
文件7: {"name": "male.xlsx", "size": "8.8KB"}
文件8: {"name": "no_payment_due.xlsx", "size": "15.6KB"}
文件9: {"name": "unemployed.xlsx", "size": "5.6KB"}
文件10: {"name": "enrolled.csv", "size": "20.4KB"}"""

workspace = "/home/u2023000922/zhangshaolei/deepanalyze_dev/example/student_loan/"

deepanalyze = DeepAnalyzeVLLM(
    "/fs/fast/u2023000922/zhangshaolei/checkpoints/deepanalyze-8b/"
)

answer = deepanalyze.generate(prompt, workspace=workspace)
print(answer["reasoning"])

运行上述代码后,会得到一份深度研究报告,该报告可渲染为PDF格式。报告示例片段如下:

# 学生入学模式与机构转学综合分析
### 引言与研究背景
学生入学模式分析是教育研究的重要方向,对机构规划、资源分配和学生支持服务具有重要意义。本综合研究考察了涵盖6所教育机构的1194条入学记录数据集,并结合了补充的人口统计、财务和就业状况数据。研究采用网络分析、预测建模和时间模式识别等先进分析技术,揭示宏观层面的机构趋势和微观层面的学生流动模式。数据集具有纵向性质,包含15个月的入学记录,为了解学生在高等教育系统中的复杂路径动态提供了独特视角。

我们的方法结合了对入学时长、转学概率和财务指标的定量分析与定性研究……

该研究通过提供机构转学网络及其与学生成果关系的实证证据,为不断增长的学生流动文献做出了贡献……

DeepAnalyze API使用

1、构建OpenAI风格API,需修改demo/backend.py中的MODEL_PATH = "DeepAnalyze-8B"为实际的vllm模型名称,然后执行脚本:

python demo/backend.py

2、API流式响应调用示例:

curl -X POST http://localhost:8200/chat/completions \
     -H "Content-Type: application/json" \
     -d '{
           "messages": [
             {
               "role": "user",
               "content": "Generate a data science report."
             }
           ],
           "workspace": "example/student_loan/"
         }'

v 自定义开发指南

1、下载模型与训练数据

• 下载基础模型DeepSeek-R1-0528-Qwen3-8B,也可以直接基于DeepAnalyze-8B进行微调。若使用DeepSeek-R1-0528-Qwen3-8B作为基础模型,需添加特殊令牌,命令如下:

MODEL_PATH=DeepSeek-R1-0528-Qwen3-8B的路径
SAVE_PATH=添加词汇后模型的保存路径

python deepanalyze/add_vocab.py \
  --model_path "$MODEL_PATH" \
  --save_path "$SAVE_PATH" \
  --add_tags

• 下载训练数据DataScience-Instruct-500K,并执行解压:

unzip DataScience-Instruct-500K/RL/data.zip

2、基于课程的智能体训练

• 单能力微调:./scripts/single.sh

• 多能力智能体训练(冷启动):./scripts/multi_coldstart.sh

• 多能力智能体训练(强化学习):./scripts/multi_rl.sh

3、评估

DeepAnalyze 已使用vLLM统一了大多数现有数据科学基准的评估(更多基准还在持续添加中),开发者可以参考./playground中的说明,快速评估DeepAnalyze或自定义开发的智能体。