agentleFS
openvinotoolkitopenvinotoolkit/openvino.genai/.github/skills/model-checker/SKILL.md

model-checker

Skill608 starsChanged 34 days agoApache-2.0View on GitHub

Validate a newly supported optimum-intel model with OpenVINO GenAI. Use when: checking new model support, verifying model export to OpenVINO IR, running GenAI inference test with llm_bench, benchmarking model accuracy with who-what-benchmark.

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Verify a HuggingFace model exports to OpenVINO IR and runs inference

    line 14
  2. Distinctive:

    Check model accuracy after conversion using who-what-benchmark

    line 15
  3. Distinctive:

    Ensure the Python virtual environment is activated before running any commands.

    line 34
  4. Very specific:

    Check if already activated: if which python or where python points inside the virtual environment, it's already activated.

    line 37
  5. Distinctive:

    Run the checker script from the repository root:

    line 48
  6. Very specific:

    Run python3 .github/skills/model-checker/scripts/check_model.py --help for the full argument reference including defaults.

    line 63
  7. Distinctive:

    When a previous run already passed some steps (e.g.

    line 67
  8. Distinctive:

    Do not use skip flags on the first run.

    line 74

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Model Checker

Validates that a HuggingFace model exported via optimum-intel works correctly with OpenVINO GenAI pipelines and passes accuracy benchmarks.

When to Use

  • A new model was added to optimum-intel and needs GenAI validation
  • Verify a HuggingFace model exports to OpenVINO IR and runs inference
  • Check model accuracy after conversion using who-what-benchmark

Inputs

The user must provide:

  • model_id: HuggingFace model identifier (e.g. tencent/HY-MT1.5-1.8B) or path to an existing OpenVINO IR directory (e.g. /tmp/my_model_ir). When a local path is provided, export is skipped automatically.
  • task: optimum-cli export task. Supported values:
    • text-generation-with-past
    • image-text-to-text
    • text-to-image
    • image-to-image
    • feature-extraction
    • text-classification
    • text-to-video
    • automatic-speech-recognition

Prerequisites

Ensure the Python virtual environment is activated before running any commands.

  1. Locate the virtual environment — check for common directories at the repository root: .venv/, venv/, env/. Use list_dir to find it. If none is found, ask the user for its location.
  2. Check if already activated: if which python or where python points inside the virtual environment, it's already activated. If not, proceed to activate it.
  3. Activate based on the current platform:
    • Linux/macOS: source <venv_path>/bin/activate
    • Windows (cmd): <venv_path>\Scripts\activate.bat
    • Windows (PowerShell): <venv_path>\Scripts\Activate.ps1
  4. The background terminal doesn't inherit the venv activation. Run it with the venv activated in the same command.

Procedure

Step 1: Run check_model.py

Run the checker script from the repository root:

python3 .github/skills/model-checker/scripts/check_model.py \
    --model-id <model_id_or_path> \
    --task <export_task> \
    --work-dir .model_enabler/<model_type>/model_checker

Determine <model_type> from the model's config.json. When --model-id is a path to an existing directory, the script treats it as a pre-converted OpenVINO IR model and automatically skips the export step. Keep each model type in its own work directory so parallel or resumed enablement runs do not overwrite one another's artifacts.

Run python3 .github/skills/model-checker/scripts/check_model.py --help for the full argument reference including defaults. The --work-dir is where all intermediate files, logs, and outputs will be stored. Do not pipe with any additional logging or redirection — the script handles its own logging.

Skip flags (for re-runs after a fix)

When a previous run already passed some steps (e.g. export succeeded but inference test failed), use skip flags to avoid repeating expensive passed steps:

  • --skip-export — reuse existing IR in <work-dir>/model_ir instead of re-exporting (avoids re-downloading weights). When --model-id is a local path, export is bypassed automatically and that directory is used directly instead of <work-dir>/model_ir.
  • --skip-llm-bench — skip the llm_bench inference test
  • --skip-wwb — skip the who-what-benchmark accuracy check
  • --skip-wwb-ground-truth — skip WWB ground-truth collection and reuse <work-dir>/wwb/gt.csv; useful when iterating on GenAI target evaluation after ground truth was already collected

Do not use skip flags on the first run. Only use them when retrying after a targeted fix.

Step 2: Interpret Results

The script logs progress for each step and exits with code 0 (pass) or non-zero (fail).

Pass criteria:

  • Export: exit code 0
  • Inference test (llm_bench): exit code 0, metrics line logged
  • WWB accuracy (depends on --wwb-base mode):

    • --wwb-base optimum (default):
      1. Optimum ground truth generation: exit code 0
      2. GenAI target evaluation: similarity ≥ SIMILARITY_THRESHOLD
    • --wwb-base hf:
      1. HF ground truth generation: exit code 0
      2. Optimum target evaluation: similarity ≥ SIMILARITY_THRESHOLD
      3. GenAI target evaluation: similarity ≥ SIMILARITY_THRESHOLD

    Note: the WWB step is skipped automatically for automatic-speech-recognition (no WWB support).

Log files: each tool writes its own dedicated log; paths are printed during execution. When a step fails, read the corresponding log for the full traceback and context before drawing any conclusions.

work-dir: work-dir is in current workspace, prefer to use tool calls to access logs and outputs instead of custom bash commands.

Step 3: Report Results

Results format:

  • Model: <model_id> (<task>)
  • Validation: PASSED / FAILED
  • Performance (if passed):
    • 1st token latency, 2nd token latency, throughput
    • Optimum similarity / GenAI similarity (if applicable)
  • Logs: paths to export log, llm_bench log, WWB logs
  • Failed step analysis (if failed): summary of the failure and relevant log path for details

Security

  • NEVER invoke optimum-cli, wwb, or llm_bench directly. Always go through check_model.py.
  • NEVER modify model_id — pass it exactly as provided by the user.

Download now (ZIP)

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. rainoftime/pl-skills★ 17same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository8 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.