Skip to main content
Version: 1.12.x (Next)

NextPlaid

tip

If you installed lfx directly (not as part of langflow), install the NextPlaid bundle separately:

  1. Run uv pip install lfx-nextplaid.
  2. Restart Langflow.
  3. To confirm the bundle loaded, run lfx extension list.

If you installed Langflow with uv pip install langflow, these bundle components are already included.

For more information, see Install LFX with bundle components.

Bundles contain custom components that support specific third-party integrations with Langflow.

The NextPlaid bundle provides multi-vector ColBERT-style retrieval for Langflow through a running NextPlaid server. NextPlaid stores each document as a matrix of token embeddings, which enables higher retrieval quality on semantic search tasks through ColBERT-style late interaction with MaxSim scoring. For more information on multi-vector embeddings, see the langchain-plaid package that this bundle is built on.

The bundle includes two components:

  • NextPlaid: vector store component backed by a running NextPlaid server.
  • vLLM Multivector Embeddings: generates the multi-vector token embeddings required by NextPlaid.

NextPlaid

The NextPlaid component reads from and writes to a NextPlaid multi-vector search server.

NextPlaid is a Rust-based server that implements ColBERT-style late interaction retrieval with MaxSim scoring. Each document is stored as a matrix of token embeddings rather than a single dense vector, giving better retrieval quality on semantic search tasks. The component supports both text retrieval with ColBERT models and image retrieval with ColPali models.

About vector store instances

Because Langflow is based on LangChain, vector store components use an instance of LangChain vector store to drive the underlying read and write functions. These instances are provider-specific and configured according to the component's parameters, such as the connection string, index name, and schema.

In component code, this is often instantiated as vector_store, but some vector store components use a different name, such as the provider name.

Some LangChain classes don't expose all possible options as component parameters. Depending on the provider, these options might use default values or allow modification through environment variables, if they are supported in Langflow. For information about specific options, see the LangChain API reference and vector store provider's documentation.

If you use a vector store component to query your vector database, it produces search results that you can pass to downstream components in your flow as a list of JSON objects or a tabular Table. If both types are supported, you can set the format near the vector store component's output port in the visual editor.

Use the NextPlaid component in a flow

Connect a vLLM Multivector Embeddings component to the Embedding (Multivector) input. Standard single-vector embedding components are not compatible with NextPlaid.

The NextPlaid component can be used for both writes and reads:

  • When writing, it ingests documents from an attached data source, computes multi-vector embeddings with the connected vLLM Multivector Embeddings component, and then loads them into the NextPlaid index. To trigger writes, click Run component on the NextPlaid component.

  • When reading, the NextPlaid component uses chat input to perform a MaxSim similarity search against the index and returns the top results.

NextPlaid parameters

Some parameters are hidden by default in the visual editor. You can modify all component parameters through the component inspection panel that appears when you select a component.

NameTypeDescription
Server URL (url)StringInput parameter. Base URL of the running NextPlaid server. Default: http://localhost:8080.
Index Name (index_​name)StringInput parameter. Name of the index to create or connect to. Default: langflow.
Ingest Data (ingest_​data)DataInput parameter. Documents or images to write to the vector store. Only relevant for writes.
Search Query (search_​query)StringInput parameter. The query string to use for similarity search. Only relevant for reads.
Embedding (Multivector) (embedding)EmbeddingsInput parameter. Connect a vLLM Multivector Embeddings component to generate token-level embeddings. Required for both reads and writes.
Index Batch Size (index_​batch_​size)IntegerInput parameter. Number of documents per indexing request. PLAID builds its initial cluster centroids from the first batch — larger batches produce better retrieval quality. Default: 500.
Number of Results (number_​of_​results)IntegerInput parameter. Number of results to return from similarity search. Default: 4.
Quantization Bits (nbits)DropdownInput parameter. Bit-width for PLAID quantization. 4 gives better quality; 2 uses less memory. Options: 2, 4. Default: 4.
Create Index If Not Exists (create_​index_​if_​not_​exists)BooleanInput parameter. If true, creates the index on the NextPlaid server if it does not already exist. Default: true.
Write Timeout (write_​timeout)FloatInput parameter. Seconds to wait for each indexing batch to finish. Set to 0 for async indexing (search may return empty results on the first run). Recommended: 30 or higher when ingesting and searching in the same flow run. Default: 30.0.

vLLM Multivector Embeddings

The vLLM Multivector Embeddings component generates multi-vector token embeddings by calling vLLM's /pooling endpoint with task: token_embed.

The output is a multi-vector Embeddings object that returns a matrix of token embeddings per document, which is required by the NextPlaid vector store. It is not compatible with standard single-vector stores.

For more information about using embedding model components in flows, see Embedding model components.

Your vLLM server must be started with a ColBERT- or ColPali-compatible model and the pooling runner enabled:

vllm serve <model> --runner pooling --pooler-config '{"task": "token_embed"}'

Compatible models include:

  • Text (ColBERT): answerdotai/answerai-colbert-small-v1
  • Text + Images (ColPali): ModernVBERT/colmodernvbert

For more information on the vLLM server, see the vLLM documentation.

vLLM Multivector Embeddings parameters

Some parameters are hidden by default in the visual editor. You can modify all component parameters through the component inspection panel that appears when you select a component.

NameTypeDescription
Model Name (model_​name)StringInput parameter. The multi-vector model name served by vLLM. Default: answerdotai/answerai-colbert-small-v1.
vLLM API Base (api_​base)StringInput parameter. Base URL of the vLLM server (without the /v1 suffix). Default: http://localhost:8000.
API Key (api_​key)SecretStringInput parameter. API key for the vLLM server. Leave empty for local servers. Optional.
Request Timeout (request_​timeout)FloatInput parameter. Timeout in seconds for each request to the vLLM API. Default: 60.0. Advanced.
Max Retries (max_​retries)IntegerInput parameter. Number of times to retry a failed request before raising an error. Default: 3. Advanced.

Use NextPlaid in a flow

For more information, see the NextPlaid blog.

See also

Was this page helpful?

Support
Search