40 lines
1.6 KiB
Python
40 lines
1.6 KiB
Python
import pytest
|
|
|
|
|
|
@pytest.mark.integration
|
|
def test_t1_n2_real_zaya_smoke(tmp_path):
|
|
"""T=1 N=2 on a tiny prompt — should produce non-empty text + complete audit."""
|
|
from markovian_rsa_mlx import MarkovianRSAOrchestrator, RSAConfig
|
|
|
|
orch = MarkovianRSAOrchestrator.from_pretrained("kyr0/zaya1-base-8b-MLX")
|
|
cfg = RSAConfig(
|
|
rounds=1, parallel=2, aggregation_subsample=2,
|
|
chunk_tokens=128, tail_tokens=32, serial=True, seed=0,
|
|
)
|
|
audit_path = tmp_path / "audit.jsonl"
|
|
text, result = orch.solve("What is the capital of France?",
|
|
config=cfg, return_audit=True, audit_path=audit_path)
|
|
assert isinstance(text, str)
|
|
assert len(text) > 0
|
|
assert audit_path.exists()
|
|
audit_lines = audit_path.read_text().strip().split("\n")
|
|
assert len(audit_lines) >= 5
|
|
assert result.stats.total_generated_tokens > 0
|
|
|
|
|
|
@pytest.mark.integration
|
|
def test_t2_n2_real_zaya_smoke(tmp_path):
|
|
"""T=2 N=2 sanity — same prompt should produce final text after aggregation."""
|
|
from markovian_rsa_mlx import MarkovianRSAOrchestrator, RSAConfig
|
|
|
|
orch = MarkovianRSAOrchestrator.from_pretrained("kyr0/zaya1-base-8b-MLX")
|
|
cfg = RSAConfig(
|
|
rounds=2, parallel=2, aggregation_subsample=2,
|
|
chunk_tokens=128, tail_tokens=32, serial=True, seed=0,
|
|
)
|
|
text, result = orch.solve("Compute 7*8.", config=cfg, return_audit=True,
|
|
audit_path=tmp_path / "audit.jsonl")
|
|
assert len(result.rounds) == 2
|
|
assert all(len(r.traces) == 2 for r in result.rounds)
|
|
assert all(t.parent_trace_ids for t in result.rounds[1].traces)
|