mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-08 19:10:56 +00:00
32 lines
996 B
Python
32 lines
996 B
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the terms described in the LICENSE file in
|
|
# the root directory of this source tree.
|
|
from typing import AbstractSet, Dict
|
|
|
|
from llama_stack.apis.dataset import BaseDataset
|
|
|
|
|
|
class DatasetRegistry:
|
|
_REGISTRY: Dict[str, BaseDataset] = {}
|
|
|
|
@staticmethod
|
|
def names() -> AbstractSet[str]:
|
|
return DatasetRegistry._REGISTRY.keys()
|
|
|
|
@staticmethod
|
|
def register(name: str, task: BaseDataset) -> None:
|
|
if name in DatasetRegistry._REGISTRY:
|
|
raise ValueError(f"Dataset {name} already exists.")
|
|
DatasetRegistry._REGISTRY[name] = task
|
|
|
|
@staticmethod
|
|
def get_dataset(name: str) -> BaseDataset:
|
|
if name not in DatasetRegistry._REGISTRY:
|
|
raise ValueError(f"Dataset {name} not found.")
|
|
return DatasetRegistry._REGISTRY[name]
|
|
|
|
@staticmethod
|
|
def reset() -> None:
|
|
DatasetRegistry._REGISTRY = {}
|