ConditionType: TypeAlias = ( FieldCondition | Filter | HasIdCondition | HasVectorCondition | IsEmptyCondition | IsNullCondition | NestedCondition | SliceCondition ) GeoLineString: TypeAlias = Sequence[GeoPoint] IndexType: TypeAlias = HnswIndexConfig | PlainIndexConfig JsonPath: TypeAlias = str MatchType: TypeAlias = ( MatchAny | MatchExcept | MatchPhrase | MatchPrefix | MatchSubstring | MatchText | MatchTextAny | MatchValue ) NamedVector: TypeAlias = Sequence[Sequence[float]] | Sequence[float] | SparseVector Payload: TypeAlias = dict[str, Any] PayloadFieldSchema: TypeAlias = PayloadSchemaParams | PayloadSchemaType PayloadSchemaParams: TypeAlias = ( BoolIndexParams | DatetimeIndexParams | FloatIndexParams | GeoIndexParams | IntegerIndexParams | KeywordIndexParams | TextIndexParams | UuidIndexParams ) PointId: TypeAlias = int | str | uuid.UUID QuantizationConfigType: TypeAlias = ( BinaryQuantizationConfig | ProductQuantizationConfig | ScalarQuantizationConfig | TurboQuantQuantizationConfig ) ScoringQueryType: TypeAlias = Formula | Fusion | Mmr | OrderBy | Query | Sample StartFromType: TypeAlias = float | int | str StemmingAlgorithm: TypeAlias = DisabledStemmer | SnowballParams Stopwords: TypeAlias = Language | StopwordsSet Vector: TypeAlias = Sequence[Sequence[float]] | Sequence[float] | dict[str, NamedVector] WithPayloadType: TypeAlias = PayloadSelector | Sequence[JsonPath] | bool WithVectorType: TypeAlias = Sequence[str] | bool @final class AcornSearchParams: """Parameters for Acorn filtered search. Args: enable: Whether to enable Acorn. max_selectivity: Maximum filter selectivity for Acorn.""" def __new__(enable: bool = False, max_selectivity: None | float = None): ... def __repr__() -> str: ... @property def enable() -> bool: """Enable flag.""" @property def max_selectivity() -> None | float: """Maximum selectivity.""" @final class BinaryQuantizationConfig: """Configuration for binary quantization. Args: always_ram: Whether to keep in RAM. encoding: Binary encoding type. query_encoding: Query encoding type.""" def __new__( always_ram: None | bool = None, encoding: BinaryQuantizationEncoding | None = None, query_encoding: BinaryQuantizationQueryEncoding | None = None, ): ... def __repr__() -> str: ... @property def always_ram() -> None | bool: """Always RAM flag.""" @property def encoding() -> BinaryQuantizationEncoding | None: """Encoding.""" @property def query_encoding() -> BinaryQuantizationQueryEncoding | None: """Query encoding.""" @final class BinaryQuantizationEncoding: """Binary quantization encoding types.""" OneAndHalfBits: Final[BinaryQuantizationEncoding] OneBit: Final[BinaryQuantizationEncoding] TwoBits: Final[BinaryQuantizationEncoding] def __int__() -> int: ... def __repr__() -> str: ... @final class BinaryQuantizationQueryEncoding: """Binary quantization query encoding types.""" Binary: Final[BinaryQuantizationQueryEncoding] Default: Final[BinaryQuantizationQueryEncoding] Scalar4Bits: Final[BinaryQuantizationQueryEncoding] Scalar8Bits: Final[BinaryQuantizationQueryEncoding] def __int__() -> int: ... def __repr__() -> str: ... @final class Bm25: """BM25 sparse-vector embedding model. Create a Bm25 model with the given configuration (defaults if `None`). Raises `ValueError` for invalid configuration: unsupported `language`, non-positive `avg_len`, `b` outside `[0.0, 1.0]`, or negative `k`.""" def __new__(config: Bm25Config | None = None): ... def embed_document(text: str) -> SparseVector: """Embed `text` as an indexed document: term-frequency weights with `(k, b, avg_len)` from the model config.""" def embed_query(text: str) -> SparseVector: """Embed `text` as a search query: each unique token gets weight 1.0.""" @final class Bm25Config: """Configuration for an edge-side BM25 model. Args: k: Term-frequency saturation. Higher = TF has more impact. Default 1.2. b: Length normalization. 0=none, 1=full. Default 0.75. avg_len: Expected average document length in tokens. Default 256. tokenizer: Tokenizer type to use. language: Language for default stopwords/stemmer (e.g., "english"). lowercase: Lowercase before tokenization. Default True. ascii_folding: Fold accents to ASCII. Default False. stopwords: Custom stopwords (language or set). Defaults to language. stemmer: Stemming algorithm. Defaults to language-appropriate stemmer. min_token_len: Drop tokens shorter than this. max_token_len: Drop tokens longer than this.""" def __new__( k: None | float = None, b: None | float = None, avg_len: None | float = None, tokenizer: None | TokenizerType = None, language: None | str = None, lowercase: None | bool = None, ascii_folding: None | bool = None, stopwords: None | Stopwords = None, stemmer: None | StemmingAlgorithm = None, min_token_len: None | int = None, max_token_len: None | int = None, ): ... @property def ascii_folding() -> None | bool: ... @property def avg_len() -> float: ... @property def b() -> float: ... @property def k() -> float: ... @property def language() -> None | str: ... @property def lowercase() -> None | bool: ... @property def max_token_len() -> None | int: ... @property def min_token_len() -> None | int: ... @property def stemmer() -> None | StemmingAlgorithm: ... @property def stopwords() -> None | Stopwords: ... @property def tokenizer() -> TokenizerType: ... @final class BoolIndexParams: """Index parameters for boolean fields. Args: on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__(on_disk: None | bool = None, enable_hnsw: None | bool = None): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @final class CompressionRatio: """Product quantization compression ratios.""" X16: Final[CompressionRatio] X32: Final[CompressionRatio] X4: Final[CompressionRatio] X64: Final[CompressionRatio] X8: Final[CompressionRatio] def __int__() -> int: ... def __repr__() -> str: ... @final class ContextPair: """A positive/negative pair for context-based queries. Args: positive: Positive example. negative: Negative example.""" def __new__(positive: NamedVector, negative: NamedVector): ... def __repr__() -> str: ... @property def negative() -> NamedVector: """Negative example.""" @property def positive() -> NamedVector: """Positive example.""" @final class ContextQuery: """Query based on context pairs only. Args: pairs: Context pairs.""" def __new__(pairs: Sequence[ContextPair]): ... def __repr__() -> str: ... @property def pairs() -> list[ContextPair]: """Context pairs.""" @final class CountRequest: """Request for count operation. Args: exact: Whether to count exactly or estimate. filter: Filter conditions.""" def __new__(exact: bool = True, filter: Filter | None = None): ... @property def exact() -> bool: """Exact count flag.""" @property def filter() -> Filter | None: """Filter.""" @final class DatetimeIndexParams: """Index parameters for datetime fields. Args: is_principal: Whether this field is a principal identifier. on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__( is_principal: None | bool = None, on_disk: None | bool = None, enable_hnsw: None | bool = None, ): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def is_principal() -> None | bool: """Whether this field is a principal identifier.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @final class DecayKind: """Decay function kinds for scoring formulas.""" Exp: Final[DecayKind] """ Exponential decay function """ Gauss: Final[DecayKind] """ Gaussian decay function """ Lin: Final[DecayKind] """ Linear decay function """ def __int__() -> int: ... def __repr__() -> str: ... @final class Direction: """Sort direction.""" Asc: Final[Direction] Desc: Final[Direction] def __int__() -> int: ... def __repr__() -> str: ... @final class DisabledStemmer: """Explicitly disable stemming, overriding the language default.""" def __new__(): ... @final class DiscoverQuery: """Query for discovery using a target and context pairs. Args: target: Target vector. pairs: Context pairs.""" def __new__(target: NamedVector, pairs: Sequence[ContextPair]): ... def __repr__() -> str: ... @property def pairs() -> list[ContextPair]: """Context pairs.""" @property def target() -> NamedVector: """Target vector.""" @final class Distance: """Distance metrics for vector comparison.""" Cosine: Final[Distance] Dot: Final[Distance] Euclid: Final[Distance] Manhattan: Final[Distance] def __int__() -> int: ... def __repr__() -> str: ... @final class EdgeConfig: """Configuration for creating a new Qdrant Edge shard. Parameters left as None are "not specified": when loading an existing shard each one resolves through provided -> persisted -> derived from segments -> default, so an unspecified parameter keeps the shard as it is. vectors and sparse_vectors define the stored data: if provided they are validated for compatibility against the existing segments, if omitted they are inherited from the shard. Args: vectors: Dense vector configuration. Can be a single EdgeVectorParams for the default vector (name "") or a dict of name -> EdgeVectorParams. Optional if sparse_vectors is provided (sparse-only config). sparse_vectors: Optional sparse vector configurations. on_disk_payload: If True, store payload on disk (mmap); otherwise in RAM. None keeps the shard's current value (defaults to on-disk). hnsw_config: Optional global HNSW config (used when building HNSW index). quantization_config: Optional global quantization config. optimizers: Optional optimizer settings. max_search_threads: Number of threads in the shard's search thread pool, which runs per-segment reads in parallel and loads segments in parallel. None (the default) derives the count from the number of CPUs, matching the core search runtime. search_pool_core: Pin every search pool thread to this CPU core (best-effort), bounding search compute to one core. None = OS scheduling.""" def __new__( vectors: EdgeVectorParams | None | dict[str, EdgeVectorParams] = None, sparse_vectors: None | dict[str, EdgeSparseVectorParams] = None, on_disk_payload: None | bool = None, hnsw_config: HnswIndexConfig | None = None, quantization_config: None | QuantizationConfigType = None, optimizers: EdgeOptimizersConfig | None = None, max_search_threads: None | int = None, search_pool_core: None | int = None, ): ... def __repr__() -> str: ... @property def hnsw_config() -> HnswIndexConfig | None: """Global HNSW config, or None if not specified.""" @property def max_search_threads() -> None | int: """Number of threads in the search thread pool, or None for the CPU-derived default.""" @property def on_disk_payload() -> None | bool: """Whether payload is stored on disk, or None if not specified.""" @property def optimizers() -> EdgeOptimizersConfig | None: """Optimizer settings, or None if not specified.""" @property def quantization_config() -> None | QuantizationConfigType: """Global quantization config.""" @property def search_pool_core() -> None | int: """CPU core the search pool is pinned to, or None for OS scheduling.""" @property def sparse_vectors() -> dict[str, EdgeSparseVectorParams]: """Sparse vector configurations.""" @property def vectors() -> dict[str, EdgeVectorParams]: """Dense vector configurations.""" @final class EdgeOptimizersConfig: """Optimizer-related configuration for EdgeConfig. Args: deleted_threshold: Min fraction of deleted vectors to run vacuum (default 0.2). vacuum_min_vector_number: Min vectors in segment to run vacuum (default 1000). default_segment_number: Target number of segments (0 = auto). max_segment_size: Max segment size in KB. indexing_threshold: Indexing threshold in KB. prevent_unoptimized: If enabled, points written to segments larger than the indexing threshold become deferred (excluded from read/search until those segments are optimized). Updates with `wait=true` will only return after the deferred points become visible. """ def __new__( deleted_threshold: None | float = None, vacuum_min_vector_number: None | int = None, default_segment_number: None | int = None, max_segment_size: None | int = None, indexing_threshold: None | int = None, prevent_unoptimized: None | bool = None, ): ... def __repr__() -> str: ... @property def default_segment_number() -> None | int: """Default segment number.""" @property def deleted_threshold() -> None | float: """Deleted threshold.""" @property def indexing_threshold() -> None | int: """Indexing threshold in KB.""" @property def max_segment_size() -> None | int: """Max segment size in KB.""" @property def prevent_unoptimized() -> None | bool: """Prevent unoptimized flag.""" @property def vacuum_min_vector_number() -> None | int: """Vacuum min vector number.""" @final class EdgeShard: """The main class representing a Qdrant Edge shard. A shard is a self-contained unit of storage that can be loaded, queried, and updated independently. Use load() to open existing data, or create() to create a new shard.""" def close() -> None: """Close the shard and release all resources.""" def count(count: CountRequest) -> int: """Count points in the shard. Args: count: The count request. Returns: Number of points matching the filter.""" @staticmethod def create(path: PathLike[str] | str, config: EdgeConfig) -> EdgeShard: """Create a new edge shard at path with the given configuration. Fails if the path already contains segment data. Args: path: Path to the shard directory (must not contain existing segments). config: Configuration for the new shard. Returns: New EdgeShard instance.""" def facet(facet: FacetRequest) -> FacetResponse: """Get facets for a payload field. Args: facet: The facet request. Returns: Facet response with hits and counts.""" def flush() -> None: """Flush all pending changes to disk.""" def info() -> ShardInfo: """Get information about the shard. Returns: Shard information.""" @staticmethod def load(path: PathLike[str] | str, config: EdgeConfig | None = None) -> EdgeShard: """Load an edge shard from existing files at path. Args: path: Path to the shard directory. config: Optional; if provided, compatibility is checked and config is overwritten on disk. Returns: Loaded EdgeShard instance.""" def optimize() -> bool: """Run segment optimizers in-process, blocking until no more optimizations are planned. Returns: True if any segments were optimized, False if already optimal.""" def query(query: QueryRequest) -> list[ScoredPoint]: """Execute a query against the shard. Args: query: The query request. Returns: List of scored points matching the query.""" def query_batch(request: QueryBatchRequest) -> list[list[ScoredPoint]]: """Execute several queries as one planned batch. Cheaper than calling `query` once per request: the batch is planned as a whole, so its searches share one pass over the segments and queries that differ only in their vector are scored together. Args: request: The batch of query requests to run together. Returns: One list of scored points per request, in the same order.""" def retrieve( point_ids: Sequence[PointId], with_payload: None | WithPayloadType = None, with_vector: None | WithVectorType = None, ) -> list[Record]: """Retrieve specific points by their IDs. Args: point_ids: List of point IDs to retrieve. with_payload: Whether to include payload in results. with_vector: Whether to include vectors in results. Returns: List of records.""" def scroll(scroll: ScrollRequest) -> tuple[list[Record], None | PointId]: """Scroll through points in the shard. Args: scroll: The scroll request. Returns: Tuple of (points, next_offset).""" def search(search: SearchRequest) -> list[ScoredPoint]: """Execute a search against the shard. Args: search: The search request. Returns: List of scored points matching the search.""" def snapshot_manifest() -> Any: """Get the snapshot manifest. Returns: Snapshot manifest as a JSON-like value.""" @staticmethod def unpack_snapshot( snapshot_path: PathLike[str] | str, target_path: PathLike[str] | str ) -> None: """Unpack a snapshot to a target directory. Args: snapshot_path: Path to the snapshot file. target_path: Path to extract the snapshot to.""" def update(operation: UpdateOperation) -> None: """Apply an update operation to the shard. Args: operation: The update operation to apply.""" def update_from_snapshot( snapshot_path: PathLike[str] | str, tmp_dir: None | PathLike[str] | str = None ) -> None: """Update the shard from a snapshot. Args: snapshot_path: Path to the snapshot file. tmp_dir: Optional temporary directory for extraction.""" @final class EdgeSparseVectorParams: """Sparse vector parameters for EdgeConfig. Args: full_scan_threshold: Threshold for full scan vs index search. on_disk: If True, sparse index on disk; otherwise in RAM. modifier: Optional modifier (e.g., IDF). datatype: Storage datatype.""" def __new__( full_scan_threshold: None | int = None, on_disk: None | bool = None, modifier: Modifier | None = None, datatype: None | VectorStorageDatatype = None, ): ... def __repr__() -> str: ... @property def datatype() -> None | VectorStorageDatatype: """Storage datatype.""" @property def full_scan_threshold() -> None | int: """Full scan threshold.""" @property def modifier() -> Modifier | None: """Modifier.""" @property def on_disk() -> None | bool: """Whether sparse index is on disk.""" @final class EdgeVectorParams: """Dense vector parameters for EdgeConfig. Args: size: Dimension of vectors. distance: Distance metric. on_disk: If True, store vectors on disk (mmap); otherwise in RAM. multivector_config: Optional multi-vector configuration. datatype: Optional storage datatype. quantization_config: Optional per-vector quantization override. hnsw_config: Optional per-vector HNSW config override.""" def __new__( size: int, distance: Distance, on_disk: None | bool = None, multivector_config: MultiVectorConfig | None = None, datatype: None | VectorStorageDatatype = None, quantization_config: None | QuantizationConfigType = None, hnsw_config: HnswIndexConfig | None = None, ): ... def __repr__() -> str: ... @property def datatype() -> None | VectorStorageDatatype: """Storage datatype.""" @property def distance() -> Distance: """Distance metric.""" @property def hnsw_config() -> HnswIndexConfig | None: """HNSW config override.""" @property def multivector_config() -> MultiVectorConfig | None: """Multi-vector configuration.""" @property def on_disk() -> None | bool: """Whether vector storage is on disk.""" @property def quantization_config() -> None | QuantizationConfigType: """Quantization configuration.""" @property def size() -> int: """Vector dimension.""" class Expression: """Expression types for formulas.""" @final class Abs(Expression): """Create an absolute value expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class Acosh(Expression): """Create an inverse hyperbolic cosine expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class Condition(Expression): """Create a condition expression (returns 1 if true, 0 if false).""" __match_args__: Final = ("cond",) def __new__(cond: ConditionType): ... @property def cond() -> ConditionType: ... @final class Constant(Expression): """Create a constant expression.""" __match_args__: Final = ("val",) def __new__(val: float): ... @property def val() -> float: ... @final class Datetime(Expression): """Create a datetime constant expression.""" __match_args__: Final = ("date_time",) def __new__(date_time: str): ... @property def date_time() -> str: ... @final class DatetimeKey(Expression): """Create a datetime field expression.""" __match_args__: Final = ("path",) def __new__(path: JsonPath): ... @property def path() -> JsonPath: ... @final class Decay(Expression): """Create a decay expression.""" __match_args__: Final = ("kind", "x", "target", "midpoint", "scale") def __new__( kind: DecayKind, x: Expression, target: Expression | None, midpoint: None | float, scale: None | float, ): ... @property def kind() -> DecayKind: ... @property def midpoint() -> None | float: ... @property def scale() -> None | float: ... @property def target() -> Expression | None: ... @property def x() -> Expression: ... @final class Div(Expression): """Create a division expression.""" __match_args__: Final = ("left", "right", "by_zero_default") def __new__( left: Expression, right: Expression, by_zero_default: None | float ): ... @property def by_zero_default() -> None | float: ... @property def left() -> Expression: ... @property def right() -> Expression: ... @final class Exp(Expression): """Create an exponential expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class GeoDistance(Expression): """Create a geo distance expression.""" __match_args__: Final = ("origin", "to") def __new__(origin: GeoPoint, to: JsonPath): ... @property def origin() -> GeoPoint: ... @property def to() -> JsonPath: ... @final class Ln(Expression): """Create a natural log expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class Log10(Expression): """Create a log10 expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class Max(Expression): """Create a maximum expression. Requires at least one operand.""" __match_args__: Final = ("exprs",) def __new__(exprs: Sequence[Expression]): ... @property def exprs() -> list[Expression]: ... @final class Min(Expression): """Create a minimum expression. Requires at least one operand.""" __match_args__: Final = ("exprs",) def __new__(exprs: Sequence[Expression]): ... @property def exprs() -> list[Expression]: ... @final class Mult(Expression): """Create a multiplication expression.""" __match_args__: Final = ("exprs",) def __new__(exprs: Sequence[Expression]): ... @property def exprs() -> list[Expression]: ... @final class Neg(Expression): """Create a negation expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class Pow(Expression): """Create a power expression.""" __match_args__: Final = ("base", "exponent") def __new__(base: Expression, exponent: Expression): ... @property def base() -> Expression: ... @property def exponent() -> Expression: ... @final class Sqrt(Expression): """Create a square root expression.""" __match_args__: Final = ("expr",) def __new__(expr: Expression): ... @property def expr() -> Expression: ... @final class Sum(Expression): """Create a sum expression.""" __match_args__: Final = ("exprs",) def __new__(exprs: Sequence[Expression]): ... @property def exprs() -> list[Expression]: ... @final class Variable(Expression): """Create a variable expression.""" __match_args__: Final = ("var",) def __new__(var: str): ... @property def var() -> str: ... @final class FacetHit: """A facet hit with value and count.""" def __repr__() -> str: ... @property def count() -> int: """Count of points with this value.""" @property def value() -> bool | int | str: """Facet value.""" @final class FacetRequest: """Request for facet operation. Args: key: Payload field key to facet on. limit: Maximum number of facet hits to return. exact: Whether to count exactly or estimate. filter: Filter conditions.""" def __new__( key: JsonPath, limit: int = 10, exact: bool = False, filter: Filter | None = None, ): ... @property def exact() -> bool: """Exact count flag.""" @property def filter() -> Filter | None: """Filter.""" @property def key() -> JsonPath: """Facet key.""" @property def limit() -> int: """Result limit.""" @final class FacetResponse: """Response for facet operation.""" def __iter__() -> Iterator[FacetHit]: """Iterate over hits.""" def __len__() -> int: """Number of hits.""" def __repr__() -> str: ... @property def hits() -> list[FacetHit]: """Facet hits.""" @final class FeedbackItem: """A feedback item with vector and score. Args: vector: Feedback vector. score: Feedback score.""" def __new__(vector: NamedVector, score: float): ... def __repr__() -> str: ... @property def score() -> float: """Feedback score.""" @property def vector() -> NamedVector: """Feedback vector.""" @final class FeedbackNaiveQuery: """Query using naive feedback approach. Args: target: Target vector. feedback: Feedback items with scores. strategy: Feedback coefficients.""" def __new__( target: NamedVector, feedback: Sequence[FeedbackItem], strategy: NaiveFeedbackStrategy, ): ... def __repr__() -> str: ... @property def coefficients() -> NaiveFeedbackStrategy: """Coefficients.""" @property def feedback() -> list[FeedbackItem]: """Feedback items.""" @property def target() -> NamedVector: """Target vector.""" @final class FieldCondition: """Condition on a payload field. Args: key: Payload field path. match: Match condition. range: Range condition. geo_bounding_box: Geo bounding box condition. geo_radius: Geo radius condition. geo_polygon: Geo polygon condition. values_count: Values count condition. is_empty: Check if empty. is_null: Check if null.""" def __new__( key: JsonPath, match: MatchType | None = None, range: None | RangeDateTime | RangeFloat = None, geo_bounding_box: GeoBoundingBox | None = None, geo_radius: GeoRadius | None = None, geo_polygon: GeoPolygon | None = None, values_count: None | ValuesCount = None, is_empty: None | bool = None, is_null: None | bool = None, ): ... @property def geo_bounding_box() -> GeoBoundingBox | None: """Geo bounding box.""" @property def geo_polygon() -> GeoPolygon | None: """Geo polygon.""" @property def geo_radius() -> GeoRadius | None: """Geo radius.""" @property def is_empty() -> None | bool: """Is empty flag.""" @property def is_null() -> None | bool: """Is null flag.""" @property def key() -> JsonPath: """Field key.""" @property def match() -> MatchType | None: """Match condition.""" @property def range() -> None | RangeDateTime | RangeFloat: """Range condition.""" @property def values_count() -> None | ValuesCount: """Values count.""" @final class Filter: """Filter conditions for queries. Args: must: Conditions that must all match. should: Conditions where at least one should match. must_not: Conditions that must not match. min_should: Minimum number of should conditions to match.""" def __new__( must: None | Sequence[ConditionType] = None, should: None | Sequence[ConditionType] = None, must_not: None | Sequence[ConditionType] = None, min_should: MinShould | None = None, ): ... def __repr__() -> str: ... @property def min_should() -> MinShould | None: """Minimum should configuration.""" @property def must() -> None | list[ConditionType]: """Must conditions.""" @property def must_not() -> None | list[ConditionType]: """Must not conditions.""" @property def should() -> None | list[ConditionType]: """Should conditions.""" @final class FloatIndexParams: """Index parameters for float fields. Args: is_principal: Whether this field is a principal identifier. on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__( is_principal: None | bool = None, on_disk: None | bool = None, enable_hnsw: None | bool = None, ): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def is_principal() -> None | bool: """Whether this field is a principal identifier.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @final class Formula: """A scoring formula for custom ranking. Args: formula: Expression tree. defaults: Default variable values.""" def __new__(formula: Expression, defaults: None | dict[str, Any] = None): ... def __repr__() -> str: ... class Fusion: """Fusion methods for combining multiple prefetch results.""" @final class Dbsf(Fusion): """DBSF (Distribution-Based Score Fusion).""" __match_args__: Final = () def __new__(): ... @final class Rrf(Fusion): """RRF (Reciprocal Rank Fusion) with given parameters. Args: k: The RRF k parameter. weights: Optional weights for each prefetch source. Higher weight gives more influence on the final ranking. If not specified, all prefetches are weighted equally. Examples: # Basic RRF with k=2 Fusion.Rrf(k=2) # Weighted RRF - first prefetch has 3x weight Fusion.Rrf(k=2, weights=[3.0, 1.0])""" __match_args__: Final = ("k", "weights") def __new__(k: int, weights: None | Sequence[float] = None): ... @property def k() -> int: ... @property def weights() -> None | list[float]: ... def __repr__() -> str: ... @final class GeoBoundingBox: """A geographic bounding box. Args: top_left: Top-left corner. bottom_right: Bottom-right corner.""" def __new__(top_left: GeoPoint, bottom_right: GeoPoint): ... def __repr__() -> str: ... @property def bottom_right() -> GeoPoint: """Bottom-right corner.""" @property def top_left() -> GeoPoint: """Top-left corner.""" @final class GeoIndexParams: """Index parameters for geo fields. Args: on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__(on_disk: None | bool = None, enable_hnsw: None | bool = None): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @final class GeoPoint: """A geographic point. Args: lon: Longitude (-180 to 180). lat: Latitude (-90 to 90).""" def __new__(lon: float, lat: float): ... def __repr__() -> str: ... @property def lat() -> float: """Latitude.""" @property def lon() -> float: """Longitude.""" @final class GeoPolygon: """A geographic polygon. Args: exterior: Exterior ring points. interiors: Optional interior rings (holes).""" def __new__( exterior: GeoLineString, interiors: None | Sequence[GeoLineString] = None ): ... def __repr__() -> str: ... @property def exterior() -> GeoLineString: """Exterior ring.""" @property def interiors() -> None | list[GeoLineString]: """Interior rings (holes).""" @final class GeoRadius: """A geographic circle. Args: center: Center point. radius: Radius in meters.""" def __new__(center: GeoPoint, radius: float): ... def __repr__() -> str: ... @property def center() -> GeoPoint: """Center point.""" @property def radius() -> float: """Radius in meters.""" @final class HasIdCondition: """Check if point ID is in a set. Args: point_ids: Set of point IDs.""" def __new__(point_ids: set[PointId]): ... def __repr__() -> str: ... @property def point_ids() -> set[PointId]: """Point IDs.""" @final class HasVectorCondition: """Check if point has a specific vector. Args: vector: Vector name.""" def __new__(vector: str): ... def __repr__() -> str: ... @property def vector() -> str: """Vector name.""" @final class HnswIndexConfig: """Configuration for HNSW index. Args: m: Number of edges per node. ef_construct: Number of candidates during index construction. full_scan_threshold: Threshold for full scan. max_indexing_threads: Max threads for HNSW indexing (0 = auto). on_disk: Whether to store on disk. payload_m: Payload index m value. inline_storage: Whether to use inline storage.""" def __new__( m: int, ef_construct: int, full_scan_threshold: int, max_indexing_threads: int = 0, on_disk: None | bool = None, payload_m: None | int = None, inline_storage: None | bool = None, ): ... def __repr__() -> str: ... @property def ef_construct() -> int: """ef_construct value.""" @property def full_scan_threshold() -> int: """Full scan threshold.""" @property def inline_storage() -> None | bool: """Inline storage flag.""" @property def m() -> int: """Number of edges per node.""" @property def max_indexing_threads() -> int: """Max indexing threads (0 = auto).""" @property def on_disk() -> None | bool: """On-disk flag.""" @property def payload_m() -> None | int: """Payload m value.""" @final class IdfParams: """Population over which sparse vector IDF statistics are computed - the IDF corpus. Only applicable to sparse vectors with the IDF modifier enabled. Args: corpus: Filter defining the corpus: IDF statistics are computed over the points matching this filter. If None, statistics are collection-wide (global).""" def __new__(corpus: Filter | None = None): ... def __repr__() -> str: ... @property def corpus() -> Filter | None: """Corpus filter, None for global statistics.""" @final class IntegerIndexParams: """Index parameters for integer fields. Args: lookup: Enable exact match filtering. range: Enable range filtering. is_principal: Whether this field is a principal identifier. on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__( lookup: None | bool = None, range: None | bool = None, is_principal: None | bool = None, on_disk: None | bool = None, enable_hnsw: None | bool = None, ): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def is_principal() -> None | bool: """Whether this field is a principal identifier.""" @property def lookup() -> None | bool: """Enable exact match filtering.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @property def range() -> None | bool: """Enable range filtering.""" @final class IsEmptyCondition: """Check if a field is empty. Args: key: Payload field path.""" def __new__(key: JsonPath): ... def __repr__() -> str: ... @property def key() -> JsonPath: """Field key.""" @final class IsNullCondition: """Check if a field is null. Args: key: Payload field path.""" def __new__(key: JsonPath): ... def __repr__() -> str: ... @property def key() -> JsonPath: """Field key.""" @final class KeywordIndexParams: """Index parameters for keyword fields. Args: is_tenant: Whether this field is used for tenant separation. on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field. prefix: Whether to enable prefix matching for this field.""" def __new__( is_tenant: None | bool = None, on_disk: None | bool = None, enable_hnsw: None | bool = None, prefix: None | bool = None, ): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def is_tenant() -> None | bool: """Whether this field is used for tenant separation.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @property def prefix() -> None | bool: """Whether prefix matching is enabled.""" @final class Language: """Predefined stopword languages.""" Arabic: Final[Language] Azerbaijani: Final[Language] Basque: Final[Language] Bengali: Final[Language] Catalan: Final[Language] Chinese: Final[Language] Danish: Final[Language] Dutch: Final[Language] English: Final[Language] Finnish: Final[Language] French: Final[Language] German: Final[Language] Greek: Final[Language] Hebrew: Final[Language] Hinglish: Final[Language] Hungarian: Final[Language] Indonesian: Final[Language] Italian: Final[Language] Japanese: Final[Language] Kazakh: Final[Language] Nepali: Final[Language] Norwegian: Final[Language] Portuguese: Final[Language] Romanian: Final[Language] Russian: Final[Language] Slovene: Final[Language] Spanish: Final[Language] Swedish: Final[Language] Tajik: Final[Language] Turkish: Final[Language] def __int__() -> int: ... def __repr__() -> str: ... @final class MatchAny: """Match any of the values. Args: any: List of values to match any of.""" def __new__(any: list[int] | list[str]): ... def __repr__() -> str: ... @property def value() -> list[int] | list[str]: """Values.""" @final class MatchExcept: """Match any value except these. Args: value: List of values to exclude.""" def __new__(value: list[int] | list[str]): ... def __repr__() -> str: ... @property def value() -> list[int] | list[str]: """Excluded values.""" @final class MatchPhrase: """Match exact phrase. Args: phrase: Phrase to match.""" def __new__(phrase: str): ... def __repr__() -> str: ... @property def phrase() -> str: """Phrase.""" @final class MatchPrefix: """Match keyword values starting with the given prefix. Args: prefix: Prefix to match.""" def __new__(prefix: str): ... def __repr__() -> str: ... @property def prefix() -> str: """Prefix.""" @final class MatchSubstring: """Match keyword values containing the given substring. Args: substring: Substring to match.""" def __new__(substring: str): ... def __repr__() -> str: ... @property def substring() -> str: """Substring.""" @final class MatchText: """Full-text match. Args: text: Text to search for.""" def __new__(text: str): ... def __repr__() -> str: ... @property def text() -> str: """Text.""" @final class MatchTextAny: """Match any of the words in text. Args: text_any: Space-separated words to match any of.""" def __new__(text_any: str): ... def __repr__() -> str: ... @property def text_any() -> str: """Text.""" @final class MatchValue: """Match exact value. Args: value: Value to match.""" def __new__(value: bool | int | str): ... @property def value() -> bool | int | str: """Value.""" @final class MinShould: """Minimum number of should conditions that must match. Args: conditions: List of conditions. min_count: Minimum number that must match.""" def __new__(conditions: Sequence[ConditionType], min_count: int): ... def __repr__() -> str: ... @property def conditions() -> list[ConditionType]: """Conditions.""" @property def min_count() -> int: """Minimum count.""" @final class Mmr: """Maximal Marginal Relevance for result diversification. Args: vector: Query vector. lambda_: Balance between relevance and diversity (0-1). candidates_limit: Number of candidates to consider. using: Named vector to use.""" def __new__( vector: NamedVector, lambda_: float, candidates_limit: int, using: None | str = None, ): ... def __repr__() -> str: ... @property def candidates_limit() -> int: """Candidates limit.""" @property def lambda_() -> float: """Balance between relevance and diversity.""" @property def using() -> str: """Named vector.""" @property def vector() -> NamedVector: """Query vector.""" @final class Modifier: """Sparse vector modifiers.""" Idf: Final[Modifier] None_: Final[Modifier] def __int__() -> int: ... def __repr__() -> str: ... @final class MultiVectorComparator: """Multi-vector comparison methods.""" MaxSim: Final[MultiVectorComparator] def __int__() -> int: ... def __repr__() -> str: ... @final class MultiVectorConfig: """Configuration for multi-vector storage. Args: comparator: Multi-vector comparator.""" def __new__(comparator: MultiVectorComparator): ... def __repr__() -> str: ... @property def comparator() -> MultiVectorComparator: """Comparator.""" @final class NaiveFeedbackStrategy: """Coefficients for naive feedback query. Args: a: Coefficient a. b: Coefficient b. c: Coefficient c.""" def __new__(a: float, b: float, c: float): ... def __repr__() -> str: ... @property def a() -> float: """Coefficient a.""" @property def b() -> float: """Coefficient b.""" @property def c() -> float: """Coefficient c.""" @final class NestedCondition: """Condition on nested objects. Args: key: Path to nested array. filter: Filter to apply to nested objects.""" def __new__(key: JsonPath, filter: Filter): ... def __repr__() -> str: ... @property def filter() -> Filter: """Nested filter.""" @property def key() -> JsonPath: """Nested field key.""" @final class OrderBy: """Order results by a payload field. Args: key: Payload field path. direction: Sort direction. start_from: Starting value.""" def __new__( key: JsonPath, direction: Direction | None = None, start_from: None | StartFromType = None, ): ... def __repr__() -> str: ... @property def direction() -> Direction | None: """Sort direction.""" @property def key() -> JsonPath: """Field key.""" @property def start_from() -> None | StartFromType: """Starting value.""" @final class PayloadIndexInfo: """Information about a payload index.""" @property def data_type() -> PayloadSchemaType: """Data type.""" @property def params() -> None | PayloadSchemaParams: """Index parameters.""" @property def points() -> int: """Number of points with this field.""" @final class PayloadSchemaType: """Payload field schema types.""" Bool: Final[PayloadSchemaType] Datetime: Final[PayloadSchemaType] Float: Final[PayloadSchemaType] Geo: Final[PayloadSchemaType] Integer: Final[PayloadSchemaType] Keyword: Final[PayloadSchemaType] Text: Final[PayloadSchemaType] Uuid: Final[PayloadSchemaType] def __int__() -> int: ... def __repr__() -> str: ... class PayloadSelector: """Select specific payload fields.""" @final class Exclude(PayloadSelector): """Exclude specified fields.""" __match_args__: Final = ("keys",) def __new__(keys: Sequence[JsonPath]): ... @property def keys() -> list[JsonPath]: ... @final class Include(PayloadSelector): """Include only specified fields.""" __match_args__: Final = ("keys",) def __new__(keys: Sequence[JsonPath]): ... @property def keys() -> list[JsonPath]: ... @final class PlainIndexConfig: """Configuration for plain (brute-force) index.""" def __new__(): ... def __repr__() -> str: ... @final class Point: """A point with ID, vector(s), and optional payload. Args: id: Point ID (integer or UUID). vector: Vector data. payload: Optional payload dictionary.""" def __new__(id: PointId, vector: Vector, payload: None | Payload = None): ... def __repr__() -> str: ... @property def id() -> PointId: """Point ID.""" @property def payload() -> None | Payload: """Payload.""" @property def vector() -> Vector: """Vector data.""" @final class PointVectors: """Point ID with associated vectors for update operations. Args: id: Point ID. vector: Vector data.""" def __new__(id: PointId, vector: Vector): ... def __repr__() -> str: ... @property def id() -> PointId: """Point ID.""" @property def vector() -> Vector: """Vector data.""" @final class Prefetch: """A prefetch stage for multi-stage queries. Args: limit: Maximum number of results for this stage. query: Scoring query. prefetches: Nested prefetch stages. params: Search parameters. filter: Filter conditions. score_threshold: Minimum score threshold.""" def __new__( limit: int, query: None | ScoringQueryType = None, prefetches: None | Sequence[Prefetch] = None, params: None | SearchParams = None, filter: Filter | None = None, score_threshold: None | float = None, ): ... def __repr__() -> str: ... @property def filter() -> Filter | None: """Filter.""" @property def limit() -> int: """Result limit.""" @property def params() -> None | SearchParams: """Search parameters.""" @property def prefetches() -> list[Prefetch]: """Nested prefetch stages.""" @property def query() -> None | ScoringQueryType: """Scoring query.""" @property def score_threshold() -> None | float: """Score threshold.""" @final class ProductQuantizationConfig: """Configuration for product quantization. Args: compression: Compression ratio. always_ram: Whether to keep in RAM.""" def __new__(compression: CompressionRatio, always_ram: None | bool = None): ... def __repr__() -> str: ... @property def always_ram() -> None | bool: """Always RAM flag.""" @property def compression() -> CompressionRatio: """Compression ratio.""" @final class QuantizationSearchParams: """Parameters for quantization during search. Args: ignore: Whether to ignore quantization. rescore: Whether to rescore with original vectors. oversampling: Oversampling factor.""" def __new__( ignore: bool = False, rescore: None | bool = None, oversampling: None | float = None, ): ... def __repr__() -> str: ... @property def ignore() -> bool: """Ignore quantization flag.""" @property def oversampling() -> None | float: """Oversampling factor.""" @property def rescore() -> None | bool: """Rescore flag.""" class Query: """Query types for vector search.""" @final class Context(Query): """Create a context query.""" __match_args__: Final = ("query", "using") def __new__(query: ContextQuery, using: None | str = None): ... @property def query() -> ContextQuery: ... @property def using() -> None | str: ... @final class Discover(Query): """Create a discover query.""" __match_args__: Final = ("query", "using") def __new__(query: DiscoverQuery, using: None | str = None): ... @property def query() -> DiscoverQuery: ... @property def using() -> None | str: ... @final class FeedbackNaive(Query): """Create a feedback naive query.""" __match_args__: Final = ("query", "using") def __new__(query: FeedbackNaiveQuery, using: None | str = None): ... @property def query() -> FeedbackNaiveQuery: ... @property def using() -> None | str: ... @final class Nearest(Query): """Create a nearest neighbor query.""" __match_args__: Final = ("query", "using") def __new__(query: NamedVector, using: None | str = None): ... @property def query() -> NamedVector: ... @property def using() -> None | str: ... @final class RecommendBestScore(Query): """Create a recommend query using best score.""" __match_args__: Final = ("query", "using") def __new__(query: RecommendQuery, using: None | str = None): ... @property def query() -> RecommendQuery: ... @property def using() -> None | str: ... @final class RecommendSumScores(Query): """Create a recommend query using sum of scores.""" __match_args__: Final = ("query", "using") def __new__(query: RecommendQuery, using: None | str = None): ... @property def query() -> RecommendQuery: ... @property def using() -> None | str: ... def __repr__() -> str: ... @final class QueryBatchRequest: """Queries executed together as one planned batch, returning results in the same order.""" def __new__(queries: Sequence[QueryRequest]): ... def __repr__() -> str: ... @property def queries() -> list[QueryRequest]: ... @final class QueryRequest: """Request for query operation. Args: limit: Maximum number of results. offset: Number of results to skip. query: Scoring query (vector, fusion, order_by, etc.). prefetches: Prefetch stages for multi-stage queries. with_vector: Whether to include vectors. with_payload: Whether to include payload. filter: Filter conditions. score_threshold: Minimum score threshold. params: Search parameters.""" def __new__( limit: int, offset: None | int = None, query: None | ScoringQueryType = None, prefetches: None | Sequence[Prefetch] = None, with_vector: None | WithVectorType = None, with_payload: None | WithPayloadType = None, filter: Filter | None = None, score_threshold: None | float = None, params: None | SearchParams = None, ): ... def __repr__() -> str: ... @property def filter() -> Filter | None: """Filter.""" @property def limit() -> int: """Result limit.""" @property def offset() -> int: """Result offset.""" @property def params() -> None | SearchParams: """Search parameters.""" @property def prefetches() -> list[Prefetch]: """Prefetch stages.""" @property def query() -> None | ScoringQueryType: """Scoring query.""" @property def score_threshold() -> None | float: """Score threshold.""" @property def with_payload() -> WithPayloadType: """With payload flag.""" @property def with_vector() -> WithVectorType: """With vector flag.""" @final class RangeDateTime: """Range condition for datetime values. Args: gte: Greater than or equal (ISO 8601 string). gt: Greater than (ISO 8601 string). lte: Less than or equal (ISO 8601 string). lt: Less than (ISO 8601 string).""" def __new__( gte: None | str = None, gt: None | str = None, lte: None | str = None, lt: None | str = None, ): ... @property def gt() -> None | str: """Greater than.""" @property def gte() -> None | str: """Greater than or equal.""" @property def lt() -> None | str: """Less than.""" @property def lte() -> None | str: """Less than or equal.""" @final class RangeFloat: """Range condition for float values. Args: gte: Greater than or equal. gt: Greater than. lte: Less than or equal. lt: Less than.""" def __new__( gte: None | float = None, gt: None | float = None, lte: None | float = None, lt: None | float = None, ): ... @property def gt() -> None | float: """Greater than.""" @property def gte() -> None | float: """Greater than or equal.""" @property def lt() -> None | float: """Less than.""" @property def lte() -> None | float: """Less than or equal.""" @final class RecommendQuery: """Query for recommendation based on positive and negative examples. Args: positives: Positive example vectors. negatives: Negative example vectors.""" def __new__(positives: Sequence[NamedVector], negatives: Sequence[NamedVector]): ... def __repr__() -> str: ... @property def negatives() -> list[NamedVector]: """Negative examples.""" @property def positives() -> list[NamedVector]: """Positive examples.""" @final class Record: """A retrieved point record.""" def __repr__() -> str: ... @property def id() -> PointId: """Point ID.""" @property def order_value() -> None | float | int: """Order value for order_by queries.""" @property def payload() -> None | Payload: """Payload (if requested).""" @property def vector() -> None | Vector: """Vector data (if requested).""" @final class Sample: """Sampling methods.""" Random: Final[Sample] def __int__() -> int: ... def __repr__() -> str: ... @final class ScalarQuantizationConfig: """Configuration for scalar quantization. Args: type: Scalar type (e.g., Int8). quantile: Quantile for normalization. always_ram: Whether to keep in RAM.""" def __new__( type: ScalarType, quantile: None | float = None, always_ram: None | bool = None ): ... def __repr__() -> str: ... @property def always_ram() -> None | bool: """Always RAM flag.""" @property def quantile() -> None | float: """Quantile.""" @property def type() -> ScalarType: """Scalar type.""" @final class ScalarType: """Scalar quantization types.""" Int8: Final[ScalarType] def __int__() -> int: ... def __repr__() -> str: ... @final class ScoredPoint: """A point with a similarity score.""" def __repr__() -> str: ... @property def id() -> PointId: """Point ID.""" @property def order_value() -> None | float | int: """Order value for order_by queries.""" @property def payload() -> None | Payload: """Payload (if requested).""" @property def score() -> float: """Similarity score.""" @property def vector() -> None | Vector: """Vector data (if requested).""" @property def version() -> int: """Point version.""" @final class ScrollRequest: """Request for scroll operation. Args: offset: Starting point ID. limit: Maximum number of results. filter: Filter conditions. with_payload: Whether to include payload. with_vector: Whether to include vectors. order_by: Order by configuration.""" def __new__( offset: None | PointId = None, limit: None | int = None, filter: Filter | None = None, with_payload: None | WithPayloadType = None, with_vector: None | WithVectorType = None, order_by: None | OrderBy = None, ): ... def __repr__() -> str: ... @property def filter() -> Filter | None: """Filter.""" @property def limit() -> None | int: """Result limit.""" @property def offset() -> None | PointId: """Offset point ID.""" @property def order_by() -> None | OrderBy: """Order by configuration.""" @property def with_payload() -> None | WithPayloadType: """With payload flag.""" @property def with_vector() -> WithVectorType: """With vector flag.""" @final class SearchParams: """Parameters for search operations. Args: hnsw_ef: ef parameter for HNSW search. exact: Whether to use exact search. quantization: Quantization search parameters. indexed_only: Whether to search only indexed vectors. acorn: Acorn search parameters. idf: Population over which sparse IDF statistics are computed.""" def __new__( hnsw_ef: None | int = None, exact: bool = False, quantization: None | QuantizationSearchParams = None, indexed_only: bool = False, acorn: AcornSearchParams | None = None, idf: IdfParams | None = None, ): ... def __repr__() -> str: ... @property def acorn() -> AcornSearchParams | None: """Acorn parameters.""" @property def exact() -> bool: """Exact search flag.""" @property def hnsw_ef() -> None | int: """HNSW ef parameter.""" @property def idf() -> IdfParams | None: """IDF scope parameters.""" @property def indexed_only() -> bool: """Indexed only flag.""" @property def quantization() -> None | QuantizationSearchParams: """Quantization parameters.""" @final class SearchRequest: """Request for search operation. Args: query: Query (vector-based). limit: Maximum number of results. offset: Number of results to skip. filter: Filter conditions. params: Search parameters. with_vector: Whether to include vectors. with_payload: Whether to include payload. score_threshold: Minimum score threshold.""" def __new__( query: Query, limit: int, offset: None | int = None, filter: Filter | None = None, params: None | SearchParams = None, with_vector: None | WithVectorType = None, with_payload: None | WithPayloadType = None, score_threshold: None | float = None, ): ... def __repr__() -> str: ... @property def filter() -> Filter | None: """Filter.""" @property def limit() -> int: """Result limit.""" @property def offset() -> int: """Result offset.""" @property def params() -> None | SearchParams: """Search parameters.""" @property def query() -> Query: """Query.""" @property def score_threshold() -> None | float: """Score threshold.""" @property def with_payload() -> None | WithPayloadType: """With payload flag.""" @property def with_vector() -> None | WithVectorType: """With vector flag.""" @final class ShardInfo: """Information about a shard.""" def __repr__() -> str: ... @property def indexed_vectors_count() -> int: """Number of indexed vectors.""" @property def payload_schema() -> dict[JsonPath, PayloadIndexInfo]: """Payload schema information.""" @property def points_count() -> int: """Number of points.""" @property def segments_count() -> int: """Number of segments.""" @final class SliceCondition: def __new__(total: int, index: int): ... def __repr__() -> str: ... @property def index() -> int: ... @property def total() -> int: ... @final class SnowballLanguage: """Snowball stemmer languages.""" Arabic: Final[SnowballLanguage] Armenian: Final[SnowballLanguage] Danish: Final[SnowballLanguage] Dutch: Final[SnowballLanguage] English: Final[SnowballLanguage] Finnish: Final[SnowballLanguage] French: Final[SnowballLanguage] German: Final[SnowballLanguage] Greek: Final[SnowballLanguage] Hungarian: Final[SnowballLanguage] Italian: Final[SnowballLanguage] Norwegian: Final[SnowballLanguage] Portuguese: Final[SnowballLanguage] Romanian: Final[SnowballLanguage] Russian: Final[SnowballLanguage] Spanish: Final[SnowballLanguage] Swedish: Final[SnowballLanguage] Tamil: Final[SnowballLanguage] Turkish: Final[SnowballLanguage] def __int__() -> int: ... def __repr__() -> str: ... @final class SnowballParams: """Snowball stemming algorithm parameters. Args: language: Snowball language.""" def __new__(language: SnowballLanguage): ... @property def language() -> SnowballLanguage: """Snowball language.""" @final class SparseVector: """A sparse vector representation. Args: indices: Non-zero dimension indices. values: Values at the non-zero dimensions.""" def __new__(indices: Sequence[int], values: Sequence[float]): ... def __repr__() -> str: ... @property def indices() -> list[int]: """Non-zero dimension indices.""" @property def values() -> list[float]: """Values at non-zero dimensions.""" @final class StopwordsSet: """Custom stopwords set. Args: languages: Predefined language stopwords to include. custom: Custom stopwords to add.""" def __new__( languages: None | set[Language] = None, custom: None | set[str] = None ): ... @property def custom() -> None | set[str]: """Custom stopwords.""" @property def languages() -> None | set[Language]: """Predefined language stopwords.""" @final class TextIndexParams: """Index parameters for text fields. Args: tokenizer: Tokenizer type. min_token_len: Minimum token length. max_token_len: Maximum token length. lowercase: Convert to lowercase. ascii_folding: Apply ASCII folding. phrase_matching: Enable phrase matching. stopwords: Stopwords configuration. on_disk: Whether to store index on disk. stemmer: Stemming algorithm. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__( tokenizer: None | TokenizerType = None, min_token_len: None | int = None, max_token_len: None | int = None, lowercase: None | bool = None, ascii_folding: None | bool = None, phrase_matching: None | bool = None, stopwords: None | Stopwords = None, on_disk: None | bool = None, stemmer: None | StemmingAlgorithm = None, enable_hnsw: None | bool = None, ): ... @property def ascii_folding() -> None | bool: """Apply ASCII folding.""" @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def lowercase() -> None | bool: """Convert to lowercase.""" @property def max_token_len() -> None | int: """Maximum token length.""" @property def min_token_len() -> None | int: """Minimum token length.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @property def phrase_matching() -> None | bool: """Enable phrase matching.""" @property def stemmer() -> None | StemmingAlgorithm: """Stemming algorithm.""" @property def stopwords() -> None | Stopwords: """Stopwords configuration.""" @property def tokenizer() -> TokenizerType: """Tokenizer type.""" @final class TokenizerType: """Text tokenizer types.""" Multilingual: Final[TokenizerType] Prefix: Final[TokenizerType] Whitespace: Final[TokenizerType] Word: Final[TokenizerType] def __int__() -> int: ... def __repr__() -> str: ... @final class TurboQuantBitSize: """TurboQuant bit size for compressed codes.""" Bits1: Final[TurboQuantBitSize] Bits1_5: Final[TurboQuantBitSize] Bits2: Final[TurboQuantBitSize] Bits4: Final[TurboQuantBitSize] def __int__() -> int: ... def __repr__() -> str: ... @final class TurboQuantQuantizationConfig: """Configuration for TurboQuant quantization. Args: always_ram: Whether to keep in RAM. bits: Bit size used for compressed codes.""" def __new__( always_ram: None | bool = None, bits: None | TurboQuantBitSize = None ): ... def __repr__() -> str: ... @property def always_ram() -> None | bool: """Always RAM flag.""" @property def bits() -> None | TurboQuantBitSize: """Bit size.""" @final class UpdateMode: """Defines the mode of the upsert operation.""" InsertOnly: Final[UpdateMode] """ Only insert new points, do not update existing points. """ UpdateOnly: Final[UpdateMode] """ Only update existing points, do not insert new points. """ Upsert: Final[UpdateMode] """ Default mode - insert new points, update existing points. """ def __eq__(value: object) -> bool: ... def __int__() -> int: ... def __ne__(value: object) -> bool: ... def __repr__() -> str: ... @final class UpdateOperation: """Operations for updating shard data.""" @staticmethod def clear_payload(point_ids: Sequence[PointId]) -> UpdateOperation: """Clear all payload from points. Args: point_ids: Point IDs.""" @staticmethod def clear_payload_by_filter(filter: Filter) -> UpdateOperation: """Clear all payload from points matching a filter. Args: filter: Filter for points.""" @staticmethod def create_dense_vector( vector_name: str, size: int, distance: Distance, multivector_config: MultiVectorConfig | None = None, datatype: None | VectorStorageDatatype = None, ) -> UpdateOperation: """Create a new dense named vector on the collection. Args: vector_name: Name for the new vector. size: Dimensionality of the vectors. distance: Distance function (Cosine, Euclid, Dot, Manhattan). multivector_config: Optional multi-vector configuration (e.g., for ColBERT). datatype: Optional element storage type (Float32, Float16, Uint8).""" @staticmethod def create_field_index( field_name: JsonPath, schema: PayloadFieldSchema ) -> UpdateOperation: """Create an index on a payload field. Args: field_name: Path to the payload field. schema: Schema type or index parameters for the field.""" @staticmethod def create_sparse_vector( vector_name: str, modifier: Modifier | None = None, datatype: None | VectorStorageDatatype = None, ) -> UpdateOperation: """Create a new sparse named vector on the collection. Args: vector_name: Name for the new sparse vector. modifier: Optional value modifier (e.g., Modifier.Idf). datatype: Optional datatype for storing weights in the index.""" @staticmethod def delete_field_index(field_name: JsonPath) -> UpdateOperation: """Delete an index from a payload field. Args: field_name: Path to the payload field.""" @staticmethod def delete_payload( point_ids: Sequence[PointId], keys: Sequence[JsonPath] ) -> UpdateOperation: """Delete payload fields from points. Args: point_ids: Point IDs. keys: Payload field keys to delete.""" @staticmethod def delete_payload_by_filter( filter: Filter, keys: Sequence[JsonPath] ) -> UpdateOperation: """Delete payload fields from points matching a filter. Args: filter: Filter for points. keys: Payload field keys to delete.""" @staticmethod def delete_points(point_ids: Sequence[PointId]) -> UpdateOperation: """Delete points by ID. Args: point_ids: IDs of points to delete.""" @staticmethod def delete_points_by_filter(filter: Filter) -> UpdateOperation: """Delete points matching a filter. Args: filter: Filter for points to delete.""" @staticmethod def delete_vector_name(vector_name: str) -> UpdateOperation: """Delete a named vector from the collection. Args: vector_name: Name of the vector to delete.""" @staticmethod def delete_vectors( point_ids: Sequence[PointId], vector_names: Sequence[str] ) -> UpdateOperation: """Delete specific vectors from points. Args: point_ids: Point IDs. vector_names: Names of vectors to delete.""" @staticmethod def delete_vectors_by_filter( filter: Filter, vector_names: Sequence[str] ) -> UpdateOperation: """Delete vectors from points matching a filter. Args: filter: Filter for points. vector_names: Names of vectors to delete.""" @staticmethod def overwrite_payload( point_ids: Sequence[PointId], payload: Payload, key: JsonPath | None = None ) -> UpdateOperation: """Overwrite entire payload on points. Args: point_ids: Point IDs. payload: New payload. key: Optional nested key path.""" @staticmethod def overwrite_payload_by_filter( filter: Filter, payload: Payload, key: JsonPath | None = None ) -> UpdateOperation: """Overwrite payload on points matching a filter. Args: filter: Filter for points. payload: New payload. key: Optional nested key path.""" @staticmethod def set_payload( point_ids: Sequence[PointId], payload: Payload, key: JsonPath | None = None ) -> UpdateOperation: """Set payload fields on points. Args: point_ids: Point IDs. payload: Payload to set. key: Optional nested key path.""" @staticmethod def set_payload_by_filter( filter: Filter, payload: Payload, key: JsonPath | None = None ) -> UpdateOperation: """Set payload on points matching a filter. Args: filter: Filter for points. payload: Payload to set. key: Optional nested key path.""" @staticmethod def update_vectors( point_vectors: Sequence[PointVectors], condition: Filter | None = None ) -> UpdateOperation: """Update vectors of existing points. Args: point_vectors: Point IDs with new vectors. condition: Optional filter condition.""" @staticmethod def upsert_points( points: Sequence[Point], condition: Filter | None = None, update_mode: None | UpdateMode = None, ) -> UpdateOperation: """Insert or update points. Args: points: Points to upsert. condition: Optional condition for conditional upsert. update_mode: Optional mode of the upsert operation: - UpdateMode.Upsert (default): insert new points, update existing points - UpdateMode.InsertOnly: only insert new points, do not update existing points - UpdateMode.UpdateOnly: only update existing points, do not insert new points """ @final class UuidIndexParams: """Index parameters for UUID fields. Args: is_tenant: Whether this field is used for tenant separation. on_disk: Whether to store index on disk. enable_hnsw: Whether to enable HNSW index for this field.""" def __new__( is_tenant: None | bool = None, on_disk: None | bool = None, enable_hnsw: None | bool = None, ): ... @property def enable_hnsw() -> None | bool: """Whether to enable HNSW index.""" @property def is_tenant() -> None | bool: """Whether this field is used for tenant separation.""" @property def on_disk() -> None | bool: """Whether to store index on disk.""" @final class ValuesCount: """Condition on count of values in array field. Args: lt: Less than. gt: Greater than. lte: Less than or equal. gte: Greater than or equal.""" def __new__( lt: None | int = None, gt: None | int = None, lte: None | int = None, gte: None | int = None, ): ... def __repr__() -> str: ... @property def gt() -> None | int: """Greater than.""" @property def gte() -> None | int: """Greater than or equal.""" @property def lt() -> None | int: """Less than.""" @property def lte() -> None | int: """Less than or equal.""" @final class VectorStorageDatatype: """Vector storage data types.""" Float16: Final[VectorStorageDatatype] Float32: Final[VectorStorageDatatype] Turbo4: Final[VectorStorageDatatype] Uint8: Final[VectorStorageDatatype] def __int__() -> int: ... def __repr__() -> str: ...