__init__.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from typing import TYPE_CHECKING, Any
  2. from ._version import __version__ as __version__
  3. __all__ = [
  4. "LightRAG",
  5. "QueryParam",
  6. "RoleLLMConfig",
  7. "RoleSpec",
  8. "ROLES",
  9. "__version__",
  10. ]
  11. if TYPE_CHECKING:
  12. from .lightrag import (
  13. LightRAG as LightRAG,
  14. QueryParam as QueryParam,
  15. ROLES as ROLES,
  16. RoleLLMConfig as RoleLLMConfig,
  17. RoleSpec as RoleSpec,
  18. )
  19. _LAZY_EXPORTS = {"LightRAG", "QueryParam", "RoleLLMConfig", "RoleSpec", "ROLES"}
  20. def __getattr__(name: str) -> Any:
  21. if name in _LAZY_EXPORTS:
  22. from .lightrag import LightRAG, QueryParam, RoleLLMConfig, RoleSpec, ROLES
  23. values = {
  24. "LightRAG": LightRAG,
  25. "QueryParam": QueryParam,
  26. "RoleLLMConfig": RoleLLMConfig,
  27. "RoleSpec": RoleSpec,
  28. "ROLES": ROLES,
  29. }
  30. value = values[name]
  31. globals()[name] = value
  32. return value
  33. raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
  34. __author__ = "Zirui Guo"
  35. __url__ = "https://github.com/HKUDS/LightRAG"