Instructions to use skillsafe-ai/flan-t5-small with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers.js
How to use skillsafe-ai/flan-t5-small with Transformers.js:
// โ ๏ธ Unknown pipeline tag
FLAN-T5 small text-to-text (summarise, rewrite, Q&A)
Browser-ready import artifacts for text2text-generation, produced by SkillSafe's
reproducible converter (models/ in skillsafe.ai)
from a pinned upstream source. Every byte here is derivable from that source plus
the recipe below; nothing was edited by hand.
Provenance
| Upstream | https://huggingface.co/Xenova/flan-t5-small/tree/311454e83bc784267fd7eef5940ee854144abbec |
| Upstream SHA-256 / commit | 311454e83bc784267fd7eef5940ee854144abbec |
| Recipe | recipes/flan-t5-small.yaml โ sha256 f230ca2f7f0078a0242a525bec811e06afbcaefbde7a742567544b38ebf88b25 |
| Toolchain | Python 3.12.13, torch 2.10.0, onnx 1.23.0, onnxruntime 1.30.0 on Darwin 25.6.0 arm64 |
| Converted | 2026-09-22T21:43:57+00:00 |
Files
| file | class | size | SHA-256 |
|---|---|---|---|
config.json |
bundle | 0.00 MB | a405fa336368f00e595e3a3f8f445e0318996f6d277008df11a577425a58e28d |
generation_config.json |
bundle | 0.00 MB | 6a6163360ca1826ba86f43d38af8d46d960b14a43090b619a5604e0b0bbf896c |
onnx/decoder_model_merged.onnx |
registry (fp32) | 222.00 MB | 0bae0554dd4d1deaf6401bb2168ff7213167ffb877f6d7de4610d33e201f8142 |
onnx/decoder_model_merged_quantized.onnx |
registry (q8) | 56.59 MB | 73e2e942503221d7844715a8d824f68d8a2e878483f1c923849c177f0c441df1 |
onnx/encoder_model.onnx |
registry (fp32, q8) | 134.90 MB | 07153ef2fd6eae4ccc29e579c66d3829ac40bbfc26fdc0b6a590cd3f55422b67 |
special_tokens_map.json |
bundle | 0.00 MB | 5c87151ef0f72a99d1f766a4c418bd2a1f90aaa30a8e22fe5eca9641daebb64f |
spiece.model |
bundle | 0.75 MB | d60acb128cf7b7f2536e8f38a5b18a05535c9e14c7a355904270e15b0945ea86 |
tokenizer.json |
bundle | 2.31 MB | d7af4599a1914d04aaf44839418757f40ccca4c78033edeba369484978378335 |
tokenizer_config.json |
bundle | 0.00 MB | 8463612fde6595bf924e405f08192e1c58887e71332db2b9b287052dd3e180e1 |
registry files are parameter files served from models.skillsafe.ai once vetted;
bundle files ship inside an app; registry-shared is a runtime library reused by
every model of the same architecture.
Verification
Imported as published upstream (no conversion). Each file is pinned by SHA-256 to its source; every ONNX file passed onnx.checker and a CPU smoke run under onnxruntime with zero-filled inputs at the declared shapes:
| file | inputs | outputs | ms |
|---|---|---|---|
onnx/decoder_model_merged.onnx |
encoder_attention_mask[1, 8], input_ids[1, 4], encoder_hidden_states[1, 8, 512], past_key_values.0.decoder.key[1, 6, 1, 64], past_key_values.0.decoder.value[1, 6, 1, 64], past_key_values.0.encoder.key[1, 6, 8, 64], past_key_values.0.encoder.value[1, 6, 8, 64], past_key_values.1.decoder.key[1, 6, 1, 64], past_key_values.1.decoder.value[1, 6, 1, 64], past_key_values.1.encoder.key[1, 6, 8, 64], past_key_values.1.encoder.value[1, 6, 8, 64], past_key_values.2.decoder.key[1, 6, 1, 64], past_key_values.2.decoder.value[1, 6, 1, 64], past_key_values.2.encoder.key[1, 6, 8, 64], past_key_values.2.encoder.value[1, 6, 8, 64], past_key_values.3.decoder.key[1, 6, 1, 64], past_key_values.3.decoder.value[1, 6, 1, 64], past_key_values.3.encoder.key[1, 6, 8, 64], past_key_values.3.encoder.value[1, 6, 8, 64], past_key_values.4.decoder.key[1, 6, 1, 64], past_key_values.4.decoder.value[1, 6, 1, 64], past_key_values.4.encoder.key[1, 6, 8, 64], past_key_values.4.encoder.value[1, 6, 8, 64], past_key_values.5.decoder.key[1, 6, 1, 64], past_key_values.5.decoder.value[1, 6, 1, 64], past_key_values.5.encoder.key[1, 6, 8, 64], past_key_values.5.encoder.value[1, 6, 8, 64], past_key_values.6.decoder.key[1, 6, 1, 64], past_key_values.6.decoder.value[1, 6, 1, 64], past_key_values.6.encoder.key[1, 6, 8, 64], past_key_values.6.encoder.value[1, 6, 8, 64], past_key_values.7.decoder.key[1, 6, 1, 64], past_key_values.7.decoder.value[1, 6, 1, 64], past_key_values.7.encoder.key[1, 6, 8, 64], past_key_values.7.encoder.value[1, 6, 8, 64], use_cache_branch[1] | logits[1, 4, 32128], present.0.decoder.key[1, 6, 4, 64], present.0.decoder.value[1, 6, 4, 64], present.0.encoder.key[1, 6, 8, 64], present.0.encoder.value[1, 6, 8, 64], present.1.decoder.key[1, 6, 4, 64], present.1.decoder.value[1, 6, 4, 64], present.1.encoder.key[1, 6, 8, 64], present.1.encoder.value[1, 6, 8, 64], present.2.decoder.key[1, 6, 4, 64], present.2.decoder.value[1, 6, 4, 64], present.2.encoder.key[1, 6, 8, 64], present.2.encoder.value[1, 6, 8, 64], present.3.decoder.key[1, 6, 4, 64], present.3.decoder.value[1, 6, 4, 64], present.3.encoder.key[1, 6, 8, 64], present.3.encoder.value[1, 6, 8, 64], present.4.decoder.key[1, 6, 4, 64], present.4.decoder.value[1, 6, 4, 64], present.4.encoder.key[1, 6, 8, 64], present.4.encoder.value[1, 6, 8, 64], present.5.decoder.key[1, 6, 4, 64], present.5.decoder.value[1, 6, 4, 64], present.5.encoder.key[1, 6, 8, 64], present.5.encoder.value[1, 6, 8, 64], present.6.decoder.key[1, 6, 4, 64], present.6.decoder.value[1, 6, 4, 64], present.6.encoder.key[1, 6, 8, 64], present.6.encoder.value[1, 6, 8, 64], present.7.decoder.key[1, 6, 4, 64], present.7.decoder.value[1, 6, 4, 64], present.7.encoder.key[1, 6, 8, 64], present.7.encoder.value[1, 6, 8, 64] | 5.1 |
onnx/decoder_model_merged_quantized.onnx |
encoder_attention_mask[1, 8], input_ids[1, 4], encoder_hidden_states[1, 8, 512], past_key_values.0.decoder.key[1, 6, 1, 64], past_key_values.0.decoder.value[1, 6, 1, 64], past_key_values.0.encoder.key[1, 6, 8, 64], past_key_values.0.encoder.value[1, 6, 8, 64], past_key_values.1.decoder.key[1, 6, 1, 64], past_key_values.1.decoder.value[1, 6, 1, 64], past_key_values.1.encoder.key[1, 6, 8, 64], past_key_values.1.encoder.value[1, 6, 8, 64], past_key_values.2.decoder.key[1, 6, 1, 64], past_key_values.2.decoder.value[1, 6, 1, 64], past_key_values.2.encoder.key[1, 6, 8, 64], past_key_values.2.encoder.value[1, 6, 8, 64], past_key_values.3.decoder.key[1, 6, 1, 64], past_key_values.3.decoder.value[1, 6, 1, 64], past_key_values.3.encoder.key[1, 6, 8, 64], past_key_values.3.encoder.value[1, 6, 8, 64], past_key_values.4.decoder.key[1, 6, 1, 64], past_key_values.4.decoder.value[1, 6, 1, 64], past_key_values.4.encoder.key[1, 6, 8, 64], past_key_values.4.encoder.value[1, 6, 8, 64], past_key_values.5.decoder.key[1, 6, 1, 64], past_key_values.5.decoder.value[1, 6, 1, 64], past_key_values.5.encoder.key[1, 6, 8, 64], past_key_values.5.encoder.value[1, 6, 8, 64], past_key_values.6.decoder.key[1, 6, 1, 64], past_key_values.6.decoder.value[1, 6, 1, 64], past_key_values.6.encoder.key[1, 6, 8, 64], past_key_values.6.encoder.value[1, 6, 8, 64], past_key_values.7.decoder.key[1, 6, 1, 64], past_key_values.7.decoder.value[1, 6, 1, 64], past_key_values.7.encoder.key[1, 6, 8, 64], past_key_values.7.encoder.value[1, 6, 8, 64], use_cache_branch[1] | logits[1, 4, 32128], present.0.decoder.key[1, 6, 4, 64], present.0.decoder.value[1, 6, 4, 64], present.0.encoder.key[1, 6, 8, 64], present.0.encoder.value[1, 6, 8, 64], present.1.decoder.key[1, 6, 4, 64], present.1.decoder.value[1, 6, 4, 64], present.1.encoder.key[1, 6, 8, 64], present.1.encoder.value[1, 6, 8, 64], present.2.decoder.key[1, 6, 4, 64], present.2.decoder.value[1, 6, 4, 64], present.2.encoder.key[1, 6, 8, 64], present.2.encoder.value[1, 6, 8, 64], present.3.decoder.key[1, 6, 4, 64], present.3.decoder.value[1, 6, 4, 64], present.3.encoder.key[1, 6, 8, 64], present.3.encoder.value[1, 6, 8, 64], present.4.decoder.key[1, 6, 4, 64], present.4.decoder.value[1, 6, 4, 64], present.4.encoder.key[1, 6, 8, 64], present.4.encoder.value[1, 6, 8, 64], present.5.decoder.key[1, 6, 4, 64], present.5.decoder.value[1, 6, 4, 64], present.5.encoder.key[1, 6, 8, 64], present.5.encoder.value[1, 6, 8, 64], present.6.decoder.key[1, 6, 4, 64], present.6.decoder.value[1, 6, 4, 64], present.6.encoder.key[1, 6, 8, 64], present.6.encoder.value[1, 6, 8, 64], present.7.decoder.key[1, 6, 4, 64], present.7.decoder.value[1, 6, 4, 64], present.7.encoder.key[1, 6, 8, 64], present.7.encoder.value[1, 6, 8, 64] | 1.7 |
onnx/encoder_model.onnx |
input_ids[1, 8], attention_mask[1, 8] | last_hidden_state[1, 8, 512] | 1.6 |
Use in the browser
import * as ort from "onnxruntime-web";
const session = await ort.InferenceSession.create("https://huggingface.co/skillsafe-ai/flan-t5-small/resolve/main/onnx/decoder_model_merged.onnx", { executionProviders: ["webgpu", "wasm"] });
Contract (onnx/decoder_model_merged.onnx): input encoder_attention_mask int64 ['batch_size', 'encoder_sequence_length'], input_ids int64 ['batch_size', 'decoder_sequence_length'], encoder_hidden_states float32 ['batch_size', 'encoder_sequence_length', 512], past_key_values.0.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.0.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.0.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.0.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.1.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.1.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.1.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.1.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.2.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.2.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.2.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.2.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.3.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.3.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.3.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.3.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.4.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.4.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.4.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.4.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.5.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.5.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.5.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.5.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.6.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.6.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.6.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.6.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.7.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.7.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length', 64], past_key_values.7.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], past_key_values.7.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], use_cache_branch bool [1] โ output logits float32 ['batch_size', 'decoder_sequence_length', 32128], present.0.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.0.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.0.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.0.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.1.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.1.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.1.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.1.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.2.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.2.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.2.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.2.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.3.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.3.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.3.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.3.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.4.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.4.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.4.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.4.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.5.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.5.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.5.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.5.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.6.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.6.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.6.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.6.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.7.decoder.key float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.7.decoder.value float32 ['batch_size', 6, 'past_decoder_sequence_length + 1', 64], present.7.encoder.key float32 ['batch_size', 6, 'encoder_sequence_length_out', 64], present.7.encoder.value float32 ['batch_size', 6, 'encoder_sequence_length_out', 64]. Opset 13.
Licence and attribution
FLAN-T5 small: Google, Apache License 2.0 (https://huggingface.co/google/flan-t5-small); ONNX export by Xenova (https://huggingface.co/Xenova/flan-t5-small).
Licence: Apache-2.0 โ notice: https://huggingface.co/google/flan-t5-small/blob/main/README.md. The conversion recipe and this model card are part of the SkillSafe repository and carry its licence; the weights remain under the upstream licence above.
The full manifest.json in this repo records the recipe, sources, toolchain
(including the uv.lock hash) and per-file verification numbers.
- Downloads last month
- 197