mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-26 00:23:25 +00:00
Fixed Office365 tool __init__.py files, tests, and get_tools() function (#7046)
## Description Added Office365 tool modules to `__init__.py` files ## Issue As described in Issue https://github.com/hwchase17/langchain/issues/6936, the Office365 toolkit can't be loaded easily because it is not included in the `__init__.py` files. ## Reviewer @dev2049
This commit is contained in:
parent
8a7c95e555
commit
fa55c5a16b
@ -12,6 +12,7 @@ from langchain.agents.agent_toolkits.jira.toolkit import JiraToolkit
|
|||||||
from langchain.agents.agent_toolkits.json.base import create_json_agent
|
from langchain.agents.agent_toolkits.json.base import create_json_agent
|
||||||
from langchain.agents.agent_toolkits.json.toolkit import JsonToolkit
|
from langchain.agents.agent_toolkits.json.toolkit import JsonToolkit
|
||||||
from langchain.agents.agent_toolkits.nla.toolkit import NLAToolkit
|
from langchain.agents.agent_toolkits.nla.toolkit import NLAToolkit
|
||||||
|
from langchain.agents.agent_toolkits.office365.toolkit import O365Toolkit
|
||||||
from langchain.agents.agent_toolkits.openapi.base import create_openapi_agent
|
from langchain.agents.agent_toolkits.openapi.base import create_openapi_agent
|
||||||
from langchain.agents.agent_toolkits.openapi.toolkit import OpenAPIToolkit
|
from langchain.agents.agent_toolkits.openapi.toolkit import OpenAPIToolkit
|
||||||
from langchain.agents.agent_toolkits.pandas.base import create_pandas_dataframe_agent
|
from langchain.agents.agent_toolkits.pandas.base import create_pandas_dataframe_agent
|
||||||
@ -64,4 +65,5 @@ __all__ = [
|
|||||||
"FileManagementToolkit",
|
"FileManagementToolkit",
|
||||||
"PlayWrightBrowserToolkit",
|
"PlayWrightBrowserToolkit",
|
||||||
"AzureCognitiveServicesToolkit",
|
"AzureCognitiveServicesToolkit",
|
||||||
|
"O365Toolkit",
|
||||||
]
|
]
|
||||||
|
@ -30,9 +30,9 @@ class O365Toolkit(BaseToolkit):
|
|||||||
def get_tools(self) -> List[BaseTool]:
|
def get_tools(self) -> List[BaseTool]:
|
||||||
"""Get the tools in the toolkit."""
|
"""Get the tools in the toolkit."""
|
||||||
return [
|
return [
|
||||||
O365SearchEvents(account=self.account),
|
O365SearchEvents(),
|
||||||
O365CreateDraftMessage(account=self.account),
|
O365CreateDraftMessage(),
|
||||||
O365SearchEmails(account=self.account),
|
O365SearchEmails(),
|
||||||
O365SendEvent(account=self.account),
|
O365SendEvent(),
|
||||||
O365SendMessage(account=self.account),
|
O365SendMessage(),
|
||||||
]
|
]
|
||||||
|
@ -38,6 +38,12 @@ from langchain.tools.interaction.tool import StdInInquireTool
|
|||||||
from langchain.tools.jira.tool import JiraAction
|
from langchain.tools.jira.tool import JiraAction
|
||||||
from langchain.tools.json.tool import JsonGetValueTool, JsonListKeysTool
|
from langchain.tools.json.tool import JsonGetValueTool, JsonListKeysTool
|
||||||
from langchain.tools.metaphor_search import MetaphorSearchResults
|
from langchain.tools.metaphor_search import MetaphorSearchResults
|
||||||
|
from langchain.tools.office365.create_draft_message import O365CreateDraftMessage
|
||||||
|
from langchain.tools.office365.events_search import O365SearchEvents
|
||||||
|
from langchain.tools.office365.messages_search import O365SearchEmails
|
||||||
|
from langchain.tools.office365.send_event import O365SendEvent
|
||||||
|
from langchain.tools.office365.send_message import O365SendMessage
|
||||||
|
from langchain.tools.office365.utils import authenticate
|
||||||
from langchain.tools.openapi.utils.api_models import APIOperation
|
from langchain.tools.openapi.utils.api_models import APIOperation
|
||||||
from langchain.tools.openapi.utils.openapi_utils import OpenAPISpec
|
from langchain.tools.openapi.utils.openapi_utils import OpenAPISpec
|
||||||
from langchain.tools.openweathermap.tool import OpenWeatherMapQueryRun
|
from langchain.tools.openweathermap.tool import OpenWeatherMapQueryRun
|
||||||
@ -148,6 +154,12 @@ __all__ = [
|
|||||||
"MoveFileTool",
|
"MoveFileTool",
|
||||||
"NavigateBackTool",
|
"NavigateBackTool",
|
||||||
"NavigateTool",
|
"NavigateTool",
|
||||||
|
"O365SearchEmails",
|
||||||
|
"O365SearchEvents",
|
||||||
|
"O365CreateDraftMessage",
|
||||||
|
"O365SendMessage",
|
||||||
|
"O365SendEvent",
|
||||||
|
"authenticate",
|
||||||
"OpenAPISpec",
|
"OpenAPISpec",
|
||||||
"OpenWeatherMapQueryRun",
|
"OpenWeatherMapQueryRun",
|
||||||
"PubmedQueryRun",
|
"PubmedQueryRun",
|
||||||
|
@ -55,6 +55,12 @@ _EXPECTED = [
|
|||||||
"MoveFileTool",
|
"MoveFileTool",
|
||||||
"NavigateBackTool",
|
"NavigateBackTool",
|
||||||
"NavigateTool",
|
"NavigateTool",
|
||||||
|
"O365SearchEmails",
|
||||||
|
"O365SearchEvents",
|
||||||
|
"O365CreateDraftMessage",
|
||||||
|
"O365SendMessage",
|
||||||
|
"O365SendEvent",
|
||||||
|
"authenticate",
|
||||||
"OpenAPISpec",
|
"OpenAPISpec",
|
||||||
"OpenWeatherMapQueryRun",
|
"OpenWeatherMapQueryRun",
|
||||||
"PubmedQueryRun",
|
"PubmedQueryRun",
|
||||||
|
@ -9,11 +9,16 @@ import pytest
|
|||||||
|
|
||||||
from langchain.tools.base import BaseTool
|
from langchain.tools.base import BaseTool
|
||||||
from langchain.tools.gmail.base import GmailBaseTool
|
from langchain.tools.gmail.base import GmailBaseTool
|
||||||
|
from langchain.tools.office365.base import O365BaseTool
|
||||||
from langchain.tools.playwright.base import BaseBrowserTool
|
from langchain.tools.playwright.base import BaseBrowserTool
|
||||||
|
|
||||||
|
|
||||||
def get_non_abstract_subclasses(cls: Type[BaseTool]) -> List[Type[BaseTool]]:
|
def get_non_abstract_subclasses(cls: Type[BaseTool]) -> List[Type[BaseTool]]:
|
||||||
to_skip = {BaseBrowserTool, GmailBaseTool} # Abstract but not recognized
|
to_skip = {
|
||||||
|
BaseBrowserTool,
|
||||||
|
GmailBaseTool,
|
||||||
|
O365BaseTool,
|
||||||
|
} # Abstract but not recognized
|
||||||
subclasses = []
|
subclasses = []
|
||||||
for subclass in cls.__subclasses__():
|
for subclass in cls.__subclasses__():
|
||||||
if (
|
if (
|
||||||
|
Loading…
Reference in New Issue
Block a user