diff --git a/docs/modules/agents/plan_and_execute.ipynb b/docs/modules/agents/plan_and_execute.ipynb index 93904eef..11e0f2ce 100644 --- a/docs/modules/agents/plan_and_execute.ipynb +++ b/docs/modules/agents/plan_and_execute.ipynb @@ -30,8 +30,8 @@ "outputs": [], "source": [ "from langchain.chat_models import ChatOpenAI\n", + "from langchain.experimental.plan_and_execute import PlanAndExecute, load_agent_executor, load_chat_planner\n", "from langchain.llms import OpenAI\n", - "from langchain.agents import PlanAndExecute, load_agent_executor, load_chat_planner\n", "from langchain import SerpAPIWrapper\n", "from langchain.agents.tools import Tool\n", "from langchain import LLMMathChain" @@ -54,7 +54,6 @@ "source": [ "search = SerpAPIWrapper()\n", "llm = OpenAI(temperature=0)\n", - "search = SerpAPIWrapper()\n", "llm_math_chain = LLMMathChain.from_llm(llm=llm, verbose=True)\n", "tools = [\n", " Tool(\n", @@ -355,7 +354,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.11.3" } }, "nbformat": 4, diff --git a/langchain/agents/__init__.py b/langchain/agents/__init__.py index 50596d05..b70dea94 100644 --- a/langchain/agents/__init__.py +++ b/langchain/agents/__init__.py @@ -26,11 +26,6 @@ from langchain.agents.initialize import initialize_agent from langchain.agents.load_tools import get_all_tool_names, load_tools from langchain.agents.loading import load_agent from langchain.agents.mrkl.base import MRKLChain, ZeroShotAgent -from langchain.agents.plan_and_execute.agent_executor import PlanAndExecute -from langchain.agents.plan_and_execute.executors.agent_executor import ( - load_agent_executor, -) -from langchain.agents.plan_and_execute.planners.chat_planner import load_chat_planner from langchain.agents.react.base import ReActChain, ReActTextWorldAgent from langchain.agents.self_ask_with_search.base import SelfAskWithSearchChain from langchain.agents.structured_chat.base import StructuredChatAgent @@ -68,7 +63,4 @@ __all__ = [ "load_agent", "load_tools", "tool", - "PlanAndExecute", - "load_chat_planner", - "load_agent_executor", ] diff --git a/langchain/agents/plan_and_execute/__init__.py b/langchain/agents/plan_and_execute/__init__.py deleted file mode 100644 index 3c706512..00000000 --- a/langchain/agents/plan_and_execute/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from langchain.agents.plan_and_execute.agent_executor import PlanAndExecute -from langchain.agents.plan_and_execute.executors.agent_executor import ( - load_agent_executor, -) -from langchain.agents.plan_and_execute.planners.chat_planner import load_chat_planner - -__all__ = ["PlanAndExecute", "load_agent_executor", "load_chat_planner"] diff --git a/langchain/experimental/__init__.py b/langchain/experimental/__init__.py index 2443e9d1..df26290c 100644 --- a/langchain/experimental/__init__.py +++ b/langchain/experimental/__init__.py @@ -2,5 +2,18 @@ from langchain.experimental.autonomous_agents.autogpt.agent import AutoGPT from langchain.experimental.autonomous_agents.baby_agi.baby_agi import BabyAGI from langchain.experimental.generative_agents.generative_agent import GenerativeAgent from langchain.experimental.generative_agents.memory import GenerativeAgentMemory +from langchain.experimental.plan_and_execute import ( + PlanAndExecute, + load_agent_executor, + load_chat_planner, +) -__all__ = ["BabyAGI", "AutoGPT", "GenerativeAgent", "GenerativeAgentMemory"] +__all__ = [ + "BabyAGI", + "AutoGPT", + "GenerativeAgent", + "GenerativeAgentMemory", + "PlanAndExecute", + "load_agent_executor", + "load_chat_planner", +] diff --git a/langchain/experimental/plan_and_execute/__init__.py b/langchain/experimental/plan_and_execute/__init__.py new file mode 100644 index 00000000..844baa34 --- /dev/null +++ b/langchain/experimental/plan_and_execute/__init__.py @@ -0,0 +1,9 @@ +from langchain.experimental.plan_and_execute.agent_executor import PlanAndExecute +from langchain.experimental.plan_and_execute.executors.agent_executor import ( + load_agent_executor, +) +from langchain.experimental.plan_and_execute.planners.chat_planner import ( + load_chat_planner, +) + +__all__ = ["PlanAndExecute", "load_agent_executor", "load_chat_planner"] diff --git a/langchain/agents/plan_and_execute/agent_executor.py b/langchain/experimental/plan_and_execute/agent_executor.py similarity index 88% rename from langchain/agents/plan_and_execute/agent_executor.py rename to langchain/experimental/plan_and_execute/agent_executor.py index 49be0ca7..318eaa1c 100644 --- a/langchain/agents/plan_and_execute/agent_executor.py +++ b/langchain/experimental/plan_and_execute/agent_executor.py @@ -2,14 +2,14 @@ from typing import Any, Dict, List, Optional from pydantic import Field -from langchain.agents.plan_and_execute.executors.base import BaseExecutor -from langchain.agents.plan_and_execute.planners.base import BasePlanner -from langchain.agents.plan_and_execute.schema import ( +from langchain.callbacks.manager import CallbackManagerForChainRun +from langchain.chains.base import Chain +from langchain.experimental.plan_and_execute.executors.base import BaseExecutor +from langchain.experimental.plan_and_execute.planners.base import BasePlanner +from langchain.experimental.plan_and_execute.schema import ( BaseStepContainer, ListStepContainer, ) -from langchain.callbacks.manager import CallbackManagerForChainRun -from langchain.chains.base import Chain class PlanAndExecute(Chain): diff --git a/langchain/agents/plan_and_execute/executors/__init__.py b/langchain/experimental/plan_and_execute/executors/__init__.py similarity index 100% rename from langchain/agents/plan_and_execute/executors/__init__.py rename to langchain/experimental/plan_and_execute/executors/__init__.py diff --git a/langchain/agents/plan_and_execute/executors/agent_executor.py b/langchain/experimental/plan_and_execute/executors/agent_executor.py similarity index 91% rename from langchain/agents/plan_and_execute/executors/agent_executor.py rename to langchain/experimental/plan_and_execute/executors/agent_executor.py index b852c5e8..d3c21bec 100644 --- a/langchain/agents/plan_and_execute/executors/agent_executor.py +++ b/langchain/experimental/plan_and_execute/executors/agent_executor.py @@ -1,9 +1,9 @@ from typing import List from langchain.agents.agent import AgentExecutor -from langchain.agents.plan_and_execute.executors.base import ChainExecutor from langchain.agents.structured_chat.base import StructuredChatAgent from langchain.base_language import BaseLanguageModel +from langchain.experimental.plan_and_execute.executors.base import ChainExecutor from langchain.tools import BaseTool HUMAN_MESSAGE_TEMPLATE = """Previous steps: {previous_steps} diff --git a/langchain/agents/plan_and_execute/executors/base.py b/langchain/experimental/plan_and_execute/executors/base.py similarity index 93% rename from langchain/agents/plan_and_execute/executors/base.py rename to langchain/experimental/plan_and_execute/executors/base.py index b88b6918..6a06fa08 100644 --- a/langchain/agents/plan_and_execute/executors/base.py +++ b/langchain/experimental/plan_and_execute/executors/base.py @@ -3,9 +3,9 @@ from typing import Any from pydantic import BaseModel -from langchain.agents.plan_and_execute.schema import StepResponse from langchain.callbacks.manager import Callbacks from langchain.chains.base import Chain +from langchain.experimental.plan_and_execute.schema import StepResponse class BaseExecutor(BaseModel): diff --git a/langchain/agents/plan_and_execute/planners/__init__.py b/langchain/experimental/plan_and_execute/planners/__init__.py similarity index 100% rename from langchain/agents/plan_and_execute/planners/__init__.py rename to langchain/experimental/plan_and_execute/planners/__init__.py diff --git a/langchain/agents/plan_and_execute/planners/base.py b/langchain/experimental/plan_and_execute/planners/base.py similarity index 93% rename from langchain/agents/plan_and_execute/planners/base.py rename to langchain/experimental/plan_and_execute/planners/base.py index 5bf6ac96..63e8a8cd 100644 --- a/langchain/agents/plan_and_execute/planners/base.py +++ b/langchain/experimental/plan_and_execute/planners/base.py @@ -3,9 +3,9 @@ from typing import Any, List, Optional from pydantic import BaseModel -from langchain.agents.plan_and_execute.schema import Plan, PlanOutputParser from langchain.callbacks.manager import Callbacks from langchain.chains.llm import LLMChain +from langchain.experimental.plan_and_execute.schema import Plan, PlanOutputParser class BasePlanner(BaseModel): diff --git a/langchain/agents/plan_and_execute/planners/chat_planner.py b/langchain/experimental/plan_and_execute/planners/chat_planner.py similarity index 88% rename from langchain/agents/plan_and_execute/planners/chat_planner.py rename to langchain/experimental/plan_and_execute/planners/chat_planner.py index d6ea21d8..f65efd60 100644 --- a/langchain/agents/plan_and_execute/planners/chat_planner.py +++ b/langchain/experimental/plan_and_execute/planners/chat_planner.py @@ -1,9 +1,13 @@ import re -from langchain.agents.plan_and_execute.planners.base import LLMPlanner -from langchain.agents.plan_and_execute.schema import Plan, PlanOutputParser, Step from langchain.base_language import BaseLanguageModel from langchain.chains import LLMChain +from langchain.experimental.plan_and_execute.planners.base import LLMPlanner +from langchain.experimental.plan_and_execute.schema import ( + Plan, + PlanOutputParser, + Step, +) from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate from langchain.schema import SystemMessage diff --git a/langchain/agents/plan_and_execute/schema.py b/langchain/experimental/plan_and_execute/schema.py similarity index 100% rename from langchain/agents/plan_and_execute/schema.py rename to langchain/experimental/plan_and_execute/schema.py diff --git a/tests/unit_tests/agents/test_public_api.py b/tests/unit_tests/agents/test_public_api.py index 89c6a288..05055a93 100644 --- a/tests/unit_tests/agents/test_public_api.py +++ b/tests/unit_tests/agents/test_public_api.py @@ -32,9 +32,6 @@ _EXPECTED = [ "load_agent", "load_tools", "tool", - "PlanAndExecute", - "load_chat_planner", - "load_agent_executor", ]