Skip to content

Conversation

nkanu17
Copy link
Collaborator

@nkanu17 nkanu17 commented Oct 13, 2025

Adds first-class SVS-VAMANA support to redis-vl-python, including compression options, schema validation, Redis capability checks, docs, and tests.

Highlights

  • New SVSVectorField + VectorIndexAlgorithm.SVS_VAMANA.
  • Compression enums: LVQ4, LVQ4x4, LVQ4x8, LVQ8, LeanVec4x8, LeanVec8x8.
  • Validation: only float16/float32; reduce < dims; reduce allowed only with LeanVec.
  • Capability checks (sync/async): block create if requirements not met; clear RedisModuleVersionError.
  • CompressionAdvisor: recommend configs + estimate memory savings.
  • Parsing: normalize SVS attrs (incl. basic compression name mapping).

Requirements

  • Redis ≥ 8.2.0 and RediSearch ≥ 2.8.10 (or SearchLight ≥ 2.8.10) for SVS-Vamana
  • Backwards compatible, just can't use SVS-Vamana.

Compatibility

  • No breaking changes for flat/hnsw.
  • Backwards compatible, just can't use SVS-Vamana.

Docs & Tests

  • Docs: schema.rst adds SVS section + example.
  • Tests: validation, capability detection, CompressionAdvisor, and basic integration.
  • Notebook or python guide on usage

@nkanu17 nkanu17 changed the title Feat/raae 1094 add svs vamana implementation with compression enums and validation Feat/raae 1094 add svs vamana implementation Oct 13, 2025
Copy link
Collaborator

@rbs333 rbs333 left a comment

Choose a reason for hiding this comment

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

This is good! I think let's add a recipe to the user guide and then we can talk more about the migration class in our 1:1

logger = get_logger(__name__)


class IndexMigrator:
Copy link
Collaborator

Choose a reason for hiding this comment

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

I really like this as a way of creating backwards compatibility but might recommend we turn this into a recipe vs a class. Since it would be more of a one time thing people would do I'd rather give an easy guide vs supporting a class in the library moving forward.

@abrookins
Copy link
Collaborator

Nice! I think we should talk about migrations, but agree that in this case, for migrating a specific aspect of an index rather than more general schema migrations support, or data migrations, a recipe may be best.

@nkanu17 nkanu17 marked this pull request as ready for review October 15, 2025 21:52
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.

3 participants