mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-04-25 17:10:51 +00:00
Add attributes for curriculum
Co-authored-by: EduardDurech <39579228+EduardDurech@users.noreply.github.com>
This commit is contained in:
parent
bea9e6d96a
commit
8772041afb
6 changed files with 246 additions and 1 deletions
|
|
@ -2,6 +2,7 @@ import random
|
|||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
|
||||
|
|
@ -112,5 +113,36 @@ class ChainSum(ProceduralDataset):
|
|||
return expression, result
|
||||
|
||||
|
||||
class ChainSumCurriculum(BaseCurriculum):
|
||||
def __init__(self):
|
||||
super().__init__(ChainSumCurriculum.__name__, ChainSumConfig)
|
||||
|
||||
# Define attributes
|
||||
self._define_attributes(
|
||||
(
|
||||
RangeAttributeDefinition(
|
||||
name="num_terms",
|
||||
levels=[2, 3, 4, 5],
|
||||
default_level=0, # Start with 2 terms
|
||||
description="Maximum number of terms in the expression",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=2, # Ensure at least 2 terms
|
||||
lower_field_name="min_terms",
|
||||
upper_field_name="max_terms",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="num_digits",
|
||||
levels=[1, 2, 4, 10],
|
||||
default_level=0, # Start with 1-digit numbers
|
||||
description="Number of digits in each operand",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=1, # Ensure numbers are at least 1 digit
|
||||
lower_field_name="min_digits",
|
||||
upper_field_name="max_digits",
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
# Register the dataset
|
||||
register_dataset("chain_sum", ChainSum, ChainSumConfig)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue