Skip to main content
Superlinked is a self-hosted inference engine (SIE) for embedding, reranking, and extraction. The sie-lancedb package registers SIE as a first-class embedding function in LanceDB’s embeddings registry, so embeddings are computed automatically on insert and search. You need a running SIE instance - see the Superlinked quickstart for deployment options.

Installation

Registered functions

Importing sie_lancedb registers two embedding functions in LanceDB’s registry: Supported parameters on .create():

Usage

LanceDB handles embedding generation for both inserts and queries automatically, based on the SourceField / VectorField declarations on the schema. The id column gives each document a stable key, which entity extraction uses to merge its results back.

Hybrid search with reranker

SIEReranker plugs into LanceDB’s hybrid search pipeline. It uses SIE’s cross-encoder score() to rerank combined vector + full-text search results. You need a full-text search index on the column first:
The reranker also works with pure vector or pure FTS search via .rerank().

ColBERT and multivector

SIEMultiVectorEmbeddingFunction (registered as "sie-multivector") works with LanceDB’s native MultiVector type and MaxSim scoring for ColBERT and ColPali models. In LanceDB Python 0.40.0, a multivector that LanceDB generates on insert is stored as null unless the document’s token count happens to equal the per-token dimension, so this example computes the document multivectors with compute_source_embeddings() and passes them in the vector column. LanceDB still generates the query multivector automatically:

Entity extraction

SIEExtractor adds entity extraction to LanceDB’s data-enrichment workflows. Extract entities from a text column and merge the results back as a structured Arrow column - enabling filtered search on extracted entities. This example enriches the docs table from Usage, matching rows on its id column:
The entities column stores structured Arrow data (list<struct<text, label, score, start, end, bbox>>), so you can filter on extracted entities in queries.