You've already forked adk-python
mirror of
https://github.com/encounter/adk-python.git
synced 2026-07-09 18:19:28 -07:00
fix: Lazy load retrieval tools and prompt users to install extensions if import failed
PiperOrigin-RevId: 792701550
This commit is contained in:
committed by
Copybara-Service
parent
f2005a2026
commit
9478a31bf2
@@ -13,20 +13,44 @@
|
||||
# limitations under the License.
|
||||
|
||||
from .base_retrieval_tool import BaseRetrievalTool
|
||||
from .files_retrieval import FilesRetrieval
|
||||
from .llama_index_retrieval import LlamaIndexRetrieval
|
||||
|
||||
__all__ = [
|
||||
'BaseRetrievalTool',
|
||||
'FilesRetrieval',
|
||||
'LlamaIndexRetrieval',
|
||||
'VertexAiRagRetrieval',
|
||||
"BaseRetrievalTool",
|
||||
"FilesRetrieval",
|
||||
"LlamaIndexRetrieval",
|
||||
"VertexAiRagRetrieval",
|
||||
]
|
||||
|
||||
|
||||
def __getattr__(name: str):
|
||||
if name == 'VertexAiRagRetrieval':
|
||||
from .vertex_ai_rag_retrieval import VertexAiRagRetrieval
|
||||
if name == "FilesRetrieval":
|
||||
try:
|
||||
from .files_retrieval import FilesRetrieval
|
||||
|
||||
return VertexAiRagRetrieval
|
||||
return FilesRetrieval
|
||||
except ImportError as e:
|
||||
raise ImportError(
|
||||
"FilesRetrieval requires additional dependencies. "
|
||||
'Please install with: pip install "google-adk[extensions]"'
|
||||
) from e
|
||||
elif name == "LlamaIndexRetrieval":
|
||||
try:
|
||||
from .llama_index_retrieval import LlamaIndexRetrieval
|
||||
|
||||
return LlamaIndexRetrieval
|
||||
except ImportError as e:
|
||||
raise ImportError(
|
||||
"LlamaIndexRetrieval requires additional dependencies. "
|
||||
'Please install with: pip install "google-adk[extensions]"'
|
||||
) from e
|
||||
elif name == "VertexAiRagRetrieval":
|
||||
try:
|
||||
from .vertex_ai_rag_retrieval import VertexAiRagRetrieval
|
||||
|
||||
return VertexAiRagRetrieval
|
||||
except ImportError as e:
|
||||
raise ImportError(
|
||||
"VertexAiRagRetrieval requires additional dependencies. "
|
||||
'Please install with: pip install "google-adk[extensions]"'
|
||||
) from e
|
||||
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
||||
|
||||
Reference in New Issue
Block a user