# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class ClusterType(str, Enum):
    """
    Type of clustering to perform.  Determines the clustering approach: - vector: Cluster documents by embedding similarity (semantic clustering) - attribute: Cluster documents by metadata attributes (business logic clustering)  Use Cases:     vector:         - Group semantically similar content         - Find content with similar meaning         - Organize by topic/theme         - Requires vector embeddings      attribute:         - Group by business attributes (category, brand, status, etc.)         - Organize by explicit metadata         - Create hierarchical groupings         - No embeddings required
    """

    """
    allowed enum values
    """
    VECTOR = 'vector'
    ATTRIBUTE = 'attribute'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of ClusterType from a JSON string"""
        return cls(json.loads(json_str))


