mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-04-25 17:10:51 +00:00
parent
a49ed1342f
commit
80d74d96fb
3 changed files with 78 additions and 3 deletions
|
|
@ -20,7 +20,7 @@ from .group_anagrams import GroupAnagramsConfig, GroupAnagramsCurriculum, GroupA
|
|||
from .isomorphic_strings import IsomorphicStringsConfig, IsomorphicStringsCurriculum, IsomorphicStringsDataset
|
||||
from .jugs import JugsConfig, JugsDataset
|
||||
from .letter_counting import LetterCountingConfig, LetterCountingCurriculum, LetterCountingDataset
|
||||
from .letter_jumble import LetterJumbleConfig, LetterJumbleDataset
|
||||
from .letter_jumble import LetterJumbleConfig, LetterJumbleCurriculum, LetterJumbleDataset
|
||||
from .manipulate_matrix import ManipulateMatrixConfig, ManipulateMatrixCurriculum, ManipulateMatrixDataset
|
||||
from .number_filtering import NumberFilteringConfig, NumberFilteringDataset
|
||||
from .number_sorting import NumberSortingConfig, NumberSortingDataset
|
||||
|
|
@ -69,6 +69,7 @@ __all__ = [
|
|||
"LetterCountingCurriculum",
|
||||
"LetterJumbleConfig",
|
||||
"LetterJumbleDataset",
|
||||
"LetterJumbleCurriculum",
|
||||
"NumberFilteringConfig",
|
||||
"NumberFilteringDataset",
|
||||
"NumberSortingConfig",
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ from typing import Any, Optional
|
|||
|
||||
from reasoning_gym.data import read_data_file
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
QUESTION_TEMPLATE = """Your task is to unsramble words in a sentence.
|
||||
|
|
@ -107,6 +108,11 @@ class LetterJumbleDataset(ProceduralDataset):
|
|||
"corruption_level": corruption_level,
|
||||
"scrambled_words": scrambled_words,
|
||||
"original_words": selected_words,
|
||||
"difficulty": {
|
||||
"word_len": (self.config.min_word_len, self.config.max_word_len),
|
||||
"words": num_words,
|
||||
"corruption_level": corruption_level,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -154,4 +160,43 @@ class LetterJumbleDataset(ProceduralDataset):
|
|||
return partial_score
|
||||
|
||||
|
||||
register_dataset("letter_jumble", LetterJumbleDataset, LetterJumbleConfig)
|
||||
class LetterJumbleCurriculum(BaseCurriculum):
|
||||
def __init__(self):
|
||||
super().__init__(LetterJumbleCurriculum.__name__, LetterJumbleConfig)
|
||||
|
||||
# Define attributes
|
||||
self._define_attributes(
|
||||
RangeAttributeDefinition(
|
||||
name="word_len",
|
||||
levels=[5, 15, 30, 50],
|
||||
default_level=1,
|
||||
description="Word length",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=2,
|
||||
lower_field_name="min_word_len",
|
||||
upper_field_name="max_word_len",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="words",
|
||||
levels=[10, 50, 100, 500],
|
||||
default_level=1,
|
||||
description="Number of words",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=5,
|
||||
lower_field_name="min_words",
|
||||
upper_field_name="max_words",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="corruption_level",
|
||||
levels=[0.1, 0.3, 0.6, 0.9],
|
||||
default_level=1,
|
||||
description="Corruption level",
|
||||
attr_type=AttributeType.APPEND,
|
||||
min_value=0.0,
|
||||
lower_field_name="min_corruption_level",
|
||||
upper_field_name="max_corruption_level",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
register_dataset("letter_jumble", LetterJumbleDataset, LetterJumbleConfig, LetterJumbleCurriculum)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue