Skip to content

openadapt-ml 0.14.1: multiple broken internal imports prevent serve, train, and demo commands #999

@ultimus247

Description

@ultimus247

Environment

  • OS: Windows 2019 Server
  • Python: 3.14.3
  • openadapt-ml: 0.14.1 (also reproduced on main branch)
  • GPU: None (CPU mode)

Description

Several commands fail with misleading "openadapt-ml not installed" errors due to internal import mismatches within openadapt-ml. The except ImportError blocks in cli.py mask the real errors.

Bugs Found

1. cli.py imports non-existent serve_dashboard

openadapt/cli.py serve function imports serve_dashboard from openadapt_ml.cloud.local, but the actual function is cmd_serve.

2. cmd_serve imports non-existent functions from trainer.py

cloud/local.py:cmd_serve() imports regenerate_local_dashboard and update_current_symlink_to_latest from openadapt_ml.training.trainer — neither exists. Only get_current_job_directory is available.

3. train.py uses wrong parameter name for capture_to_episode

scripts/train.py line ~41 calls capture_to_episode(capture_path, goal=goal) but the actual signature is capture_to_episode(capture_path, instruction=None).

4. demo_policy.py imports non-existent generate_synthetic_sessions

scripts/demo_policy.py imports generate_synthetic_sessions from openadapt_ml.ingest.synthetic, but this function doesn't exist.

5. Missing configs/ directory

The configs/ directory (containing qwen3vl_capture.yaml, qwen3vl_capture_4bit.yaml, etc.) is not included in the pip package, causing training to fail with "Config not found".

Steps to Reproduce

pip install openadapt[all]
openadapt serve --port 8080    # "Error: openadapt-ml not installed"
openadapt train start --capture MyCapture --model qwen3vl-2b  # Same error

Workarounds

Detailed workarounds involve:

  • Installing from main branch: pip install --force-reinstall git+https://github.com/OpenAdaptAI/openadapt-ml.git@main
  • Monkey-patching missing regenerate_local_dashboard and update_current_symlink_to_latest functions for serve command
  • Patching goal=goal to instruction=goal in scripts/train.py
  • Manually creating config YAML files with model, lora, and training settings
  • Installing missing dependency: pip install datasets

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions