Skip to content

feat: add support for colbert-style multivector datasets - #170

Merged
xzfc merged 1 commit into
devfrom
feat/support-for-multivec-datasets
Aug 26, 2026
Merged

feat: add support for colbert-style multivector datasets#170
xzfc merged 1 commit into
devfrom
feat/support-for-multivec-datasets

Conversation

@AstraBert

Copy link
Copy Markdown

This PR adds support for loading ColBERT-style multivectors from a dataset.

The dataset, denoted by the multivector format, should encompass:

  • A vectors.npy file containing all sub-vectors stacked together
  • A offsets.npy file containing num_points + 1 vector boundaries as int32/int64

We parse both files and load the i-th vector as vectors[offsets[i]:offsets[i+1]].

Here is an example configuration:

collection:
   # other fields
   vectors:
    - name: colbert
      size: 128
      multivector:
        comparator: max_sim
        count: 1                 # ignored for this source
      source:
        type: dataset
        name: my-colbert-corpus
        format: multivector
        path: my-colbert-corpus  # directory containing vectors.npy + offsets.npy

All Submissions:

  • Contributions should target the dev branch. Did you create your branch from dev?
  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

  1. Does your submission pass tests?
  2. Have you formatted your code locally using cargo +nightly fmt --all command prior to submission?
  3. Have you checked your code using cargo clippy --all --all-features command?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them? (see above)
  • Have you written new tests for your core changes, as applicable?
  • Have you successfully ran tests with your changes locally?

@AstraBert

Copy link
Copy Markdown
Author

Clippy failures seem pre-existing? It didn't catch anything locally

@xzfc xzfc left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

Clippy failures seem pre-existing?

That's right.

It didn't catch anything locally

These appear in Rust 1.98 which released less than a week ago. Perhaps you want to upgrade.

@xzfc
xzfc merged commit 4d2a92d into dev Aug 26, 2026
4 of 5 checks passed
@Anush008
Anush008 deleted the feat/support-for-multivec-datasets branch August 29, 2026 06:18
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.

2 participants