diff --git a/libs/langchain/langchain/agents/agent.py b/libs/langchain/langchain/agents/agent.py index d19af1778c5..459953679bb 100644 --- a/libs/langchain/langchain/agents/agent.py +++ b/libs/langchain/langchain/agents/agent.py @@ -21,6 +21,7 @@ from typing import ( ) import yaml +from langchain_core._api import deprecated from langchain_core.agents import AgentAction, AgentFinish, AgentStep from langchain_core.exceptions import OutputParserException from langchain_core.language_models import BaseLanguageModel @@ -486,6 +487,14 @@ class RunnableMultiActionAgent(BaseMultiActionAgent): return output +@deprecated( + "0.1.0", + alternative=( + "Use new agent constructor methods like create_react_agent, create_json_agent, " + "create_structured_chat_agent, etc." + ), + removal="0.2.0", +) class LLMSingleActionAgent(BaseSingleActionAgent): """Base class for single action agents.""" @@ -568,6 +577,14 @@ class LLMSingleActionAgent(BaseSingleActionAgent): } +@deprecated( + "0.1.0", + alternative=( + "Use new agent constructor methods like create_react_agent, create_json_agent, " + "create_structured_chat_agent, etc." + ), + removal="0.2.0", +) class Agent(BaseSingleActionAgent): """Agent that calls the language model and deciding the action. diff --git a/libs/langchain/langchain/agents/agent_types.py b/libs/langchain/langchain/agents/agent_types.py index 2dc6f976296..2e98fe54818 100644 --- a/libs/langchain/langchain/agents/agent_types.py +++ b/libs/langchain/langchain/agents/agent_types.py @@ -1,7 +1,17 @@ """Module definitions of agent types together with corresponding agents.""" from enum import Enum +from langchain_core._api import deprecated + +@deprecated( + "0.1.0", + alternative=( + "Use new agent constructor methods like create_react_agent, create_json_agent, " + "create_structured_chat_agent, etc." + ), + removal="0.2.0", +) class AgentType(str, Enum): """An enum for agent types. diff --git a/libs/langchain/langchain/agents/chat/base.py b/libs/langchain/langchain/agents/chat/base.py index b574a1a5653..00a320a543c 100644 --- a/libs/langchain/langchain/agents/chat/base.py +++ b/libs/langchain/langchain/agents/chat/base.py @@ -1,5 +1,6 @@ from typing import Any, List, Optional, Sequence, Tuple +from langchain_core._api import deprecated from langchain_core.agents import AgentAction from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts import BasePromptTemplate @@ -24,6 +25,7 @@ from langchain.callbacks.base import BaseCallbackManager from langchain.chains.llm import LLMChain +@deprecated("0.1.0", alternative="create_react_agent", removal="0.2.0") class ChatAgent(Agent): """Chat Agent.""" diff --git a/libs/langchain/langchain/agents/conversational/base.py b/libs/langchain/langchain/agents/conversational/base.py index 45275de8416..fcc03ad1be3 100644 --- a/libs/langchain/langchain/agents/conversational/base.py +++ b/libs/langchain/langchain/agents/conversational/base.py @@ -3,6 +3,7 @@ from __future__ import annotations from typing import Any, List, Optional, Sequence +from langchain_core._api import deprecated from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts import PromptTemplate from langchain_core.pydantic_v1 import Field @@ -17,6 +18,7 @@ from langchain.callbacks.base import BaseCallbackManager from langchain.chains import LLMChain +@deprecated("0.1.0", alternative="create_react_agent", removal="0.2.0") class ConversationalAgent(Agent): """An agent that holds a conversation in addition to using tools.""" diff --git a/libs/langchain/langchain/agents/conversational_chat/base.py b/libs/langchain/langchain/agents/conversational_chat/base.py index 480f907671d..00f0137cda0 100644 --- a/libs/langchain/langchain/agents/conversational_chat/base.py +++ b/libs/langchain/langchain/agents/conversational_chat/base.py @@ -3,6 +3,7 @@ from __future__ import annotations from typing import Any, List, Optional, Sequence, Tuple +from langchain_core._api import deprecated from langchain_core.agents import AgentAction from langchain_core.language_models import BaseLanguageModel from langchain_core.messages import AIMessage, BaseMessage, HumanMessage @@ -29,6 +30,7 @@ from langchain.callbacks.base import BaseCallbackManager from langchain.chains import LLMChain +@deprecated("0.1.0", alternative="create_json_chat_agent", removal="0.2.0") class ConversationalChatAgent(Agent): """An agent designed to hold a conversation in addition to using tools.""" diff --git a/libs/langchain/langchain/agents/initialize.py b/libs/langchain/langchain/agents/initialize.py index 4eb9789e3c7..65cfbd20039 100644 --- a/libs/langchain/langchain/agents/initialize.py +++ b/libs/langchain/langchain/agents/initialize.py @@ -1,6 +1,7 @@ """Load agent.""" from typing import Any, Optional, Sequence +from langchain_core._api import deprecated from langchain_core.language_models import BaseLanguageModel from langchain_core.tools import BaseTool @@ -10,6 +11,14 @@ from langchain.agents.loading import AGENT_TO_CLASS, load_agent from langchain.callbacks.base import BaseCallbackManager +@deprecated( + "0.1.0", + alternative=( + "Use new agent constructor methods like create_react_agent, create_json_agent, " + "create_structured_chat_agent, etc." + ), + removal="0.2.0", +) def initialize_agent( tools: Sequence[BaseTool], llm: BaseLanguageModel, diff --git a/libs/langchain/langchain/agents/loading.py b/libs/langchain/langchain/agents/loading.py index a1691d543aa..28540fcfd4a 100644 --- a/libs/langchain/langchain/agents/loading.py +++ b/libs/langchain/langchain/agents/loading.py @@ -5,6 +5,7 @@ from pathlib import Path from typing import Any, List, Optional, Union import yaml +from langchain_core._api import deprecated from langchain_core.language_models import BaseLanguageModel from langchain_core.utils.loading import try_load_from_hub @@ -30,6 +31,7 @@ def _load_agent_from_tools( return agent_cls.from_llm_and_tools(llm, tools, **combined_config) +@deprecated("0.1.0", removal="0.2.0") def load_agent_from_config( config: dict, llm: Optional[BaseLanguageModel] = None, @@ -85,6 +87,7 @@ def load_agent_from_config( return agent_cls(**combined_config) # type: ignore +@deprecated("0.1.0", removal="0.2.0") def load_agent( path: Union[str, Path], **kwargs: Any ) -> Union[BaseSingleActionAgent, BaseMultiActionAgent]: diff --git a/libs/langchain/langchain/agents/mrkl/base.py b/libs/langchain/langchain/agents/mrkl/base.py index 2213de8053a..51e3ef2dbae 100644 --- a/libs/langchain/langchain/agents/mrkl/base.py +++ b/libs/langchain/langchain/agents/mrkl/base.py @@ -3,6 +3,7 @@ from __future__ import annotations from typing import Any, Callable, List, NamedTuple, Optional, Sequence +from langchain_core._api import deprecated from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts import PromptTemplate from langchain_core.pydantic_v1 import Field @@ -32,6 +33,7 @@ class ChainConfig(NamedTuple): action_description: str +@deprecated("0.1.0", alternative="create_react_agent", removal="0.2.0") class ZeroShotAgent(Agent): """Agent for the MRKL chain.""" @@ -137,6 +139,7 @@ class ZeroShotAgent(Agent): super()._validate_tools(tools) +@deprecated("0.1.0", removal="0.2.0") class MRKLChain(AgentExecutor): """[Deprecated] Chain that implements the MRKL system.""" diff --git a/libs/langchain/langchain/agents/openai_functions_agent/base.py b/libs/langchain/langchain/agents/openai_functions_agent/base.py index b4af37a9756..9e6c6e0cfd7 100644 --- a/libs/langchain/langchain/agents/openai_functions_agent/base.py +++ b/libs/langchain/langchain/agents/openai_functions_agent/base.py @@ -2,6 +2,7 @@ from typing import Any, List, Optional, Sequence, Tuple, Union from langchain_community.tools.convert_to_openai import format_tool_to_openai_function +from langchain_core._api import deprecated from langchain_core.agents import AgentAction, AgentFinish from langchain_core.language_models import BaseLanguageModel from langchain_core.messages import ( @@ -30,6 +31,7 @@ from langchain.callbacks.base import BaseCallbackManager from langchain.callbacks.manager import Callbacks +@deprecated("0.1.0", alternative="create_openai_functions_agent", removal="0.2.0") class OpenAIFunctionsAgent(BaseSingleActionAgent): """An Agent driven by OpenAIs function powered API. diff --git a/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py b/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py index 480f102d903..168f852c591 100644 --- a/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py +++ b/libs/langchain/langchain/agents/openai_functions_multi_agent/base.py @@ -3,6 +3,7 @@ import json from json import JSONDecodeError from typing import Any, List, Optional, Sequence, Tuple, Union +from langchain_core._api import deprecated from langchain_core.agents import AgentAction, AgentActionMessageLog, AgentFinish from langchain_core.exceptions import OutputParserException from langchain_core.language_models import BaseLanguageModel @@ -93,6 +94,7 @@ def _parse_ai_message(message: BaseMessage) -> Union[List[AgentAction], AgentFin ) +@deprecated("0.1.0", alternative="create_openai_tools_agent", removal="0.2.0") class OpenAIMultiFunctionsAgent(BaseMultiActionAgent): """An Agent driven by OpenAIs function powered API. diff --git a/libs/langchain/langchain/agents/react/base.py b/libs/langchain/langchain/agents/react/base.py index f4bbbbe324b..fba742ac458 100644 --- a/libs/langchain/langchain/agents/react/base.py +++ b/libs/langchain/langchain/agents/react/base.py @@ -1,6 +1,7 @@ """Chain that implements the ReAct paper from https://arxiv.org/pdf/2210.03629.pdf.""" from typing import Any, List, Optional, Sequence +from langchain_core._api import deprecated from langchain_core.documents import Document from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts import BasePromptTemplate @@ -17,6 +18,7 @@ from langchain.agents.utils import validate_tools_single_input from langchain.docstore.base import Docstore +@deprecated("0.1.0", removal="0.2.0") class ReActDocstoreAgent(Agent): """Agent for the ReAct chain.""" @@ -63,6 +65,7 @@ class ReActDocstoreAgent(Agent): return "Thought:" +@deprecated("0.1.0", removal="0.2.0") class DocstoreExplorer: """Class to assist with exploration of a document store.""" @@ -112,6 +115,7 @@ class DocstoreExplorer: return self.document.page_content.split("\n\n") +@deprecated("0.1.0", removal="0.2.0") class ReActTextWorldAgent(ReActDocstoreAgent): """Agent for the ReAct TextWorld chain.""" @@ -131,6 +135,7 @@ class ReActTextWorldAgent(ReActDocstoreAgent): raise ValueError(f"Tool name should be Play, got {tool_names}") +@deprecated("0.1.0", removal="0.2.0") class ReActChain(AgentExecutor): """[Deprecated] Chain that implements the ReAct paper.""" diff --git a/libs/langchain/langchain/agents/self_ask_with_search/base.py b/libs/langchain/langchain/agents/self_ask_with_search/base.py index d5aeb0bb7cc..32c482eeff2 100644 --- a/libs/langchain/langchain/agents/self_ask_with_search/base.py +++ b/libs/langchain/langchain/agents/self_ask_with_search/base.py @@ -4,6 +4,7 @@ from typing import Any, Sequence, Union from langchain_community.utilities.google_serper import GoogleSerperAPIWrapper from langchain_community.utilities.searchapi import SearchApiAPIWrapper from langchain_community.utilities.serpapi import SerpAPIWrapper +from langchain_core._api import deprecated from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts import BasePromptTemplate from langchain_core.pydantic_v1 import Field @@ -19,6 +20,7 @@ from langchain.agents.tools import Tool from langchain.agents.utils import validate_tools_single_input +@deprecated("0.1.0", alternative="create_self_ask_with_search", removal="0.2.0") class SelfAskWithSearchAgent(Agent): """Agent for the self-ask-with-search paper.""" @@ -61,6 +63,7 @@ class SelfAskWithSearchAgent(Agent): return "" +@deprecated("0.1.0", removal="0.2.0") class SelfAskWithSearchChain(AgentExecutor): """[Deprecated] Chain that does self-ask with search.""" diff --git a/libs/langchain/langchain/agents/structured_chat/base.py b/libs/langchain/langchain/agents/structured_chat/base.py index 21448ed6a28..68bb381897d 100644 --- a/libs/langchain/langchain/agents/structured_chat/base.py +++ b/libs/langchain/langchain/agents/structured_chat/base.py @@ -1,6 +1,7 @@ import re from typing import Any, List, Optional, Sequence, Tuple +from langchain_core._api import deprecated from langchain_core.agents import AgentAction from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts import BasePromptTemplate @@ -27,6 +28,7 @@ from langchain.tools.render import render_text_description_and_args HUMAN_MESSAGE_TEMPLATE = "{input}\n\n{agent_scratchpad}" +@deprecated("0.1.0", alternative="create_structured_chat_agent", removal="0.2.0") class StructuredChatAgent(Agent): """Structured Chat Agent.""" diff --git a/libs/langchain/langchain/agents/xml/base.py b/libs/langchain/langchain/agents/xml/base.py index b10efc12db2..abdacf48803 100644 --- a/libs/langchain/langchain/agents/xml/base.py +++ b/libs/langchain/langchain/agents/xml/base.py @@ -1,5 +1,6 @@ from typing import Any, List, Sequence, Tuple, Union +from langchain_core._api import deprecated from langchain_core.agents import AgentAction, AgentFinish from langchain_core.language_models import BaseLanguageModel from langchain_core.prompts.base import BasePromptTemplate @@ -16,6 +17,7 @@ from langchain.chains.llm import LLMChain from langchain.tools.render import render_text_description +@deprecated("0.1.0", alternative="create_xml_agent", removal="0.2.0") class XMLAgent(BaseSingleActionAgent): """Agent that uses XML tags.