MCPcopy Index your code
hub / github.com/NVIDIA-NeMo/RL / TaskDataSpec

Class TaskDataSpec

nemo_rl/data/interfaces.py:56–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54
55@dataclass
56class TaskDataSpec:
57 task_name: Optional[str] = None
58 # prompt
59 prompt_file: Optional[PathLike] = None
60
61 system_prompt_file: Optional[PathLike] = None
62
63 def __post_init__(self) -> None:
64 def load_prompt_file(
65 prompt_file: Optional[PathLike],
66 ) -> Optional[str]:
67 """Load prompt from file if it exists, otherwise return as is."""
68 if prompt_file is None:
69 return None
70 if os.path.exists(prompt_file):
71 with open(prompt_file, "r", encoding="utf-8") as f:
72 return f.read()
73 else:
74 raise FileNotFoundError(f"Prompt file {prompt_file} not found")
75
76 # Load prompts from files if they exist
77 self.system_prompt = load_prompt_file(self.system_prompt_file)
78 self.prompt = load_prompt_file(self.prompt_file)
79
80 def copy_defaults(self, from_spec: "TaskDataSpec") -> None:
81 """Apply default values from another Task instance for any None attributes."""
82 default_attrs = {
83 "system_prompt": from_spec.system_prompt,
84 "prompt": from_spec.prompt,
85 }
86
87 for attr_name, default_value in default_attrs.items():
88 if getattr(self, attr_name) is None:
89 setattr(self, attr_name, default_value)
90
91
92class TaskDataProcessFnCallable(Protocol):

Callers 15

__init__Method · 0.90
set_task_specMethod · 0.90
__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
create_dataloaderFunction · 0.90

Calls

no outgoing calls