mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-04-26 17:13:17 +00:00
parent
e0f8ef061d
commit
fc908d4cf4
3 changed files with 83 additions and 4 deletions
|
|
@ -10,7 +10,7 @@ from .ab import ABConfig, ABDataset
|
|||
from .base_conversion import BaseConversionConfig, BaseConversionCurriculum, BaseConversionDataset
|
||||
from .binary_alternation import BinaryAlternationConfig, BinaryAlternationCurriculum, BinaryAlternationDataset
|
||||
from .binary_matrix import BinaryMatrixConfig, BinaryMatrixCurriculum, BinaryMatrixDataset
|
||||
from .caesar_cipher import CaesarCipherConfig, CaesarCipherDataset
|
||||
from .caesar_cipher import CaesarCipherConfig, CaesarCipherCurriculum, CaesarCipherDataset
|
||||
from .count_primes import CountPrimesConfig, CountPrimesCurriculum, CountPrimesDataset
|
||||
from .cryptarithm import CryptarithmConfig, CryptarithmDataset
|
||||
from .game_of_life import GameOfLifeConfig, GameOfLifeDataset
|
||||
|
|
@ -53,6 +53,7 @@ __all__ = [
|
|||
"BaseConversionCurriculum",
|
||||
"CaesarCipherConfig",
|
||||
"CaesarCipherDataset",
|
||||
"CaesarCipherCurriculum",
|
||||
"CryptarithmConfig",
|
||||
"CryptarithmDataset",
|
||||
"GameOfLifeConfig",
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ from dataclasses import dataclass
|
|||
from random import Random
|
||||
from typing import Optional
|
||||
|
||||
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition
|
||||
from ..data import read_data_file
|
||||
from ..factory import ProceduralDataset, register_dataset
|
||||
|
||||
|
|
@ -74,8 +75,40 @@ class CaesarCipherDataset(ProceduralDataset):
|
|||
return {
|
||||
"question": f"Decrypt this Caesar cipher text: {cipher_text}. Provide only the decrypted text as your final answer.",
|
||||
"answer": sentence,
|
||||
"metadata": {"rotation": rotation, "cipher_text": cipher_text, "clear_text": sentence},
|
||||
"metadata": {
|
||||
"rotation": rotation,
|
||||
"cipher_text": cipher_text,
|
||||
"clear_text": sentence,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
register_dataset("caesar_cipher", CaesarCipherDataset, CaesarCipherConfig)
|
||||
class CaesarCipherCurriculum(BaseCurriculum):
|
||||
"""Curriculum for Caesar cipher task generation"""
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(CaesarCipherCurriculum.__name__, CaesarCipherConfig)
|
||||
|
||||
self._define_attributes(
|
||||
RangeAttributeDefinition(
|
||||
name="rotation",
|
||||
levels=[5, 10, 15, 25],
|
||||
default_level=0,
|
||||
description="Max rotation for cipher",
|
||||
attr_type=AttributeType.APPEND,
|
||||
lower_field_name="min_rotation",
|
||||
upper_field_name="max_rotation",
|
||||
),
|
||||
RangeAttributeDefinition(
|
||||
name="words",
|
||||
levels=[5, 10, 15, 25],
|
||||
default_level=0,
|
||||
description="Max number of words",
|
||||
attr_type=AttributeType.APPEND,
|
||||
lower_field_name="min_words",
|
||||
upper_field_name="max_words",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
register_dataset("caesar_cipher", CaesarCipherDataset, CaesarCipherConfig, CaesarCipherCurriculum)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue