base.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from typing import Any, Dict, Optional
  2. from embedchain.helpers.json_serializable import register_deserializable
  3. @register_deserializable
  4. class BaseEmbedderConfig:
  5. def __init__(
  6. self,
  7. model: Optional[str] = None,
  8. deployment_name: Optional[str] = None,
  9. vector_dimension: Optional[int] = None,
  10. endpoint: Optional[str] = None,
  11. api_key: Optional[str] = None,
  12. api_base: Optional[str] = None,
  13. model_kwargs: Optional[Dict[str, Any]] = None,
  14. ):
  15. """
  16. Initialize a new instance of an embedder config class.
  17. :param model: model name of the llm embedding model (not applicable to all providers), defaults to None
  18. :type model: Optional[str], optional
  19. :param deployment_name: deployment name for llm embedding model, defaults to None
  20. :type deployment_name: Optional[str], optional
  21. :param vector_dimension: vector dimension of the embedding model, defaults to None
  22. :type vector_dimension: Optional[int], optional
  23. :param endpoint: endpoint for the embedding model, defaults to None
  24. :type endpoint: Optional[str], optional
  25. :param api_key: hugginface api key, defaults to None
  26. :type api_key: Optional[str], optional
  27. :param api_base: huggingface api base, defaults to None
  28. :type api_base: Optional[str], optional
  29. :param model_kwargs: key-value arguments for the embedding model, defaults a dict inside init.
  30. :type model_kwargs: Optional[Dict[str, Any]], defaults a dict inside init.
  31. """
  32. self.model = model
  33. self.deployment_name = deployment_name
  34. self.vector_dimension = vector_dimension
  35. self.endpoint = endpoint
  36. self.api_key = api_key
  37. self.api_base = api_base
  38. self.model_kwargs = model_kwargs or {}