def __init__(
        self,
        model: str = DEFAULT_REKA_MODEL,
        api_key: Optional[str] = None,
        temperature: float = DEFAULT_TEMPERATURE,
        max_tokens: int = DEFAULT_REKA_MAX_TOKENS,
        additional_kwargs: Optional[Dict[str, Any]] = None,
        callback_manager: Optional[CallbackManager] = None,
    ) -> None:
        """
        Initialize the RekaLLM instance.

        Args:
            model (str): The Reka model to use, choose from ['reka-flash', 'reka-core', 'reka-edge'].
            api_key (Optional[str]): The API key for Reka.
            temperature (float): The temperature to use for sampling.
            max_tokens (int): The maximum number of tokens to generate.
            additional_kwargs (Optional[Dict[str, Any]]): Additional keyword arguments for Reka API calls.
            callback_manager (Optional[CallbackManager]): A callback manager for handling callbacks.

        Raises:
            ValueError: If the Reka API key is not provided and not set in the environment.

        Example:
            >>> reka_llm = RekaLLM(
            ...     model="reka-flash",
            ...     api_key="your-api-key-here",
            ...     temperature=0.7,
            ...     max_tokens=100
            ... )

        """
        additional_kwargs = additional_kwargs or {}
        callback_manager = callback_manager or CallbackManager([])

        api_key = api_key or os.getenv("REKA_API_KEY")
        if not api_key:
            raise ValueError(
                "Reka API key is required. Please provide it as an argument or set the REKA_API_KEY environment variable."
            )

        super().__init__(
            model=model,
            temperature=temperature,
            max_tokens=max_tokens,
            additional_kwargs=additional_kwargs,
            callback_manager=callback_manager,
        )
        self._client = Reka(api_key=api_key)
        self._aclient = AsyncReka(api_key=api_key)

        Initialize the RekaLLM instance.

        Args:
            model (str): The Reka model to use, choose from ['reka-flash', 'reka-core', 'reka-edge'].
            api_key (Optional[str]): The API key for Reka.
            temperature (float): The temperature to use for sampling.
            max_tokens (int): The maximum number of tokens to generate.
            additional_kwargs (Optional[Dict[str, Any]]): Additional keyword arguments for Reka API calls.
            callback_manager (Optional[CallbackManager]): A callback manager for handling callbacks.

        Raises:
            ValueError: If the Reka API key is not provided and not set in the environment.

        Example:
            >>> reka_llm = RekaLLM(
            ...     model="reka-flash",
            ...     api_key="your-api-key-here",
            ...     temperature=0.7,
            ...     max_tokens=100
            ... )

        
llama-index-integrations/llms/llama-index-llms-reka/llama_index/llms/reka/base.py