Skip to content

Add Transformers.js v4 compatibility#37

Merged
ykhrustalev merged 1 commit into
mainfrom
transformers-js-v4-compat
Apr 8, 2026
Merged

Add Transformers.js v4 compatibility#37
ykhrustalev merged 1 commit into
mainfrom
transformers-js-v4-compat

Conversation

@rshube

@rshube rshube commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Renames VL export outputs to match Transformers.js v4 session registry

Transformers.js v4 hardcodes session-to-filename mappings for ImageTextToText models in session_config.js. It expects vision_encoder, embed_tokens, and decoder_model_merged as the ONNX file basenames.

Changes:

  • Rename embed_images → vision_encoder and decoder → decoder_model_merged across export, inference, quantization, and tests
  • Generate preprocessor_config.json — Transformers.js reads this (flat format), not processor_config.json (nested under image_processor)
  • Inline chat_template.jinja into tokenizer_config.json — Transformers.js reads it from there, not from the separate .jinja file. Strips {%- generation -%} / {%- endgeneration -%} blocks which the Transformers.js Jinja parser doesn't support
  • Add transformers.js_config.use_external_data_format to config.json — tells Transformers.js which sessions have .onnx_data files to download

get_onnx_file() in session.py falls back to the old names if the new ones aren't found, so existing exports still work.

@ykhrustalev ykhrustalev merged commit 956be2d into main Apr 8, 2026
1 check passed
@ykhrustalev ykhrustalev deleted the transformers-js-v4-compat branch April 8, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants