by Xenova
Open source · 31k downloads · 1 likes
The *Jina Embeddings v2 Small EN* model is a web-optimized version of the English text embedding model, designed to generate compact yet high-performance vector representations. It converts sentences or documents into numerical vectors, enabling tasks such as semantic search, classification, or text similarity comparison. Its primary use cases include enhancing search engines, sentiment analysis, and automated organization of textual content. What sets it apart is its adaptation to web constraints through ONNX weights, ensuring smooth and efficient execution even in browsers or JavaScript applications.
https://huggingface.co/jinaai/jina-embeddings-v2-small-en with ONNX weights to be compatible with Transformers.js.
If you haven't already, you can install the Transformers.js JavaScript library from NPM using:
npm i @huggingface/transformers
You can then use the model as follows:
import { pipeline, cos_sim } from '@huggingface/transformers';
// Create feature extraction pipeline
const extractor = await pipeline('feature-extraction', 'Xenova/jina-embeddings-v2-small-en',
{ dtype: "fp32" } // Options: "fp32", "fp16", "q8", "q4"
);
// Generate embeddings
const output = await extractor(
['How is the weather today?', 'What is the current weather like today?'],
{ pooling: 'mean' }
);
// Compute cosine similarity
console.log(cos_sim(output[0].data, output[1].data)); // 0.9399812684139274 (unquantized) vs. 0.9341121503699659 (quantized)
Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using 🤗 Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).