LostDecimal's picture
imp DSL, reward structure, paradigm shift
8270f31
Raw History Blame Contribute Delete
1.74 kB
"""Run a tiny local Ontology Architect rollout."""
from __future__ import annotations
import argparse
try:
from ontology_architect.baselines import get_baseline
from ontology_architect.config import load_config
from ontology_architect.models import OntologyArchitectAction
from ontology_architect.server.ontology_architect_environment import OntologyArchitectEnvironment
except ImportError: # pragma: no cover
from baselines import get_baseline
from config import load_config
from models import OntologyArchitectAction
from server.ontology_architect_environment import OntologyArchitectEnvironment
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--config", default="configs/tiny_smoke.json")
parser.add_argument("--baseline", default="linear", choices=["static", "linear", "teacher", "oracle", "dual_fluid_dsl"])
parser.add_argument("--steps", type=int, default=3)
args = parser.parse_args()
config = load_config(args.config)
env = OntologyArchitectEnvironment(config)
observation = env.reset()
module = get_baseline(args.baseline)
print(observation.text.splitlines()[0])
for step in range(args.steps):
observation = env.step(
OntologyArchitectAction(
theory_module=module,
revision_note=f"smoke baseline={args.baseline} step={step}",
)
)
metrics = observation.metadata.get("last_metrics", {})
print(
f"step={step} reward={observation.reward:.4f} "
f"log_likelihood={metrics.get('log_likelihood')} done={observation.done}"
)
if observation.done:
break
if __name__ == "__main__":
main()