mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-25 16:13: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.toolkit import JsonToolkit
|
||||
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.toolkit import OpenAPIToolkit
|
||||
from langchain.agents.agent_toolkits.pandas.base import create_pandas_dataframe_agent
|
||||
@ -64,4 +65,5 @@ __all__ = [
|
||||
"FileManagementToolkit",
|
||||
"PlayWrightBrowserToolkit",
|
||||
"AzureCognitiveServicesToolkit",
|
||||
"O365Toolkit",
|
||||
]
|
||||
|
@ -30,9 +30,9 @@ class O365Toolkit(BaseToolkit):
|
||||
def get_tools(self) -> List[BaseTool]:
|
||||
"""Get the tools in the toolkit."""
|
||||
return [
|
||||
O365SearchEvents(account=self.account),
|
||||
O365CreateDraftMessage(account=self.account),
|
||||
O365SearchEmails(account=self.account),
|
||||
O365SendEvent(account=self.account),
|
||||
O365SendMessage(account=self.account),
|
||||
O365SearchEvents(),
|
||||
O365CreateDraftMessage(),
|
||||
O365SearchEmails(),
|
||||
O365SendEvent(),
|
||||
O365SendMessage(),
|
||||
]
|
||||
|
@ -38,6 +38,12 @@ from langchain.tools.interaction.tool import StdInInquireTool
|
||||
from langchain.tools.jira.tool import JiraAction
|
||||
from langchain.tools.json.tool import JsonGetValueTool, JsonListKeysTool
|
||||
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.openapi_utils import OpenAPISpec
|
||||
from langchain.tools.openweathermap.tool import OpenWeatherMapQueryRun
|
||||
@ -148,6 +154,12 @@ __all__ = [
|
||||
"MoveFileTool",
|
||||
"NavigateBackTool",
|
||||
"NavigateTool",
|
||||
"O365SearchEmails",
|
||||
"O365SearchEvents",
|
||||
"O365CreateDraftMessage",
|
||||
"O365SendMessage",
|
||||
"O365SendEvent",
|
||||
"authenticate",
|
||||
"OpenAPISpec",
|
||||
"OpenWeatherMapQueryRun",
|
||||
"PubmedQueryRun",
|
||||
|
@ -55,6 +55,12 @@ _EXPECTED = [
|
||||
"MoveFileTool",
|
||||
"NavigateBackTool",
|
||||
"NavigateTool",
|
||||
"O365SearchEmails",
|
||||
"O365SearchEvents",
|
||||
"O365CreateDraftMessage",
|
||||
"O365SendMessage",
|
||||
"O365SendEvent",
|
||||
"authenticate",
|
||||
"OpenAPISpec",
|
||||
"OpenWeatherMapQueryRun",
|
||||
"PubmedQueryRun",
|
||||
|
@ -9,11 +9,16 @@ import pytest
|
||||
|
||||
from langchain.tools.base import BaseTool
|
||||
from langchain.tools.gmail.base import GmailBaseTool
|
||||
from langchain.tools.office365.base import O365BaseTool
|
||||
from langchain.tools.playwright.base import BaseBrowserTool
|
||||
|
||||
|
||||
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 = []
|
||||
for subclass in cls.__subclasses__():
|
||||
if (
|
||||
|
Loading…
Reference in New Issue
Block a user