transformers.js

State-of-the-art Machine Learning for the web. Run ๐Ÿค— Transformers directly in your browser, with no need for a server!

APACHE-2.0 License

Downloads
290.6K
Stars
11.2K
Committers
32

Bot releases are visible (Hide)

transformers.js - 2.1.0

Published by xenova over 1 year ago

What's new?

Improved feature extraction pipeline for Embeddings

You can now perform feature extraction on models other than sentence-transformers! All you need to do is target a repo (and/or revision) that was exported with --task default. Also be sure to use the correct quantization for your use-case!

Example: Run feature extraction with bert-base-uncased (without pooling/normalization).

let extractor = await pipeline('feature-extraction', 'Xenova/bert-base-uncased', { revision: 'default' });
let result = await extractor('This is a simple test.');
console.log(result);
// Tensor {
//     type: 'float32',
//     data: Float32Array [0.05939924716949463, 0.021655935794115067, ...],
//     dims: [1, 8, 768]
// }

Example: Run feature extraction with bert-base-uncased (with pooling/normalization).

let extractor = await pipeline('feature-extraction', 'Xenova/bert-base-uncased', { revision: 'default' });
let result = await extractor('This is a simple test.', { pooling: 'mean', normalize: true });
console.log(result);
// Tensor {
//     type: 'float32',
//     data: Float32Array [0.03373778983950615, -0.010106077417731285, ...],
//     dims: [1, 768]
// }

Example: Calculating embeddings with sentence-transformers models.

let extractor = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
let result = await extractor('This is a simple test.', { pooling: 'mean', normalize: true });
console.log(result);
// Tensor {
//     type: 'float32',
//     data: Float32Array [0.09094982594251633, -0.014774246141314507, ...],
//     dims: [1, 384]
// }

This also means you can do things like semantic search directly in JavaScript/Typescript! Check out the Pinecone docs for an example app which uses Transformers.js!

Over 100 Transformers.js models on the hub!

We now have 109 models to choose from! Check them out at https://huggingface.co/models?other=transformers.js! If you'd like to contribute models (exported with Optimum), you can tag them with library_name: "transformers.js"! Let's make ML more web-friendly!

Misc

  • Fixed various quantization/exporting issues

Full Changelog: https://github.com/xenova/transformers.js/compare/2.0.2...2.1.0

transformers.js - 2.0.2

Published by xenova over 1 year ago

Fixes issues stemming from ORT's recent release of a buggy version 1.15.0 ๐Ÿ™„ (https://www.npmjs.com/package/onnxruntime-web)

Also freezes examples and updates links to use the latest stable wasm files.

transformers.js - 2.0.1

Published by xenova over 1 year ago

Minor bug fixes

  • BERT Tokenization for strings with numbers
  • Demo site for token-classification (#116)

NPM package

  • Update keywords
transformers.js - 2.0.0

Published by xenova over 1 year ago

Transformers.js v2.0.0

It's finally here! ๐Ÿ”ฅ

Run Hugging Face transformers directly in your browser, with no need for a server!

GitHub: https://github.com/xenova/transformers.js
Demo site: https://xenova.github.io/transformers.js/
Documentation: https://huggingface.co/docs/transformers.js

Main features:

๐Ÿ› ๏ธ Complete ES6 rewrite
๐Ÿ“„ Documentation and examples
๐Ÿค— Improved Hugging Face Hub integration
๐Ÿ–ฅ๏ธ Server-side model caching (in Node.js)

Dev-related features:

๐Ÿงช Improved testing framework w/ Jest
โš™๏ธ CI/CD with GitHub actions

transformers.js - 2.0.0-alpha.4

Published by xenova over 1 year ago

Pre-release for Transformers.js v2.0.0

Same as https://github.com/xenova/transformers.js/releases/tag/2.0.0-alpha.3 with various improvements, including:

transformers.js - 2.0.0-alpha.3

Published by xenova over 1 year ago

Pre-release for Transformers.js v2.0.0

Same as https://github.com/xenova/transformers.js/releases/tag/2.0.0-alpha.2 but with added allowLocalModels setting and improved handling of errors (e.g., CORS errors).

transformers.js - 2.0.0-alpha.2

Published by xenova over 1 year ago

Pre-release for Transformers.js v2.0.0

Same as https://github.com/xenova/transformers.js/releases/tag/2.0.0-alpha.1 but with updated jsdelivr entry point in package.json

transformers.js - 2.0.0-alpha.1

Published by xenova over 1 year ago

Pre-release for Transformers.js v2.0.0

Same as https://github.com/xenova/transformers.js/releases/tag/2.0.0-alpha.0 but with CDN-specific entry points in package.json

transformers.js - 2.0.0-alpha.0

Published by xenova over 1 year ago

Pre-release for Transformers.js v2.0.0

Major changes

Minor changes

Package Rankings
Top 1.41% on Npmjs.org