Buckets:

Hooshaai/RL_AEGIS / tests /test_interaction.py
tahamajs's picture
download
raw
1.53 kB
"""Integration tests for multi-turn adversarial interaction loop."""
from aegis.configs.dataclasses import ModelConfig, EvidenceConfig
from aegis.environment.interaction import InteractionManager
from aegis.models.adversary import Adversary
from aegis.models.evidence_extractor import EvidenceExtractor
from aegis.models.judge import Judge
from aegis.models.nli_model import NliModel
from aegis.models.verifier import MathVerifier
from aegis.rewards.reward_composer import RewardComposer
def test_interaction_loop_mock():
# Setup mock models
judge = Judge(ModelConfig(is_mock=True))
adversary = Adversary(ModelConfig(is_mock=True))
extractor = EvidenceExtractor(EvidenceConfig(is_mock=True))
nli = NliModel(EvidenceConfig(is_mock=True), extractor=extractor)
verifier = MathVerifier()
reward_composer = RewardComposer(nli_model=nli)
manager = InteractionManager(
evidence_model=nli,
verifier=verifier,
horizon=3,
)
x = "Solve: 10 + 8"
y = "18"
episode = manager.run_episode(
x=x,
ground_truth_y=y,
judge=judge,
adversary=adversary,
reward_composer=reward_composer,
)
assert len(episode.responses) == 4 # [r_0, r_1, r_2, r_3]
assert len(episode.verdicts) == 4
assert len(episode.pressures) == 3 # [u_1, u_2, u_3]
assert len(episode.judge_rewards) == 3
assert len(episode.adversary_rewards) == 3
assert len(episode.outcome_states) == 3
assert len(episode.evidence_states) == 4

Xet Storage Details

Size:
1.53 kB
·
Xet hash:
e9c96da17304bdfee500539ba8883daee4ed3c285639ea838c4989fea9eafd6a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.