SAGE Data 快速使用指南
🚀 30 秒上手
from sage.data import DataManager
# 初始化
manager = DataManager.get_instance()
# 查看架构
manager.print_structure()
# 使用方式 1:按用途访问(推荐)
rag_data = manager.get_by_usage("rag")
qa_loader = rag_data.load("qa_base")
queries = qa_loader.load_queries()
# 使用方式 2:直接访问数据源
qa_loader = manager.get_by_source("qa_base")
queries = qa_loader.load_queries()
📊 可用的数据源
| 数据源 |
描述 |
类型 |
qa_base |
QA 知识库 |
text |
bbh |
BIG-Bench Hard 推理任务 |
text |
mmlu |
MMLU 多任务评估 |
text (HuggingFace) |
gpqa |
研究生级别专家问题 |
text (HuggingFace) |
locomo |
长上下文记忆数据 |
text |
🎯 可用的用途
| 用途 |
包含数据集 |
适用场景 |
rag |
qa_base, mmlu, locomo, bbh, gpqa |
RAG 实验 |
libamm |
libamm_data |
矩阵近似乘法基准测试 |
neuromem |
conversation_data (=locomo) |
记忆系统实验 |
💡 实用示例
示例 1: RAG 实验
from sage.data import DataManager
manager = DataManager.get_instance()
# 获取 RAG 相关数据
rag = manager.get_by_usage("rag")
# 加载知识库
kb_loader = rag.load("qa_base")
knowledge_base = kb_loader.load_knowledge_base()
# 加载查询
queries = kb_loader.load_queries()
# 加载 MMLU 用于评估
mmlu_loader = rag.load("mmlu")
subjects = mmlu_loader.get_all_subjects()
示例 2: 直接访问特定数据集
from sage.data import DataManager
manager = DataManager.get_instance()
# 直接加载 BBH 数据集
bbh_loader = manager.get_by_source("bbh")
tasks = bbh_loader.get_task_names()
examples = bbh_loader.load_task("boolean_expressions")
示例 3: 使用便捷函数
from sage.data import load_dataset, get_usage_view
# 方式 1: 直接加载
qa_loader = load_dataset("qa_base")
# 方式 2: 通过用途
rag = get_usage_view("rag")
qa_loader = rag.load("qa_base")
示例 4: 探索数据集
from sage.data import DataManager
manager = DataManager.get_instance()
# 列出所有数据源
print("Available sources:", manager.list_sources())
# 列出所有用途
print("Available usages:", manager.list_usages())
# 查看元数据
metadata = manager.get_source_metadata("qa_base")
print(f"Dataset: {metadata.name}")
print(f"Type: {metadata.type}")
print(f"Size: {metadata.size}")
🔧 添加自己的数据
添加数据源
- 在
sources/ 下创建目录
- 添加
dataset.yaml
- 添加包装器
__init__.py
添加用途
- 在
usages/ 下创建目录
- 添加
config.yaml 指定需要的数据集
详见:Extension Guide
⚡ 直接访问数据源
from sage.data.sources.qa_base import QADataLoader
qa_loader = QADataLoader()
queries = qa_loader.load_queries()
📚 更多文档