Source code for pinecone.models.vectors.sparse

"""Sparse vector values model."""

from __future__ import annotations

from typing import Any

from msgspec import Struct

from pinecone.models._mixin import DictLikeStruct


[docs] class SparseValues(DictLikeStruct, Struct, rename="camel", gc=False): """Sparse vector representation with indices and values. Attributes: indices (list[int]): Non-zero dimension indices of the sparse vector. values (list[float]): Values corresponding to each index in ``indices``. """ indices: list[int] values: list[float]
[docs] @staticmethod def from_dict(sparse_values_dict: dict[str, Any]) -> SparseValues: """Construct a ``SparseValues`` from a plain dict representation.""" return SparseValues( indices=sparse_values_dict["indices"], values=sparse_values_dict["values"], )
def __repr__(self) -> str: if len(self.indices) > 5: idx_preview = ", ".join(repr(v) for v in self.indices[:3]) indices_str = f"[{idx_preview}, ...{len(self.indices) - 3} more]" else: indices_str = repr(self.indices) if len(self.values) > 5: val_preview = ", ".join(repr(v) for v in self.values[:3]) values_str = f"[{val_preview}, ...{len(self.values) - 3} more]" else: values_str = repr(self.values) return f"SparseValues(indices={indices_str}, values={values_str})"