codekingpro/portable-devtools
114k
1import importlib2from typing import TYPE_CHECKING, Any3 4if TYPE_CHECKING:5 from langchain_community.document_compressors.dashscope_rerank import (6 DashScopeRerank,7 )8 from langchain_community.document_compressors.flashrank_rerank import (9 FlashrankRerank,10 )11 from langchain_community.document_compressors.infinity_rerank import (12 InfinityRerank,13 )14 from langchain_community.document_compressors.jina_rerank import (15 JinaRerank,16 )17 from langchain_community.document_compressors.llmlingua_filter import (18 LLMLinguaCompressor,19 )20 from langchain_community.document_compressors.openvino_rerank import (21 OpenVINOReranker,22 )23 from langchain_community.document_compressors.rankllm_rerank import (24 RankLLMRerank,25 )26 from langchain_community.document_compressors.volcengine_rerank import (27 VolcengineRerank,28 )29 30_module_lookup = {31 "LLMLinguaCompressor": "langchain_community.document_compressors.llmlingua_filter",32 "OpenVINOReranker": "langchain_community.document_compressors.openvino_rerank",33 "JinaRerank": "langchain_community.document_compressors.jina_rerank",34 "RankLLMRerank": "langchain_community.document_compressors.rankllm_rerank",35 "FlashrankRerank": "langchain_community.document_compressors.flashrank_rerank",36 "DashScopeRerank": "langchain_community.document_compressors.dashscope_rerank",37 "VolcengineRerank": "langchain_community.document_compressors.volcengine_rerank",38 "InfinityRerank": "langchain_community.document_compressors.infinity_rerank",39}40 41 42def __getattr__(name: str) -> Any:43 if name in _module_lookup:44 module = importlib.import_module(_module_lookup[name])45 return getattr(module, name)46 raise AttributeError(f"module {__name__} has no attribute {name}")47 48 49__all__ = [50 "LLMLinguaCompressor",51 "OpenVINOReranker",52 "FlashrankRerank",53 "JinaRerank",54 "RankLLMRerank",55 "DashScopeRerank",56 "VolcengineRerank",57 "InfinityRerank",58]59 