GitHub - AMA-CMFAI/LAMBDA: This is the offical repository of paper "LAMBDA: A large Model Based Data Agent". https://www.polyu.edu.hk/ama/cmfai/lambda.html

GitHub

4 min read Original article ↗

LAMBDA is a data analysis agent that turns natural-language questions into reproducible analysis workflows. Upload a dataset, ask a question, and LAMBDA can inspect the data, write and run code, create visualizations, summarize findings, and generate reports or notebooks from the session.

The public web app is available at https://lambda.com.ai. This repository contains the runnable LAMBDA codebase, including the React frontend, FastAPI backend, model interface, file workspace, and analysis tools.

Features

  • Conversational data analysis with executable Python and shell tools.
  • Beautiful and intuitive UI for data analysis.
  • Autonomous dataset exploration for CSV, Excel, text, and other common files.
  • Persistent workspace per conversation, so variables and generated files stay available throughout the analysis.
  • Automatic chart, table, report, notebook, and artifact tracking in the Files panel.
  • Export to Jupyter Notebook, Markdown/report bundles, PDF reports, and slides.
  • English and Chinese UI support, including Chinese report generation when XeLaTeX and CJK fonts are installed.
  • Configurable OpenAI-style model endpoint and model list.
  • Local SQLite storage for conversations, uploads, and generated artifacts.

Quick Start

Requirements:

  • Python 3.11 or newer
  • Node.js 20 or newer
  • npm
  • Optional for PDF/Chinese reports: TeX Live with XeLaTeX

Create your backend configuration and start both services:

cp backend/.env.example backend/.env
# Edit backend/.env and set OPENAI_API_KEY, OPENAI_BASE_URL, and MODEL_LIST.
./start.sh

Open the app:

Stop the app:

If the default ports are already in use:

BACKEND_PORT=8010 FRONTEND_PORT=3010 ./start.sh

Model Configuration

LAMBDA talks to models through an OpenAI-style chat completions interface. Set the endpoint and the models you want to expose in backend/.env:

OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://api.openai.com/v1
MODEL_LIST='["mimo-v2.5-pro","deepseek-v4-pro"]'

OPENAI_BASE_URL should be the base URL of an OpenAI-compatible API. LAMBDA will call:

{OPENAI_BASE_URL}/chat/completions

MODEL_LIST is a JSON array of model IDs. These IDs appear in the model picker and are sent to the provider unchanged. The first model in the list is used as the default model unless DEFAULT_MODEL is also set.

How To Use

  1. Open http://localhost:3000.
  2. Choose a model from the picker.
  3. Upload one or more data files, or start with an example dataset.
  4. Ask a question, such as:
Analyze this dataset, identify the main patterns, create visualizations, and
write a report with the most important findings.

For a hands-off workflow, use Autonomous Exploration. LAMBDA will inspect the dataset, plan the analysis, run code, build charts, and produce a report.

Exports And Files

Each conversation has its own workspace under:

backend/data/workspaces/<conversation_id>/

Uploaded files, charts, reports, notebooks, and other generated artifacts are shown in the Files panel. Runtime data is stored under backend/data/, including:

backend/data/
  lambda_local.db
  uploads/
  workspaces/

These files are intentionally ignored by git.

Manual Setup

Backend:

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

Frontend:

cd frontend
npm install
npm run dev

PDF And Chinese Report Support

For LaTeX/PDF reports, especially Chinese reports, install the optional system dependencies once:

./scripts/install-system-deps.sh

This installs pdflatex, xelatex, Chinese LaTeX packages, and Noto CJK fonts for Chinese charts and reports. You can also let start.sh install them when missing:

LAMBDA_AUTO_INSTALL_SYSTEM_DEPS=1 ./start.sh

This uses sudo apt-get, so it is opt-in.

Runtime Note

LAMBDA executes analysis code on the machine where the backend is running. Use it with trusted users and trusted data, and do not expose the backend directly to untrusted traffic without adding sandboxing or other isolation.

Versions

The latest code is on main and tagged as lambda-v2.

The previous open-source version is preserved at:

  • Branch: legacy-open-source
  • Tag: lambda-v1

Acknowledgements

Thank the contributors and the communities for their support and feedback.


If you find our work useful in your research, consider citing our paper by:

@article{sun2026lambda,
  title={Lambda: A large model based data agent},
  author={Sun, Maojun and Han, Ruijian and Jiang, Binyan and Qi, Houduo and Sun, Defeng and Yuan, Yancheng and Huang, Jian},
  journal={Journal of the American Statistical Association},
  volume={121},
  number={553},
  pages={1--13},
  year={2026},
  publisher={Taylor \& Francis}
}

@article{sun2026survey,
  title={A survey on large language model-based agents for statistics and data science},
  author={Sun, Maojun and Han, Ruijian and Jiang, Binyan and Qi, Houduo and Sun, Defeng and Yuan, Yancheng and Huang, Jian},
  journal={The American Statistician},
  volume={80},
  number={3},
  pages={331--344},
  year={2026},
  publisher={Taylor \& Francis}
}

@article{sun2026rejoinder,
  title={Rejoinder to the Discussions on “LAMBDA: A Large Model Based Data Agent”},
  author={Sun, Maojun and Han, Ruijian and Jiang, Binyan and Qi, Houduo and Sun, Defeng and Yuan, Yancheng and Huang, Jian},
  journal={Journal of the American Statistical Association},
  volume={121},
  number={553},
  pages={36--43},
  year={2026},
  publisher={Taylor \& Francis}
}

@article{sun2026rejoinder2,
  title={Rejoinder to the Discussions on “A Survey on Large Language Model-based Agents for Statistics and Data Science” A Statistical View of LLM-Based Data Science Agents: Reasoning, Uncertainty, and Reliability},
  author={Sun, Maojun and Han, Ruijian and Jiang, Binyan and Qi, Houduo and Sun, Defeng and Yuan, Yancheng and Huang, Jian},
  journal={The American Statistician},
  volume={80},
  number={3},
  pages={352--359},
  year={2026},
  publisher={Taylor \& Francis}
}

Star History

Star History Chart