en un clic
vlm-model-enabler
Enables VLM models for GenAI VLM pipelines.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Enables VLM models for GenAI VLM pipelines.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
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.
Analyze failed llm_bench execution results for a model. Use when: checking llm_bench log, troubleshooting llm_bench fails.
Analyze results of WWB execution with a specific model with all possible backends. Use when: checking wwb logs, troubleshooting wwb fails.
Open a pull request to openvinotoolkit/openvino.genai. Use when: submitting changes, creating PR, opening pull request, pushing work for review, finalizing a task with a PR.
Update OpenVINO GenAI site documentation for API or feature changes. Use when: new pipelines, models, or use-cases are introduced; site docs need to reflect new capabilities.
| name | vlm-model-enabler |
| description | Enables VLM models for GenAI VLM pipelines. |
| argument-hint | HuggingFace model_id and task (e.g. google/gemma-3n-E2B-it image-text-to-text), or a path to an already converted OpenVINO IR model directory (model_dir). |
Enables a new VLM model in the GenAI VLM pipeline. Follows a strict 4-step workflow with checkpoints.
model_id and task (e.g. google/gemma-3n-E2B-it image-text-to-text), or path to an already exported OpenVINO IR directory..model_analysis/<model_type>_analysis.md produced by the model-analysis agent. If absent, the caller (or the user, if running this skill standalone) should invoke model-analysis first to avoid duplicating upstream inspection here. This skill does not invoke other agents itself.All intermediate assets go in .model_enabler/. Create it if it does not exist.
.py files for all experiments — avoid inline multi-line Python snippets; keep shell commands minimal and only for build/run steps.Goal: Map the model into the GenAI VLM pipeline using the upstream analysis report.
Read .model_analysis/<model_type>_analysis.md.
If it does not exist, prefer asking the caller to invoke the model-analysis agent first (it is the canonical source for upstream facts). If that is not possible — e.g. running this skill standalone without the agent available — produce an equivalent report yourself by following the procedure in .github/agents/model-analysis.agent.md and write the result to the same path. Do not skip this artifact; later steps depend on it.
Using the report, decide:
src/cpp/src/visual_language/*/classes.hpp. Pick the closest one as the reference.vlm_config.hpp, new <model_type>/classes.{hpp,cpp}, factory registrations, etc.). Use genai-vlm-architecture.md "Adding a New Model — Checklist" as the structure.Append a ## GenAI Enablement Design section to .model_analysis/<model_type>_analysis.md:
## GenAI Enablement Design
- Closest GenAI model: <name> — because <reason>
- Required changes:
- <file>: <what changes>
- Gaps: <items needing new infrastructure>
Do not proceed to Step 2 until this section exists.
Goal: VLMPipeline generates correct text with text-only input, matching optimum-intel exactly.
Follow the checklist in genai-vlm-architecture.md "Adding a New Model":
vlm_config.hpp, string mapping to vlm_config.cpp<model_type>/classes.hpp and <model_type>/classes.cppvision_encoder.cpp and inputs_embedder.cpp factoriesfriend class to inputs_embedder.hppVisionEncoder::encode() throws, get_inputs_embeds() handles text-only pathpip install --pre -U . --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly
Fix all compilation errors.
Create and run .model_enabler/test_text_only_compare.py — compare GenAI vs optimum-intel with do_sample=False on 3 prompts.
.model_enabler/test_text_only_compare.py shows exact match on all promptsDo not proceed to Step 3 until text-only output matches optimum-intel exactly.
Goal: VLMPipeline generates correct text with image input, semantically close to optimum-intel.
Replace the VisionEncoder stub. Key references:
preprocessor_config.json for resize/normalization paramsclip.hpp/clip.cpp for available resize utilities (bilinear_resize, bicubic_resize, etc.)Update get_inputs_embeds() to handle the non-empty images case: insert vision embeddings at placeholder token positions.
Rebuild, then create and run:
.model_enabler/test_image_text_compare.py — compare GenAI vs optimum-intel on 3 image prompts.model_enabler/test_image_text_compare.py shows semantically similar outputsBefore declaring the model enabled:
.model_analysis/<model_type>_analysis.md exists with the ## GenAI Enablement Design section.model_enabler/