MCPcopy Create free account
hub / github.com/agentscope-ai/Trinity-RFT / Task

Class Task

trinity/common/workflows/workflow.py:21–75  ·  view source on GitHub ↗

A Task class that defines a task and its associated reward function / workflow.

Source from the content-addressed store, hash-verified

19
20@dataclass
21class Task(dict):
22 """A Task class that defines a task and its associated reward function / workflow."""
23
24 workflow: Type[Workflow] = None
25 repeat_times: Optional[int] = None
26 format_args: FormatConfig = field(default_factory=FormatConfig)
27 rollout_args: GenerationConfig = field(default_factory=GenerationConfig)
28 workflow_args: dict = field(default_factory=dict)
29 reward_fn_args: dict = field(default_factory=dict)
30 is_eval: bool = False
31 reward_fn: Optional[Type[RewardFn]] = None
32 raw_task: Optional[dict] = None # The raw data sample
33
34 # automatically assigned ids
35 batch_id: Union[int, str] = ""
36 task_id: Union[int, str] = ""
37
38 index: dict = field(default_factory=dict)
39
40 def to_workflow(
41 self,
42 model: ModelWrapper,
43 auxiliary_models: Optional[List[ModelWrapper]] = None,
44 ) -> Workflow:
45 """Convert the task to a workflow.
46
47 Args:
48 model (ModelWrapper): The rollout model for the workflow.
49 auxiliary_models (List[ModelWrapper]): The auxiliary model wrappers.
50 Workflows can access both the ModelWrapper and OpenAI client via
51 self.auxiliary_model_wrappers and self.auxiliary_models respectively.
52
53 Returns:
54 Workflow: The generated workflow object.
55 """
56 return self.workflow(
57 model=model,
58 task=self,
59 auxiliary_models=auxiliary_models,
60 )
61
62 # Deprecated property, will be removed in the future
63 @property
64 def task_desc(self) -> Union[str, None]:
65 prompt_key = self.format_args.prompt_key
66 return self.raw_task[prompt_key] if prompt_key in self.raw_task else None # type: ignore
67
68 # Deprecated property, will be removed in the future
69 @property
70 def truth(self) -> Union[str, None]:
71 response_key = self.format_args.response_key
72 return self.raw_task[response_key] if response_key in self.raw_task else None # type: ignore
73
74 def to_dict(self) -> dict:
75 return self.raw_task # type: ignore
76
77
78class Workflow:

Calls

no outgoing calls