DeepAnalyze是一款为自主数据科学设计的智能代理大语言模型。 用户无需人工干预,它就可以独立完成整个数据科学流程的任务,这些任务包括数据准备、分析、建模、可视化和报告生成。DeepAnalyze能够对多种数据来源进行深入研究,不管是数据库、CSV和Excel这样的结构化数据,还是JSON、XML这样的半结构化数据,甚至是TXT和Markdown这样的非结构化文本,它都能处理。最终,它可以产出分析师级别的专业研究报告。最重要的是,DeepAnalyze项目完全开源,它的模型、代码、训练数据和演示都可公开获取,方便用户在自己的环境中部署,或者根据自身需求进行二次开发,打造专属的数据分析助手。
功能列表
- 全流程自动化: 能够自动执行数据科学的每一步,从最初的数据清洗和准备,到数据分析、建立模型,再到最后的数据可视化和生成报告,整个过程无需人工介入。
- 开放式数据研究: 不局限于具体的任务指令,可以对给定的多种数据源进行探索性的深度研究,并产出高质量的研究报告。
- 支持多样化数据源: 支持处理多种格式的数据文件,包括结构化数据(如数据库、CSV、Excel)、半结构化数据(如JSON、XML、YAML)和非结构化数据(如TXT、Markdown)。
- 完全开源: 模型的权重、源代码、训练数据以及一个可交互的演示界面全部开放,允许开发者进行定制化开发或部署私有化的数据分析服务。
使用帮助
下面是关于如何安装和使用DeepAnalyze的详细步骤说明。
1. 环境配置
开始使用前,你需要先配置好运行所需的软件环境。推荐使用conda来管理环境,可以确保依赖包之间不会产生冲突。
首先,创建一个名为deepanalyze的conda环境,并指定Python版本为3.12。
conda create -n deepanalyze python=3.12 -y
然后,激活刚刚创建的环境。
conda activate deepanalyze
接下来,安装所有必需的依赖包。项目的根目录中提供了一个requirements.txt文件,包含了所有需要的包及其版本。
pip install -r requirements.txt
如果需要进行模型训练,还需要额外安装两个开发库。
cd ./deepanalyze/ms-swift/ && pip install -e .
cd ./deepanalyze/SkyRL/ && pip install -e .
2. 启动本地演示界面
项目提供了一个带有图形用户界面的演示版本,让你能以更直观的方式与DeepAnalyze交互。
首先,需要将整个项目代码克隆到你的本地电脑。
git clone https://github.com/ruc-datalab/DeepAnalyze.git
cd DeepAnalyze
进入项目目录后,执行启动脚本来运行API和前端界面。
bash start.sh
脚本成功运行后,在浏览器中打开网址 http://localhost:4000 就可以开始使用了。 你可以上传数据文件,然后让DeepAnalyze执行数据分析任务。
如果你想停止服务,可以运行以下命令:
bash stop.sh
如果你希望将服务部署在特定的IP地址下,而不是默认的localhost,你需要修改两个文件中的IP地址:./demo/backend.py 和 ./demo/chat/lib/config.ts。
3. 使用命令行进行交互
对于喜欢使用命令行的开发者,也可以直接通过Python脚本与DeepAnalyze进行交互。这种方式更灵活,方便进行自动化测试和开发。
首先,你需要使用vllm来部署DeepAnalyze-8B模型。
vllm serve DeepAnalyze-8B
然后,你可以使用下面的Python代码来执行数据科学任务。你可以指定具体的任务,也可以让它进行开放式的数据研究。你可以提供任意数量和类型的数据源。
from deepanalyze import DeepAnalyzeVLLM
# 定义你的指令和数据文件
# 指令可以是“生成一份数据科学报告”,也可以是更具体的任务
prompt = """# Instruction
Generate a data science report.
# Data
File 1: {"name": "bool.xlsx", "size": "4.8KB"}
File 2: {"name": "person.csv", "size": "10.6KB"}
File 3: {"name": "disabled.xlsx", "size": "5.6KB"}
File 4: {"name": "enlist.csv", "size": "6.7KB"}
File 5: {"name": "filed_for_bankrupcy.csv", "size": "1.0KB"}
File 6: {"name": "longest_absense_from_school.xlsx", "size": "16.0KB"}
File 7: {"name": "male.xlsx", "size": "8.8KB"}
File 8: {"name": "no_payment_due.xlsx", "size": "15.6KB"}
File 9: {"name": "unemployed.xlsx", "size": "5.6KB"}
File 10: {"name": "enrolled.csv", "size": "20.4KB"}"""
# 指定存放数据文件的工作区路径
workspace = "/path/to/your/data/example/student_loan/"
# 初始化模型,这里的路径是你存放DeepAnalyze-8B模型文件的路径
deepanalyze = DeepAnalyzeVLLM("/path/to/your/checkpoints/deepanalyze-8b/")
# 生成结果
answer = deepanalyze.generate(prompt, workspace=workspace)
# 打印模型的思考过程和最终报告
print(answer["reasoning"])
运行以上代码后,你将得到一份详细的研究报告,这份报告可以直接渲染成PDF格式。
4. 部署API服务
DeepAnalyze还支持部署成一个与OpenAI兼容的API服务,方便你将它集成到现有的应用程序中。
你需要运行后端服务脚本。在运行前,请确保修改demo/backend.py文件中的MODEL_PATH变量,将其值设置为你的vllm模型名称。
python demo/backend.py
服务启动后,你就可以像调用OpenAI API一样,通过发送HTTP请求来和模型交互了。
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/"
}'
应用场景
- 商业智能分析
对于商业分析师,可以利用DeepAnalyze快速处理销售数据、用户行为数据等,自动生成数据洞察报告,省去繁琐的数据处理和图表制作时间,从而更快地做出商业决策。 - 学术研究
科研人员在处理实验数据或社会调查数据时,可以借助DeepAnalyze进行探索性数据分析、假设检验和模型构建,从而发现数据背后隐藏的规律,加速研究进程。 - 金融风控
在金融领域,可以将DeepAnalyze用于分析贷款申请人的信用数据,识别潜在的欺诈风险。它能处理多种数据源,并构建预测模型,为风险评估提供依据。 - 教育数据挖掘
教育机构可以利用DeepAnalyze分析学生的学习行为数据和成绩数据,了解学生的学习路径和困难点,从而为制定个性化的教学方案提供支持。
QA
- DeepAnalyze是什么?
DeepAnalyze是第一个用于自主数据科学的智能代理大语言模型。它能像人类数据科学家一样,独立完成从数据准备到报告生成的完整流程。 - 使用DeepAnalyze需要付费吗?
不需要。DeepAnalyze是一个完全开源的项目,它的模型、代码和数据都是免费的,你可以自由使用和修改。 - DeepAnalyze可以处理哪些类型的数据?
它可以处理多种类型的数据,包括存储在数据库、CSV或Excel文件中的结构化数据,JSON或XML等半结构化数据,以及TXT或Markdown格式的非结构化文本数据。 - 我可以在自己的电脑上运行DeepAnalyze吗?
可以的。只要你的电脑满足运行大语言模型所需的硬件配置,就可以按照官方文档提供的步骤在本地部署和使用DeepAnalyze。





























