Skip to main content

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

BaseVectorizer.dims


model

Get Signature

get model(): string

Defined in: vectorizers/huggingface-vectorizer.ts:214

Get the model name.

Returns

string

Overrides

BaseVectorizer.model

Constructors

Constructor

new HuggingFaceVectorizer(config): HuggingFaceVectorizer

Defined in: vectorizers/huggingface-vectorizer.ts:88

Parameters

config

HuggingFaceConfig

Returns

HuggingFaceVectorizer

Overrides

BaseVectorizer.constructor

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

BaseVectorizer.embed


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[][]>

Overrides

BaseVectorizer.embedMany