AMA-CMFAI/LAMBDA · 上手攻略

  • 仓库:AMA-CMFAI/LAMBDA
  • 链接:https://github.com/AMA-CMFAI/LAMBDA
  • 分类:AI 数据分析 · LLM Agent · 数据科学工具
  • 作者:Tom
  • 更新:2026-08-27

是什么

LAMBDA(Large Model Based Data Agent)是一个将自然语言问题转化为可复现数据分析工作流的 AI Agent 系统。用户上传数据集、用自然语言提问,LAMBDA 自动完成数据探索、编写并运行代码、生成可视化、撰写报告,并支持导出为 Jupyter Notebook、Markdown、PDF 或幻灯片。

该项目有对应的发表论文(Sun et al., 2026, JASA),论文讨论了 LLM Agent 在统计与数据科学中的能力边界与不确定性。仓库代码最新为 lambda-v2 分支,前代开源版本在 legacy-open-source 分支(lambda-v1 tag)。

核心定位:比 ChatGPT Code Interpreter 更自主、更持久的数据分析 Agent——每个对话有独立持久工作区,变量和生成文件跨轮次保留,且支持中文报告输出。


解决什么问题

传统数据分析流程:Python 脚本 → Jupyter Notebook → 可视化 → 报告,门槛高、无法对话式迭代。

LAMBDA 的目标:任何懂业务但不懂代码的人,上传 CSV / Excel / 文本文件 → 用自然语言提问 → 获得完整分析报告,无需写一行代码。

典型场景: - 数据分析师想让 AI 快速了解新数据集的结构与主要模式 - 业务人员上传运营数据,想得到中文分析报告 - 研究者需要对多个数据集批量做探索性分析(Autonomous Exploration 模式)


快速安装

环境要求

  • Python 3.11+
  • Node.js 20+
  • npm
  • 可选(PDF/中文报告):TeX Live + XeLaTeX

快速启动

# 1. 克隆仓库
git clone https://github.com/AMA-CMFAI/LAMBDA.git
cd LAMBDA

# 2. 配置后端
cp backend/.env.example backend/.env
# 编辑 backend/.env,填入:
# OPENAI_API_KEY=your-api-key
# OPENAI_BASE_URL=https://api.openai.com/v1   # 或其他兼容端点
# MODEL_LIST='["gpt-4o","deepseek-v4-pro"]'  # 逗号分隔的模型 ID 列表

# 3. 一键启动(前后端同时运行)
./start.sh

# 4. 打开浏览器
open http://localhost:3000

手动分步启动

# 后端
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# 手动编辑 .env 后:
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

# 前端(另开终端)
cd frontend
npm install
npm run dev

指定端口

BACKEND_PORT=8010 FRONTEND_PORT=3010 ./start.sh

中文报告依赖(可选)

# 自动安装 pdflatex + CJK 字体(需要 sudo)
LAMBDA_AUTO_INSTALL_SYSTEM_DEPS=1 ./start.sh

# 或手动运行脚本
./scripts/install-system-deps.sh

核心用法

基础对话式分析

  1. 打开 http://localhost:3000
  2. 选择模型(从 MODEL_LIST 配置的列表中选)
  3. 上传数据文件(CSV / Excel / 文本),或使用示例数据集
  4. 输入自然语言问题,例如:
Analyze this dataset, identify the main patterns, create visualizations,
and write a report with the most important findings.

自动探索模式(Autonomous Exploration)

无需人工引导,LAMBDA 会自主完成:数据检查 → 计划分析 → 运行代码 → 生成图表 → 输出报告。适合对多个文件批量做EDA。

模型接入配置

LAMBDA 通过 OpenAI 兼容接口调用模型,支持任意provider(OpenAI / DeepSeek / 本地模型等):

# backend/.env 示例
OPENAI_API_KEY=sk-xxxx
OPENAI_BASE_URL=https://api.openai.com/v1
MODEL_LIST='["gpt-4o","gpt-4o-mini","deepseek-chat"]'
DEFAULT_MODEL=gpt-4o   # 可选,指定默认模型

支持的 API 格式:

POST {OPENAI_BASE_URL}/chat/completions

工作区结构

每个对话的工作区路径:backend/data/workspaces/<conversation_id>/

生成的文件(图表、报告、Notebook)在 UI 的 Files 面板中可见。

本地数据库:backend/data/lambda_local.db(对话历史、上传记录)

⚠️ 注意:backend/data/ 目录已在 .gitignore 中,不会被提交。


典型适用场景

场景 说明
探索性数据分析(EDA) 上传 CSV,快速了解分布、缺失值、异常值
批量报告生成 Autonomous 模式批量跑多个数据集
中文报告输出 配置 XeLaTeX + CJK 字体后自动生成中文 PDF
Jupyter Notebook 导出 分析过程导出为可复现的 .ipynb 文件
多模型对比 MODEL_LIST 配置多个模型,UI 中快速切换对比结果

坑与注意

  1. 安全边界./start.sh 默认不做沙箱隔离。LAMBDA 在运行机器上执行任意 Python/Shell 代码,不要直接暴露到公网或对不可信用户开放

  2. PDF/中文报告依赖:若不安装 TeX Live,./start.sh 会在缺少时尝试自动安装(LAMBDA_AUTO_INSTALL_SYSTEM_DEPS=1);手动安装可运行 ./scripts/install-system-deps.sh

  3. v1 vs v2 分支:当前主线为 lambda-v2main 分支),legacy-open-source 分支为 v1。两者 API 和功能差异较大,安装前确认分支。

  4. MODEL_LIST 格式:必须是有效 JSON 数组,模型 ID 区分大小写且须与实际 provider 支持的 ID 完全一致;填错模型 ID 会导致调用失败但无明确错误提示。

  5. 工作区存储:对话产生的大量中间文件默认存在 backend/data/workspaces/,长期使用后可能积累大量文件,建议定期清理。

  6. 中文 UI:在配置了 CJK 字体后,模型生成中文报告的能力取决于模型本身(非 LAMBDA 本身的翻译)。


与同类对比

维度 LAMBDA ChatGPT Code Interpreter GitHub Copilot Data pandas AI
部署方式 自托管(本地运行) OpenAI 托管 云端 自托管 / API
中文报告 ✅(需 TeX)
持久工作区 ✅(跨轮次保留变量) ❌(每轮独立)
Autonomous 模式 ✅(全自动探索)
导出格式 Notebook / MD / PDF / Slides 仅 Notebook Markdown
数据格式 CSV/Excel/文本/更多 CSV/Excel/图片 代码片段 CSV
许可证 学术用途(论文已发表) 闭源 闭源 AGPL

核心差异:LAMBDA 是面向数据科学家的完整工作流 Agent(不只是代码执行器),且支持中文报告;自托管意味着数据和代码完全在本地。


一句话推荐结论

如果你需要一款本地部署、中文友好、支持自动探索式数据分析的 LLM Agent 工具,LAMBDA 是目前学术发表背书、代码完整度最高的开源选择——尤其是需要把数据分析结果直接导出为中文 PDF 报告的场景。