Class: HuggingFaceVectorizer
Defined in: vectorizers/huggingface-vectorizer.ts:83
HuggingFace vectorizer using Transformers.js for local inference.
This vectorizer uses the @huggingface/transformers library to generate embeddings locally without requiring API keys or external services.
Models are automatically downloaded and cached on first use.
Examples
import { HuggingFaceVectorizer } from 'redisvl';
const vectorizer = new HuggingFaceVectorizer({
model: 'Xenova/all-MiniLM-L6-v2'
});
// Generate single embedding
const embedding = await vectorizer.embed('Hello world');
console.log(embedding.length); // 384
// Generate multiple embeddings
const embeddings = await vectorizer.embedMany(['Hello', 'World']);
console.log(embeddings.length); // 2
// Use with preprocessing
await index.load(documents, {
preprocess: async (doc) => ({
...doc,
embedding: await vectorizer.embed(doc.text)
})
});
Extends
Accessors
dims
Get Signature
get dims():
number
Defined in: vectorizers/huggingface-vectorizer.ts:201
Get the dimensionality of the embeddings.
Returns
number
Overrides
model
Get Signature
get model():
string
Defined in: vectorizers/huggingface-vectorizer.ts:214
Get the model name.
Returns
string
Overrides
Constructors
Constructor
new HuggingFaceVectorizer(
config):HuggingFaceVectorizer
Defined in: vectorizers/huggingface-vectorizer.ts:88
Parameters
config
Returns
HuggingFaceVectorizer
Overrides
Methods
embed()
embed(
text):Promise<number[]>
Defined in: vectorizers/huggingface-vectorizer.ts:138
Generate an embedding for a single text.
Parameters
text
string
Returns
Promise<number[]>
Overrides
embedMany()
embedMany(
texts,batchSize?):Promise<number[][]>
Defined in: vectorizers/huggingface-vectorizer.ts:160
Generate embeddings for multiple texts.
Parameters
texts
string[]
batchSize?
number = 32
Returns
Promise<number[][]>