Skip to content

Commit e553efa

Browse files
committed
Add skeleton alignment task
1 parent 5b3d113 commit e553efa

12 files changed

Lines changed: 81 additions & 16 deletions

aif_gen/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""AIF-Gen: A tool for generating synthetic, continual RLHF preference datasets."""
22

3-
__version__ = "0.1.0"
3+
__version__ = '0.1.0'
44

55
__all__ = [
6-
"__version__",
6+
'__version__',
77
]

aif_gen/main.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

aif_gen/task/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from aif_gen.task.alignment_task import AlignmentTask
2+
from aif_gen.task.domain import Domain
3+
from aif_gen.task.objective import Objective
4+
from aif_gen.task.preference import Preference

aif_gen/task/alignment_task.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from .domain import Domain
2+
from .objective import Objective
3+
from .preference import Preference
4+
5+
6+
class AlignmentTask:
7+
r"""Encapsulates the specification of an alignment problem.
8+
9+
Args:
10+
domain (Domain): Domain of the alignment task.
11+
objective (Objective): Objective of the alignment task.
12+
preference (Preference): Preference of the alignment task.
13+
"""
14+
15+
def __init__(
16+
self, domain: Domain, objective: Objective, preference: Preference
17+
) -> None:
18+
self._domain = domain
19+
self._objective = objective
20+
self._preference = preference
21+
22+
def __str__(self) -> str:
23+
return f'Domain: {self.domain}, Objective: {self.objective}, Preference: {self.preference}'
24+
25+
@property
26+
def domain(self) -> Domain:
27+
return self._domain
28+
29+
@property
30+
def objective(self) -> Objective:
31+
return self._objective
32+
33+
@property
34+
def preference(self) -> Preference:
35+
return self._preference

aif_gen/task/domain.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Domain:
2+
def __str__(self) -> str:
3+
return 'Mock Domain'

aif_gen/task/objective.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Objective:
2+
def __str__(self) -> str:
3+
return 'Mock Objective'

aif_gen/task/preference.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Preference:
2+
def __str__(self) -> str:
3+
return 'Mock Preference'

test/test_alignment_task.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from aif_gen.task import AlignmentTask, Domain, Objective, Preference
2+
3+
4+
def test_init():
5+
domain = Domain()
6+
objective = Objective()
7+
preference = Preference()
8+
9+
task = AlignmentTask(domain, objective, preference)
10+
assert (
11+
str(task)
12+
== 'Domain: Mock Domain, Objective: Mock Objective, Preference: Mock Preference'
13+
)

test/test_domain.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import pytest
2+
3+
4+
@pytest.mark.skip(reason='Not implemented')
5+
def test_init():
6+
pass

test/test_mock.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)