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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions