Skip to content

Conversation

@yencolon
Copy link
Collaborator

@yencolon yencolon commented Feb 1, 2026

Adds support for local, offline embeddings using Hugging Face's Transformers.js library. This enables Vectra to generate embeddings without requiring API calls to OpenAI or Azure, making it ideal for privacy-sensitive applications, offline environments, and reducing operational costs.

Fixes #96

Key additions:

  • TransformersEmbeddings: New embeddings model supporting popular models like Xenova/all-MiniLM-L6-v2, Xenova/bge-small-en-v1.5, and Xenova/bge-base-en-v1.5
  • TransformersTokenizer: Tokenizer that aligns with Transformers.js models for accurate text chunking
  • Optional dependency: @huggingface/transformers added as an optional peer dependency with dynamic imports.

Example Usage

const embeddings = await TransformersEmbeddings.create({
    model: 'Xenova/all-MiniLM-L6-v2',
    device: 'auto',
    dtype: 'q8'
});

// Use with LocalDocumentIndex
const index = new LocalDocumentIndex({
    folderPath: './my-index',
    embeddings: embeddings,
    tokenizer: embeddings.getTokenizer()
});

@yencolon yencolon requested a review from Stevenic February 1, 2026 01:24
@yencolon yencolon changed the title WIAdd Hugging Face Transformers.js support for local embeddings Add Hugging Face Transformers.js support for local embeddings Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant