Spaces:
Sleeping
Sleeping
File size: 1,743 Bytes
be9f416 8270f31 be9f416 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | """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()
|