SkyOSFullCore / core /loader.py
sky-meilin's picture
Update core/loader.py
1c4f02d verified
Raw
History Blame Contribute Delete
1.63 kB
# core/loader.py
from datasets import load_dataset
import os
class DatasetLoader:
def __init__(self):
print("DatasetLoader geladen")
self.hf_token = os.getenv("HF_TOKEN", None)
self.datasets = {
"matrix_game": "Skywork/Matrix-Game-3.0",
"framework_storage": "sky-meilin/SkyAiFramework-storage"
}
def list_datasets(self):
return list(self.datasets.keys())
def load(self, dataset_name: str, name: str = None):
if dataset_name not in self.datasets:
raise ValueError(
f"Dataset '{dataset_name}' nicht registriert."
)
dataset_path = self.datasets[dataset_name]
try:
# name erlaubt das Laden von Unterordnern/Konfigurationen, falls nötig
dataset = load_dataset(
dataset_path,
name=name,
token=self.hf_token
)
return dataset
except Exception as e:
raise RuntimeError(f"Fehler beim Laden von {dataset_name}: {str(e)}")
def load_split(self, dataset_name: str, split: str = None, name: str = None):
dataset = self.load(dataset_name, name=name)
# Falls das Dataset direkt ein einzelnes Dataset ist (kein Dict mit Splits)
if not hasattr(dataset, "keys"):
return dataset
if split is None:
split = list(dataset.keys())[0]
if split not in dataset:
raise ValueError(
f"Split '{split}' existiert nicht. Verfügbar: {list(dataset.keys())}"
)
return dataset[split]