diff --git a/docs/docs/integrations/chat_loaders/discord.ipynb b/docs/docs/integrations/chat_loaders/discord.ipynb index 4425ce3deb..515d8cf27f 100644 --- a/docs/docs/integrations/chat_loaders/discord.ipynb +++ b/docs/docs/integrations/chat_loaders/discord.ipynb @@ -216,11 +216,11 @@ "source": [ "from typing import List\n", "\n", - "from langchain_community.chat_loaders.base import ChatSession\n", "from langchain_community.chat_loaders.utils import (\n", " map_ai_messages,\n", " merge_chat_runs,\n", ")\n", + "from langchain_core.chat_sessions import ChatSession\n", "\n", "raw_messages = loader.lazy_load()\n", "# Merge consecutive messages from the same sender into a single message\n", diff --git a/docs/docs/integrations/chat_loaders/imessage.ipynb b/docs/docs/integrations/chat_loaders/imessage.ipynb index f5a3acc6a7..37b63dcc17 100644 --- a/docs/docs/integrations/chat_loaders/imessage.ipynb +++ b/docs/docs/integrations/chat_loaders/imessage.ipynb @@ -116,11 +116,11 @@ "source": [ "from typing import List\n", "\n", - "from langchain_community.chat_loaders.base import ChatSession\n", "from langchain_community.chat_loaders.utils import (\n", " map_ai_messages,\n", " merge_chat_runs,\n", ")\n", + "from langchain_core.chat_sessions import ChatSession\n", "\n", "raw_messages = loader.lazy_load()\n", "# Merge consecutive messages from the same sender into a single message\n", diff --git a/docs/docs/integrations/chat_loaders/slack.ipynb b/docs/docs/integrations/chat_loaders/slack.ipynb index 9aeb484f4e..ed8e71f983 100644 --- a/docs/docs/integrations/chat_loaders/slack.ipynb +++ b/docs/docs/integrations/chat_loaders/slack.ipynb @@ -87,11 +87,11 @@ "source": [ "from typing import List\n", "\n", - "from langchain_community.chat_loaders.base import ChatSession\n", "from langchain_community.chat_loaders.utils import (\n", " map_ai_messages,\n", " merge_chat_runs,\n", ")\n", + "from langchain_core.chat_sessions import ChatSession\n", "\n", "raw_messages = loader.lazy_load()\n", "# Merge consecutive messages from the same sender into a single message\n", diff --git a/docs/docs/integrations/chat_loaders/telegram.ipynb b/docs/docs/integrations/chat_loaders/telegram.ipynb index d34a139035..5520518577 100644 --- a/docs/docs/integrations/chat_loaders/telegram.ipynb +++ b/docs/docs/integrations/chat_loaders/telegram.ipynb @@ -136,11 +136,11 @@ "source": [ "from typing import List\n", "\n", - "from langchain_community.chat_loaders.base import ChatSession\n", "from langchain_community.chat_loaders.utils import (\n", " map_ai_messages,\n", " merge_chat_runs,\n", ")\n", + "from langchain_core.chat_sessions import ChatSession\n", "\n", "raw_messages = loader.lazy_load()\n", "# Merge consecutive messages from the same sender into a single message\n", diff --git a/docs/docs/integrations/chat_loaders/wechat.ipynb b/docs/docs/integrations/chat_loaders/wechat.ipynb index 0a0146a495..b2602070ae 100644 --- a/docs/docs/integrations/chat_loaders/wechat.ipynb +++ b/docs/docs/integrations/chat_loaders/wechat.ipynb @@ -209,11 +209,11 @@ "source": [ "from typing import List\n", "\n", - "from langchain_community.chat_loaders.base import ChatSession\n", "from langchain_community.chat_loaders.utils import (\n", " map_ai_messages,\n", " merge_chat_runs,\n", ")\n", + "from langchain_core.chat_sessions import ChatSession\n", "\n", "raw_messages = loader.lazy_load()\n", "# Merge consecutive messages from the same sender into a single message\n", diff --git a/docs/docs/integrations/chat_loaders/whatsapp.ipynb b/docs/docs/integrations/chat_loaders/whatsapp.ipynb index 2243a132ab..1298d34db6 100644 --- a/docs/docs/integrations/chat_loaders/whatsapp.ipynb +++ b/docs/docs/integrations/chat_loaders/whatsapp.ipynb @@ -126,11 +126,11 @@ "source": [ "from typing import List\n", "\n", - "from langchain_community.chat_loaders.base import ChatSession\n", "from langchain_community.chat_loaders.utils import (\n", " map_ai_messages,\n", " merge_chat_runs,\n", ")\n", + "from langchain_core.chat_sessions import ChatSession\n", "\n", "raw_messages = loader.lazy_load()\n", "# Merge consecutive messages from the same sender into a single message\n", diff --git a/libs/community/langchain_community/agent_toolkits/ainetwork/toolkit.py b/libs/community/langchain_community/agent_toolkits/ainetwork/toolkit.py index 3e0c140e99..b645aeeb2c 100644 --- a/libs/community/langchain_community/agent_toolkits/ainetwork/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/ainetwork/toolkit.py @@ -3,8 +3,8 @@ from __future__ import annotations from typing import TYPE_CHECKING, List, Literal, Optional from langchain_core.pydantic_v1 import root_validator +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.ainetwork.app import AINAppOps from langchain_community.tools.ainetwork.owner import AINOwnerOps diff --git a/libs/community/langchain_community/agent_toolkits/amadeus/toolkit.py b/libs/community/langchain_community/agent_toolkits/amadeus/toolkit.py index b4d59a96e9..78d121e4c5 100644 --- a/libs/community/langchain_community/agent_toolkits/amadeus/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/amadeus/toolkit.py @@ -4,8 +4,8 @@ from typing import TYPE_CHECKING, List, Optional from langchain_core.language_models import BaseLanguageModel from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.amadeus.closest_airport import AmadeusClosestAirport from langchain_community.tools.amadeus.flight_search import AmadeusFlightSearch diff --git a/libs/community/langchain_community/agent_toolkits/azure_cognitive_services.py b/libs/community/langchain_community/agent_toolkits/azure_cognitive_services.py index 3c2de898ae..741648a138 100644 --- a/libs/community/langchain_community/agent_toolkits/azure_cognitive_services.py +++ b/libs/community/langchain_community/agent_toolkits/azure_cognitive_services.py @@ -3,9 +3,8 @@ from __future__ import annotations import sys from typing import List -from langchain_core.tools import BaseTool +from langchain_core.tools import BaseTool, BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools.azure_cognitive_services import ( AzureCogsFormRecognizerTool, AzureCogsImageAnalysisTool, diff --git a/libs/community/langchain_community/agent_toolkits/clickup/toolkit.py b/libs/community/langchain_community/agent_toolkits/clickup/toolkit.py index 23a1c9a76c..c8d45e2711 100644 --- a/libs/community/langchain_community/agent_toolkits/clickup/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/clickup/toolkit.py @@ -1,6 +1,7 @@ from typing import Dict, List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.clickup.prompt import ( CLICKUP_FOLDER_CREATE_PROMPT, diff --git a/libs/community/langchain_community/agent_toolkits/cogniswitch/toolkit.py b/libs/community/langchain_community/agent_toolkits/cogniswitch/toolkit.py index 36ec5ae0f3..8e3669ea9b 100644 --- a/libs/community/langchain_community/agent_toolkits/cogniswitch/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/cogniswitch/toolkit.py @@ -1,6 +1,7 @@ from typing import List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.cogniswitch.tool import ( CogniswitchKnowledgeRequest, diff --git a/libs/community/langchain_community/agent_toolkits/connery/toolkit.py b/libs/community/langchain_community/agent_toolkits/connery/toolkit.py index e1a84fd6c1..c3fad66932 100644 --- a/libs/community/langchain_community/agent_toolkits/connery/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/connery/toolkit.py @@ -1,9 +1,8 @@ from typing import List from langchain_core.pydantic_v1 import root_validator -from langchain_core.tools import BaseTool +from langchain_core.tools import BaseTool, BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools.connery import ConneryService diff --git a/libs/community/langchain_community/agent_toolkits/file_management/toolkit.py b/libs/community/langchain_community/agent_toolkits/file_management/toolkit.py index 81071ff561..8e9122aa9a 100644 --- a/libs/community/langchain_community/agent_toolkits/file_management/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/file_management/toolkit.py @@ -3,8 +3,8 @@ from __future__ import annotations from typing import Dict, List, Optional, Type from langchain_core.pydantic_v1 import root_validator +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.file_management.copy import CopyFileTool from langchain_community.tools.file_management.delete import DeleteFileTool diff --git a/libs/community/langchain_community/agent_toolkits/github/toolkit.py b/libs/community/langchain_community/agent_toolkits/github/toolkit.py index 067d3394d1..f0675cc2f5 100644 --- a/libs/community/langchain_community/agent_toolkits/github/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/github/toolkit.py @@ -2,8 +2,8 @@ from typing import Dict, List from langchain_core.pydantic_v1 import BaseModel, Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.github.prompt import ( COMMENT_ON_ISSUE_PROMPT, diff --git a/libs/community/langchain_community/agent_toolkits/gitlab/toolkit.py b/libs/community/langchain_community/agent_toolkits/gitlab/toolkit.py index 1a56b821f5..6d02d6db75 100644 --- a/libs/community/langchain_community/agent_toolkits/gitlab/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/gitlab/toolkit.py @@ -1,7 +1,8 @@ """GitHub Toolkit.""" from typing import Dict, List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.gitlab.prompt import ( COMMENT_ON_ISSUE_PROMPT, diff --git a/libs/community/langchain_community/agent_toolkits/gmail/toolkit.py b/libs/community/langchain_community/agent_toolkits/gmail/toolkit.py index 1e4af3fd61..db520edd48 100644 --- a/libs/community/langchain_community/agent_toolkits/gmail/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/gmail/toolkit.py @@ -3,8 +3,8 @@ from __future__ import annotations from typing import TYPE_CHECKING, List from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.gmail.create_draft import GmailCreateDraft from langchain_community.tools.gmail.get_message import GmailGetMessage diff --git a/libs/community/langchain_community/agent_toolkits/jira/toolkit.py b/libs/community/langchain_community/agent_toolkits/jira/toolkit.py index 425c8d4c06..ddc7f50f6e 100644 --- a/libs/community/langchain_community/agent_toolkits/jira/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/jira/toolkit.py @@ -1,6 +1,7 @@ from typing import Dict, List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.jira.prompt import ( JIRA_CATCH_ALL_PROMPT, diff --git a/libs/community/langchain_community/agent_toolkits/json/toolkit.py b/libs/community/langchain_community/agent_toolkits/json/toolkit.py index 8a4aa00a6e..6c39a3dd9a 100644 --- a/libs/community/langchain_community/agent_toolkits/json/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/json/toolkit.py @@ -2,7 +2,8 @@ from __future__ import annotations from typing import List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.json.tool import ( JsonGetValueTool, diff --git a/libs/community/langchain_community/agent_toolkits/multion/toolkit.py b/libs/community/langchain_community/agent_toolkits/multion/toolkit.py index 1d8f902911..3b22459a24 100644 --- a/libs/community/langchain_community/agent_toolkits/multion/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/multion/toolkit.py @@ -3,7 +3,8 @@ from __future__ import annotations from typing import List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.multion.close_session import MultionCloseSession from langchain_community.tools.multion.create_session import MultionCreateSession diff --git a/libs/community/langchain_community/agent_toolkits/nasa/toolkit.py b/libs/community/langchain_community/agent_toolkits/nasa/toolkit.py index 46edd98af3..2704f7af4c 100644 --- a/libs/community/langchain_community/agent_toolkits/nasa/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/nasa/toolkit.py @@ -1,6 +1,7 @@ from typing import Dict, List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.nasa.prompt import ( NASA_CAPTIONS_PROMPT, diff --git a/libs/community/langchain_community/agent_toolkits/nla/toolkit.py b/libs/community/langchain_community/agent_toolkits/nla/toolkit.py index ae02aeb53b..afedd0d537 100644 --- a/libs/community/langchain_community/agent_toolkits/nla/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/nla/toolkit.py @@ -4,9 +4,8 @@ from typing import Any, List, Optional, Sequence from langchain_core.language_models import BaseLanguageModel from langchain_core.pydantic_v1 import Field -from langchain_core.tools import BaseTool +from langchain_core.tools import BaseTool, BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.agent_toolkits.nla.tool import NLATool from langchain_community.tools.openapi.utils.openapi_utils import OpenAPISpec from langchain_community.tools.plugin import AIPlugin diff --git a/libs/community/langchain_community/agent_toolkits/office365/toolkit.py b/libs/community/langchain_community/agent_toolkits/office365/toolkit.py index 990264ce1d..d68314f796 100644 --- a/libs/community/langchain_community/agent_toolkits/office365/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/office365/toolkit.py @@ -3,8 +3,8 @@ from __future__ import annotations from typing import TYPE_CHECKING, List from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.office365.create_draft_message import ( O365CreateDraftMessage, diff --git a/libs/community/langchain_community/agent_toolkits/openapi/toolkit.py b/libs/community/langchain_community/agent_toolkits/openapi/toolkit.py index 77d9fedf6f..c0a9ab1f7e 100644 --- a/libs/community/langchain_community/agent_toolkits/openapi/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/openapi/toolkit.py @@ -4,9 +4,8 @@ from __future__ import annotations from typing import Any, List from langchain_core.language_models import BaseLanguageModel -from langchain_core.tools import Tool +from langchain_core.tools import BaseToolkit, Tool -from langchain_community.agent_toolkits.base import BaseToolkit 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.openapi.prompt import DESCRIPTION diff --git a/libs/community/langchain_community/agent_toolkits/playwright/toolkit.py b/libs/community/langchain_community/agent_toolkits/playwright/toolkit.py index 5a78e8c21a..beef2123c7 100644 --- a/libs/community/langchain_community/agent_toolkits/playwright/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/playwright/toolkit.py @@ -4,9 +4,8 @@ from __future__ import annotations from typing import TYPE_CHECKING, List, Optional, Type, cast from langchain_core.pydantic_v1 import Extra, root_validator -from langchain_core.tools import BaseTool +from langchain_core.tools import BaseTool, BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools.playwright.base import ( BaseBrowserTool, lazy_import_playwright_browsers, diff --git a/libs/community/langchain_community/agent_toolkits/polygon/toolkit.py b/libs/community/langchain_community/agent_toolkits/polygon/toolkit.py index a41555b7dc..72e87829ef 100644 --- a/libs/community/langchain_community/agent_toolkits/polygon/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/polygon/toolkit.py @@ -1,6 +1,7 @@ from typing import List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.polygon import ( PolygonAggregates, diff --git a/libs/community/langchain_community/agent_toolkits/powerbi/toolkit.py b/libs/community/langchain_community/agent_toolkits/powerbi/toolkit.py index 1a89d77ad2..cf1d8397fd 100644 --- a/libs/community/langchain_community/agent_toolkits/powerbi/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/powerbi/toolkit.py @@ -13,8 +13,8 @@ from langchain_core.prompts.chat import ( SystemMessagePromptTemplate, ) from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.powerbi.prompt import ( QUESTION_TO_QUERY_BASE, diff --git a/libs/community/langchain_community/agent_toolkits/slack/toolkit.py b/libs/community/langchain_community/agent_toolkits/slack/toolkit.py index bc0f09ff1d..f1babcb8aa 100644 --- a/libs/community/langchain_community/agent_toolkits/slack/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/slack/toolkit.py @@ -3,8 +3,8 @@ from __future__ import annotations from typing import TYPE_CHECKING, List from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.slack.get_channel import SlackGetChannel from langchain_community.tools.slack.get_message import SlackGetMessage diff --git a/libs/community/langchain_community/agent_toolkits/spark_sql/toolkit.py b/libs/community/langchain_community/agent_toolkits/spark_sql/toolkit.py index fd0363132d..4379fffcf4 100644 --- a/libs/community/langchain_community/agent_toolkits/spark_sql/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/spark_sql/toolkit.py @@ -3,8 +3,8 @@ from typing import List from langchain_core.language_models import BaseLanguageModel from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.spark_sql.tool import ( InfoSparkSQLTool, diff --git a/libs/community/langchain_community/agent_toolkits/sql/toolkit.py b/libs/community/langchain_community/agent_toolkits/sql/toolkit.py index 6944b557f2..acc2c46f71 100644 --- a/libs/community/langchain_community/agent_toolkits/sql/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/sql/toolkit.py @@ -3,8 +3,8 @@ from typing import List from langchain_core.language_models import BaseLanguageModel from langchain_core.pydantic_v1 import Field +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.sql_database.tool import ( InfoSQLDatabaseTool, diff --git a/libs/community/langchain_community/agent_toolkits/steam/toolkit.py b/libs/community/langchain_community/agent_toolkits/steam/toolkit.py index 1fe57b032b..6033997ff5 100644 --- a/libs/community/langchain_community/agent_toolkits/steam/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/steam/toolkit.py @@ -1,7 +1,8 @@ """Steam Toolkit.""" from typing import List -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit + from langchain_community.tools import BaseTool from langchain_community.tools.steam.prompt import ( STEAM_GET_GAMES_DETAILS, diff --git a/libs/community/langchain_community/agent_toolkits/zapier/toolkit.py b/libs/community/langchain_community/agent_toolkits/zapier/toolkit.py index f5f335efdc..3314eb3457 100644 --- a/libs/community/langchain_community/agent_toolkits/zapier/toolkit.py +++ b/libs/community/langchain_community/agent_toolkits/zapier/toolkit.py @@ -2,8 +2,8 @@ from typing import List from langchain_core._api import warn_deprecated +from langchain_core.tools import BaseToolkit -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools import BaseTool from langchain_community.tools.zapier.tool import ZapierNLARunAction from langchain_community.utilities.zapier import ZapierNLAWrapper diff --git a/libs/community/langchain_community/chat_loaders/__init__.py b/libs/community/langchain_community/chat_loaders/__init__.py index 9c522c88ab..aea0776e96 100644 --- a/libs/community/langchain_community/chat_loaders/__init__.py +++ b/libs/community/langchain_community/chat_loaders/__init__.py @@ -63,7 +63,7 @@ __all__ = [ ] _module_lookup = { - "BaseChatLoader": "langchain_community.chat_loaders.base", + "BaseChatLoader": "langchain_core.chat_loaders", "FolderFacebookMessengerChatLoader": "langchain_community.chat_loaders.facebook_messenger", # noqa: E501 "GMailLoader": "langchain_community.chat_loaders.gmail", "IMessageChatLoader": "langchain_community.chat_loaders.imessage", diff --git a/libs/community/langchain_community/chat_loaders/base.py b/libs/community/langchain_community/chat_loaders/base.py index 7bbdd8894d..a5207e6ef4 100644 --- a/libs/community/langchain_community/chat_loaders/base.py +++ b/libs/community/langchain_community/chat_loaders/base.py @@ -1,16 +1,3 @@ -from abc import ABC, abstractmethod -from typing import Iterator, List +from langchain_core.chat_loaders import BaseChatLoader -from langchain_core.chat_sessions import ChatSession - - -class BaseChatLoader(ABC): - """Base class for chat loaders.""" - - @abstractmethod - def lazy_load(self) -> Iterator[ChatSession]: - """Lazy load the chat sessions.""" - - def load(self) -> List[ChatSession]: - """Eagerly load the chat sessions into memory.""" - return list(self.lazy_load()) +__all__ = ["BaseChatLoader"] diff --git a/libs/community/langchain_community/chat_loaders/facebook_messenger.py b/libs/community/langchain_community/chat_loaders/facebook_messenger.py index 82d326de08..bd7d1ba15c 100644 --- a/libs/community/langchain_community/chat_loaders/facebook_messenger.py +++ b/libs/community/langchain_community/chat_loaders/facebook_messenger.py @@ -3,11 +3,10 @@ import logging from pathlib import Path from typing import Iterator, Union +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.messages import HumanMessage -from langchain_community.chat_loaders.base import BaseChatLoader - logger = logging.getLogger(__file__) diff --git a/libs/community/langchain_community/chat_loaders/gmail.py b/libs/community/langchain_community/chat_loaders/gmail.py index 27dd0ff906..e7aa64028d 100644 --- a/libs/community/langchain_community/chat_loaders/gmail.py +++ b/libs/community/langchain_community/chat_loaders/gmail.py @@ -3,11 +3,10 @@ import re from typing import Any, Iterator from langchain_core._api.deprecation import deprecated +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.messages import HumanMessage -from langchain_community.chat_loaders.base import BaseChatLoader - def _extract_email_content(msg: Any) -> HumanMessage: from_email = None diff --git a/libs/community/langchain_community/chat_loaders/imessage.py b/libs/community/langchain_community/chat_loaders/imessage.py index 0e534f65d3..8e924bcef5 100644 --- a/libs/community/langchain_community/chat_loaders/imessage.py +++ b/libs/community/langchain_community/chat_loaders/imessage.py @@ -4,11 +4,10 @@ from datetime import datetime from pathlib import Path from typing import TYPE_CHECKING, Iterator, List, Optional, Union +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.messages import HumanMessage -from langchain_community.chat_loaders.base import BaseChatLoader - if TYPE_CHECKING: import sqlite3 diff --git a/libs/community/langchain_community/chat_loaders/langsmith.py b/libs/community/langchain_community/chat_loaders/langsmith.py index 4e769283dd..02a16d895e 100644 --- a/libs/community/langchain_community/chat_loaders/langsmith.py +++ b/libs/community/langchain_community/chat_loaders/langsmith.py @@ -3,11 +3,10 @@ from __future__ import annotations import logging from typing import TYPE_CHECKING, Dict, Iterable, Iterator, List, Optional, Union, cast +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.load.load import load -from langchain_community.chat_loaders.base import BaseChatLoader - if TYPE_CHECKING: from langsmith.client import Client from langsmith.schemas import Run diff --git a/libs/community/langchain_community/chat_loaders/slack.py b/libs/community/langchain_community/chat_loaders/slack.py index 8b2603829f..b31a0f521a 100644 --- a/libs/community/langchain_community/chat_loaders/slack.py +++ b/libs/community/langchain_community/chat_loaders/slack.py @@ -5,11 +5,10 @@ import zipfile from pathlib import Path from typing import Dict, Iterator, List, Union +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.messages import AIMessage, HumanMessage -from langchain_community.chat_loaders.base import BaseChatLoader - logger = logging.getLogger(__name__) diff --git a/libs/community/langchain_community/chat_loaders/telegram.py b/libs/community/langchain_community/chat_loaders/telegram.py index ff2056162b..e8d87b08fd 100644 --- a/libs/community/langchain_community/chat_loaders/telegram.py +++ b/libs/community/langchain_community/chat_loaders/telegram.py @@ -6,11 +6,10 @@ import zipfile from pathlib import Path from typing import Iterator, List, Union +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.messages import AIMessage, BaseMessage, HumanMessage -from langchain_community.chat_loaders.base import BaseChatLoader - logger = logging.getLogger(__name__) diff --git a/libs/community/langchain_community/chat_loaders/whatsapp.py b/libs/community/langchain_community/chat_loaders/whatsapp.py index 25c155c1ae..9378744b96 100644 --- a/libs/community/langchain_community/chat_loaders/whatsapp.py +++ b/libs/community/langchain_community/chat_loaders/whatsapp.py @@ -4,11 +4,10 @@ import re import zipfile from typing import Iterator, List, Union +from langchain_core.chat_loaders import BaseChatLoader from langchain_core.chat_sessions import ChatSession from langchain_core.messages import AIMessage, HumanMessage -from langchain_community.chat_loaders.base import BaseChatLoader - logger = logging.getLogger(__name__) diff --git a/libs/core/langchain_core/chat_loaders.py b/libs/core/langchain_core/chat_loaders.py new file mode 100644 index 0000000000..7bbdd8894d --- /dev/null +++ b/libs/core/langchain_core/chat_loaders.py @@ -0,0 +1,16 @@ +from abc import ABC, abstractmethod +from typing import Iterator, List + +from langchain_core.chat_sessions import ChatSession + + +class BaseChatLoader(ABC): + """Base class for chat loaders.""" + + @abstractmethod + def lazy_load(self) -> Iterator[ChatSession]: + """Lazy load the chat sessions.""" + + def load(self) -> List[ChatSession]: + """Eagerly load the chat sessions into memory.""" + return list(self.lazy_load()) diff --git a/libs/langchain/langchain/agents/agent_toolkits/base.py b/libs/langchain/langchain/agents/agent_toolkits/base.py index ebeb44d0a0..50cfb86cc5 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/base.py +++ b/libs/langchain/langchain/agents/agent_toolkits/base.py @@ -1,3 +1,3 @@ -from langchain_community.agent_toolkits.base import BaseToolkit +from langchain_core.tools import BaseToolkit __all__ = ["BaseToolkit"] diff --git a/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py b/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py index 4f6004df6d..37c010c25b 100644 --- a/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py +++ b/libs/langchain/langchain/agents/agent_toolkits/vectorstore/toolkit.py @@ -1,14 +1,13 @@ """Toolkit for interacting with a vector store.""" from typing import List -from langchain_community.agent_toolkits.base import BaseToolkit from langchain_community.tools.vectorstore.tool import ( VectorStoreQATool, VectorStoreQAWithSourcesTool, ) from langchain_core.language_models import BaseLanguageModel from langchain_core.pydantic_v1 import BaseModel, Field -from langchain_core.tools import BaseTool +from langchain_core.tools import BaseTool, BaseToolkit from langchain_core.vectorstores import VectorStore diff --git a/libs/langchain/langchain/chat_loaders/base.py b/libs/langchain/langchain/chat_loaders/base.py index a7035e0018..a5207e6ef4 100644 --- a/libs/langchain/langchain/chat_loaders/base.py +++ b/libs/langchain/langchain/chat_loaders/base.py @@ -1,3 +1,3 @@ -from langchain_community.chat_loaders.base import BaseChatLoader +from langchain_core.chat_loaders import BaseChatLoader __all__ = ["BaseChatLoader"]