code: from typing import Dict, Type
  
  from llama_index.core.base.embeddings.base import BaseEmbedding
  from llama_index.core.embeddings.mock_embed_model import MockEmbedding
  
  RECOGNIZED_EMBEDDINGS: Dict[str, Type[BaseEmbedding]] = {
      MockEmbedding.class_name(): MockEmbedding,
  }
  
  # conditionals for llama-cloud support
  try:
      from llama_index.embeddings.openai import OpenAIEmbedding  # pants: no-infer-dep
  
      RECOGNIZED_EMBEDDINGS[OpenAIEmbedding.class_name()] = OpenAIEmbedding
  except ImportError:
      pass
  
  try:
      from llama_index.embeddings.azure_openai import (
          AzureOpenAIEmbedding,
      )  # pants: no-infer-dep
  
      RECOGNIZED_EMBEDDINGS[AzureOpenAIEmbedding.class_name()] = AzureOpenAIEmbedding
  except ImportError:
      pass
  
  try:
      from llama_index.embeddings.huggingface import (
          HuggingFaceInferenceAPIEmbedding,
      )  # pants: no-infer-dep
  
      RECOGNIZED_EMBEDDINGS[
          HuggingFaceInferenceAPIEmbedding.class_name()
      ] = HuggingFaceInferenceAPIEmbedding
  except ImportError:
      pass
  
  
  def load_embed_model(data: dict) -> BaseEmbedding:
      """Load Embedding by name."""
      if isinstance(data, BaseEmbedding):
          return data
      name = data.get("class_name", None)
      if name is None:
          raise ValueError("Embedding loading requires a class_name")
      if name not in RECOGNIZED_EMBEDDINGS:
          raise ValueError(f"Invalid Embedding name: {name}")
  
      return RECOGNIZED_EMBEDDINGS[name].from_dict(data)
  
apis: llama_index.core.embeddings.mock_embed_model.MockEmbedding.class_name llama_index.embeddings.huggingface.HuggingFaceInferenceAPIEmbedding.class_name llama_index.embeddings.openai.OpenAIEmbedding.class_name llama_index.embeddings.azure_openai.AzureOpenAIEmbedding.class_name
extract_api: [((229, 255), 'llama_index.core.embeddings.mock_embed_model.MockEmbedding.class_name', 'MockEmbedding.class_name', ([], {}), '()\n', (253, 255), False, 'from llama_index.core.embeddings.mock_embed_model import MockEmbedding\n'), ((431, 459), 'llama_index.embeddings.openai.OpenAIEmbedding.class_name', 'OpenAIEmbedding.class_name', ([], {}), '()\n', (457, 459), False, 'from llama_index.embeddings.openai import OpenAIEmbedding\n'), ((654, 687), 'llama_index.embeddings.azure_openai.AzureOpenAIEmbedding.class_name', 'AzureOpenAIEmbedding.class_name', ([], {}), '()\n', (685, 687), False, 'from llama_index.embeddings.azure_openai import AzureOpenAIEmbedding\n'), ((907, 952), 'llama_index.embeddings.huggingface.HuggingFaceInferenceAPIEmbedding.class_name', 'HuggingFaceInferenceAPIEmbedding.class_name', ([], {}), '()\n', (950, 952), False, 'from llama_index.embeddings.huggingface import HuggingFaceInferenceAPIEmbedding\n')]