Skip to content

Officially support halfvec storage for embeddings #58

Description

@nicoloesch

Pre-flight

  • I searched existing issues and this has not been requested before.

Problem or motivation

Storing reduced precision vectors saves storage space and may increase RAG performance. It is part of the most-common RAG backends and should be supported by our wrapper.

Proposed solution

pgvector already supports halfvec storage type mentioned here for HNSW indices:

Supported types are:

  • vector - up to 2,000 dimensions
  • halfvec - up to 4,000 dimensions
    ...

The user then decides during configuration what storage format is expected (with checks whether the VSS backend provides this storage backend). This requires close coupling with oa-configurator during setup and configuration.

Internally, we just need to funnel the integration through and provide a proper framework for including this new capability.

Alternatives considered

None. This is standard practice to support various storage formats, especially since the supported backends partially already support this. Further backend extension, e.g. with DuckDB (#34) would directly benefit from an extensible capabilities framework.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions