115 lines
2.9 KiB
Python
115 lines
2.9 KiB
Python
from .raganything import RAGAnything as RAGAnything
|
|
from .config import RAGAnythingConfig as RAGAnythingConfig
|
|
|
|
# Core parser class is always available.
|
|
from .parser import Parser as Parser
|
|
|
|
# Optional: parser plugin APIs (only present in newer versions / when feature PR is merged).
|
|
try:
|
|
from .parser import (
|
|
register_parser as register_parser,
|
|
unregister_parser as unregister_parser,
|
|
list_parsers as list_parsers,
|
|
get_supported_parsers as get_supported_parsers,
|
|
)
|
|
except ImportError:
|
|
# Older versions without the custom parser registry: keep base import working.
|
|
pass
|
|
|
|
# Optional: resilience utilities (may not exist in all installations).
|
|
try:
|
|
from .resilience import (
|
|
retry as retry,
|
|
async_retry as async_retry,
|
|
CircuitBreaker as CircuitBreaker,
|
|
)
|
|
except ModuleNotFoundError:
|
|
# Resilience module not present in this build.
|
|
pass
|
|
except ImportError:
|
|
# Symbols not available; ignore to avoid breaking import raganything.
|
|
pass
|
|
|
|
# Optional: processing callbacks.
|
|
try:
|
|
from .callbacks import (
|
|
ProcessingCallback as ProcessingCallback,
|
|
MetricsCallback as MetricsCallback,
|
|
CallbackManager as CallbackManager,
|
|
ProcessingEvent as ProcessingEvent,
|
|
)
|
|
except ModuleNotFoundError:
|
|
pass
|
|
except ImportError:
|
|
pass
|
|
|
|
# Optional: multilingual prompt manager.
|
|
try:
|
|
from .prompt_manager import (
|
|
set_prompt_language as set_prompt_language,
|
|
get_prompt_language as get_prompt_language,
|
|
reset_prompts as reset_prompts,
|
|
register_prompt_language as register_prompt_language,
|
|
get_available_languages as get_available_languages,
|
|
)
|
|
except ModuleNotFoundError:
|
|
pass
|
|
except ImportError:
|
|
pass
|
|
|
|
__version__ = "1.3.1"
|
|
__author__ = "Zirui Guo"
|
|
__url__ = "https://github.com/HKUDS/RAG-Anything"
|
|
|
|
__all__ = [
|
|
"RAGAnything",
|
|
"RAGAnythingConfig",
|
|
"Parser",
|
|
]
|
|
|
|
# Feature-gated exports: only add names that are actually available in this build.
|
|
if "register_parser" in globals():
|
|
__all__.extend(
|
|
[
|
|
"register_parser",
|
|
"unregister_parser",
|
|
"list_parsers",
|
|
"get_supported_parsers",
|
|
]
|
|
)
|
|
|
|
if "retry" in globals():
|
|
__all__.extend(
|
|
[
|
|
"retry",
|
|
"async_retry",
|
|
"CircuitBreaker",
|
|
]
|
|
)
|
|
|
|
if "ProcessingCallback" in globals():
|
|
__all__.extend(
|
|
[
|
|
"ProcessingCallback",
|
|
"MetricsCallback",
|
|
"CallbackManager",
|
|
"ProcessingEvent",
|
|
]
|
|
)
|
|
|
|
if "set_prompt_language" in globals():
|
|
__all__.extend(
|
|
[
|
|
"set_prompt_language",
|
|
"get_prompt_language",
|
|
"reset_prompts",
|
|
"register_prompt_language",
|
|
"get_available_languages",
|
|
]
|
|
)
|
|
|
|
|
|
def get_version() -> str:
|
|
"""Return the RAG-Anything version string."""
|
|
return __version__
|