Skip to main content

SAGE Data - Unified data loaders for memory benchmark datasets (LongMemEval, Locomo, MemAgentBench, etc.)

Project description

SAGE Data 📊

Dataset management module for SAGE benchmark suite

Provides unified access to multiple datasets through a two-layer architecture:

  • Sources: Physical datasets (qa_base, bbh, mmlu, gpqa, locomo, orca_dpo)
  • Usages: Logical views for experiments (rag, libamm, neuromem, agent_eval)

Quick Start

Automatic Setup (Recommended)

# Clone the repository
git clone https://github.com/intellistream/sageData.git
cd sageData

# Run quickstart script (handles everything including Git LFS)
./quickstart.sh

The quickstart.sh script will:

  • ✅ Detect and install Git LFS if needed (for dataset files)
  • ✅ Pull LFS-tracked data files automatically
  • ✅ Verify build/runtime prerequisites
  • ✅ Optionally install package dependencies

Note: Some datasets (like LibAMM benchmark files) use Git LFS. The quickstart script will handle this automatically, but you can also manually install Git LFS:

  • Ubuntu/Debian: sudo apt install git-lfs
  • macOS: brew install git-lfs
  • Windows: Download from git-lfs.github.com

Manual Setup

# Install Git LFS (if needed)
git lfs install

# Pull LFS data files
git lfs pull

# Use existing non-venv Python environment (recommended: conda)
# conda activate <your-env>
python -m pip install -e ".[dev]"
from sage.data import DataManager

manager = DataManager.get_instance()

# Access datasets by logical usage profile
rag = manager.get_by_usage("rag")
qa_loader = rag.load("qa_base")  # already instantiated
queries = qa_loader.load_queries()

# Or fetch a specific data source directly
bbh_loader = manager.get_by_source("bbh")
tasks = bbh_loader.get_task_names()

🛠️ CLI 使用方式(精简版)

安装后可直接使用 sage-data 命令:

sage-data list               # 显示数据源状态(已下载/缺失/远程)
sage-data usage rag          # 查看某个 usage 的数据映射
sage-data download locomo    # 下载指定数据源(仅支持部分源)

# 选项
sage-data list --json        # JSON 输出,便于脚本处理
sage-data --data-root /path  # 指定自定义数据根目录

当前支持自动下载的源:locomo, longmemeval, memagentbench, mmlu。 其他如 gpqa, orca_dpo 采用按需在线加载(Hugging Face),qa_base/bbh 等随包内置。

Available Datasets

Dataset Description Download Required Storage
qa_base Question-Answering with knowledge base ❌ No (included) Local files
locomo Long-context memory benchmark ✅ Yes (python -m locomo.download) Local files (2.68MB)
bbh BIG-Bench Hard reasoning tasks ❌ No (included) Local JSON files
mmlu Massive Multitask Language Understanding 📥 Optional (python -m mmlu.download --all-subjects) On-demand or Local (~160MB)
gpqa Graduate-Level Question Answering ✅ Auto (Hugging Face) On-demand (~5MB cached)
orca_dpo Preference pairs for alignment/DPO ✅ Auto (Hugging Face) On-demand (varies)

See examples/ for detailed usage examples.

📖 Examples

python examples/qa_examples.py            # QA dataset usage
python examples/locomo_examples.py        # LoCoMo dataset usage
python examples/bbh_examples.py           # BBH dataset usage
python examples/mmlu_examples.py          # MMLU dataset usage
python examples/gpqa_examples.py          # GPQA dataset usage
python examples/orca_dpo_examples.py      # Orca DPO dataset usage
python examples/integration_example.py    # Cross-dataset integration

License

MIT License - see LICENSE file.

🔗 Links

❓ Common Issues

Q: Where's the LoCoMo data?
A: Run python -m locomo.download to download it (2.68MB from Hugging Face).

Q: How to download MMLU for offline use?
A: Run python -m mmlu.download --all-subjects to download all subjects (~160MB).

Q: GPQA access error?
A: You need to accept the dataset terms on Hugging Face: https://huggingface.co/datasets/Idavidrein/gpqa

Q: How to use Orca DPO for alignment research?
A: Use DataManager.get_by_source("orca_dpo") to get the loader, then use format_for_dpo() to prepare data for training.


Version: 0.1.0 | Last Updated: December 2025

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isage_data-0.2.3.8.tar.gz (169.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isage_data-0.2.3.8-py2.py3-none-any.whl (208.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file isage_data-0.2.3.8.tar.gz.

File metadata

  • Download URL: isage_data-0.2.3.8.tar.gz
  • Upload date:
  • Size: 169.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for isage_data-0.2.3.8.tar.gz
Algorithm Hash digest
SHA256 b4cae7cb0d181b9f700ca0f68883167c6b950e79d1906fd7cd3969742311752a
MD5 049c5f429420d5ff5d74c5554d038dd9
BLAKE2b-256 703cccfcac469f4ac274604523669baa70218e4f7a638735ace3f9b70692acad

See more details on using hashes here.

File details

Details for the file isage_data-0.2.3.8-py2.py3-none-any.whl.

File metadata

  • Download URL: isage_data-0.2.3.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 208.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for isage_data-0.2.3.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 151661e0005e0ed5ffddce78f012949f0f1298b8dd3235beb9c504735d9cd660
MD5 f96f6a5dfe7b2a662f7bb83bd0419535
BLAKE2b-256 c260d2f934b1b553701ab155429243914e86ba7ff3c0f4a81ae9f4301e5b3380

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page