community[patch]: Use getattr for toolkits imports (#18825)

This will preserve the namespace, without actually loading the underlying packages on init.
This commit is contained in:
Leonid Ganeline 2024-03-08 17:54:28 -08:00 committed by GitHub
parent bbb609ac9d
commit 476d6dc596
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,68 +1,46 @@
"""**Toolkits** are sets of tools that can be used to interact with """**Toolkits** are sets of tools that can be used to interact with
various services and APIs. various services and APIs.
""" """
from langchain_community.agent_toolkits.ainetwork.toolkit import AINetworkToolkit import importlib
from langchain_community.agent_toolkits.amadeus.toolkit import AmadeusToolkit from typing import Any
from langchain_community.agent_toolkits.azure_cognitive_services import (
AzureCognitiveServicesToolkit,
)
from langchain_community.agent_toolkits.cogniswitch.toolkit import CogniswitchToolkit
from langchain_community.agent_toolkits.connery import ConneryToolkit
from langchain_community.agent_toolkits.file_management.toolkit import (
FileManagementToolkit,
)
from langchain_community.agent_toolkits.gmail.toolkit import GmailToolkit
from langchain_community.agent_toolkits.jira.toolkit import JiraToolkit
from langchain_community.agent_toolkits.json.base import create_json_agent
from langchain_community.agent_toolkits.json.toolkit import JsonToolkit
from langchain_community.agent_toolkits.multion.toolkit import MultionToolkit
from langchain_community.agent_toolkits.nasa.toolkit import NasaToolkit
from langchain_community.agent_toolkits.nla.toolkit import NLAToolkit
from langchain_community.agent_toolkits.office365.toolkit import O365Toolkit
from langchain_community.agent_toolkits.openapi.base import create_openapi_agent
from langchain_community.agent_toolkits.openapi.toolkit import OpenAPIToolkit
from langchain_community.agent_toolkits.playwright.toolkit import (
PlayWrightBrowserToolkit,
)
from langchain_community.agent_toolkits.polygon.toolkit import PolygonToolkit
from langchain_community.agent_toolkits.powerbi.base import create_pbi_agent
from langchain_community.agent_toolkits.powerbi.chat_base import create_pbi_chat_agent
from langchain_community.agent_toolkits.powerbi.toolkit import PowerBIToolkit
from langchain_community.agent_toolkits.slack.toolkit import SlackToolkit
from langchain_community.agent_toolkits.spark_sql.base import create_spark_sql_agent
from langchain_community.agent_toolkits.spark_sql.toolkit import SparkSQLToolkit
from langchain_community.agent_toolkits.sql.base import create_sql_agent
from langchain_community.agent_toolkits.sql.toolkit import SQLDatabaseToolkit
from langchain_community.agent_toolkits.steam.toolkit import SteamToolkit
from langchain_community.agent_toolkits.zapier.toolkit import ZapierToolkit
__all__ = [ _module_lookup = {
"AINetworkToolkit", "AINetworkToolkit": "langchain_community.agent_toolkits.ainetwork.toolkit",
"AmadeusToolkit", "AmadeusToolkit": "langchain_community.agent_toolkits.amadeus.toolkit",
"AzureCognitiveServicesToolkit", "AzureCognitiveServicesToolkit": "langchain_community.agent_toolkits.azure_cognitive_services", # noqa: E501
"CogniswitchToolkit", "CogniswitchToolkit": "langchain_community.agent_toolkits.cogniswitch.toolkit",
"ConneryToolkit", "ConneryToolkit": "langchain_community.agent_toolkits.connery",
"FileManagementToolkit", "FileManagementToolkit": "langchain_community.agent_toolkits.file_management.toolkit", # noqa: E501
"GmailToolkit", "GmailToolkit": "langchain_community.agent_toolkits.gmail.toolkit",
"JiraToolkit", "JiraToolkit": "langchain_community.agent_toolkits.jira.toolkit",
"JsonToolkit", "JsonToolkit": "langchain_community.agent_toolkits.json.toolkit",
"MultionToolkit", "MultionToolkit": "langchain_community.agent_toolkits.multion.toolkit",
"NasaToolkit", "NLAToolkit": "langchain_community.agent_toolkits.nla.toolkit",
"NLAToolkit", "NasaToolkit": "langchain_community.agent_toolkits.nasa.toolkit",
"O365Toolkit", "O365Toolkit": "langchain_community.agent_toolkits.office365.toolkit",
"OpenAPIToolkit", "OpenAPIToolkit": "langchain_community.agent_toolkits.openapi.toolkit",
"PlayWrightBrowserToolkit", "PlayWrightBrowserToolkit": "langchain_community.agent_toolkits.playwright.toolkit",
"PolygonToolkit", "PolygonToolkit": "langchain_community.agent_toolkits.polygon.toolkit",
"PowerBIToolkit", "PowerBIToolkit": "langchain_community.agent_toolkits.powerbi.toolkit",
"SlackToolkit", "SQLDatabaseToolkit": "langchain_community.agent_toolkits.sql.toolkit",
"SteamToolkit", "SlackToolkit": "langchain_community.agent_toolkits.slack.toolkit",
"SQLDatabaseToolkit", "SparkSQLToolkit": "langchain_community.agent_toolkits.spark_sql.toolkit",
"SparkSQLToolkit", "SteamToolkit": "langchain_community.agent_toolkits.steam.toolkit",
"ZapierToolkit", "ZapierToolkit": "langchain_community.agent_toolkits.zapier.toolkit",
"create_json_agent", "create_json_agent": "langchain_community.agent_toolkits.json.base",
"create_openapi_agent", "create_openapi_agent": "langchain_community.agent_toolkits.openapi.base",
"create_pbi_agent", "create_pbi_agent": "langchain_community.agent_toolkits.powerbi.base",
"create_pbi_chat_agent", "create_pbi_chat_agent": "langchain_community.agent_toolkits.powerbi.chat_base",
"create_spark_sql_agent", "create_spark_sql_agent": "langchain_community.agent_toolkits.spark_sql.base",
"create_sql_agent", "create_sql_agent": "langchain_community.agent_toolkits.sql.base",
] }
def __getattr__(name: str) -> Any:
if name in _module_lookup:
module = importlib.import_module(_module_lookup[name])
return getattr(module, name)
raise AttributeError(f"module {__name__} has no attribute {name}")
__all__ = list(_module_lookup.keys())