# 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 AnthropicModel(str, Enum):
    """
    Anthropic Claude model identifiers for LLM generation.  Claude models excel at long context, complex reasoning, and safety. All models support text and images.  Values:     CLAUDE_3_5_SONNET: Most capable Claude model         - Use for: Complex reasoning, long documents, safety-critical         - Context: 200K tokens         - Vision: Yes         - Cost: $3/1M input, $15/1M output         - Performance: 300-800ms per request         - When to use: Need best reasoning, safety, or long context      CLAUDE_3_5_HAIKU: Fast, cost-effective Claude model         - Use for: High-volume, quick summaries         - Context: 200K tokens         - Vision: Yes         - Cost: $0.25/1M input, $1.25/1M output         - Performance: 100-300ms per request         - When to use: Good balance of quality and cost  Examples:     - Use CLAUDE_3_5_SONNET for complex entity extraction from contracts (best reasoning)     - Use CLAUDE_3_5_HAIKU for high-volume content moderation (cost-effective)
    """

    """
    allowed enum values
    """
    CLAUDE_MINUS_3_MINUS_5_MINUS_SONNET_MINUS_20241022 = 'claude-3-5-sonnet-20241022'
    CLAUDE_MINUS_3_MINUS_5_MINUS_HAIKU_MINUS_20241022 = 'claude-3-5-haiku-20241022'

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


