Skip to content

Commit

Permalink
Replace initialize_agent with create_react_agent for LangGraph co…
Browse files Browse the repository at this point in the history
…mpatibility

- Updated code to use `create_react_agent` instead of the deprecated `initialize_agent`.
- Removed explicit `AgentType` parameters as they are implicitly supported by `create_react_agent`.
- Replaced `verbose=True` with `debug=True` for detailed logging.

Partially addresses langchain-ai#29277
  • Loading branch information
turboslapper committed Jan 22, 2025
1 parent 9eb10a9 commit e90ea8a
Show file tree
Hide file tree
Showing 18 changed files with 165 additions and 98 deletions.
13 changes: 11 additions & 2 deletions docs/docs/integrations/callbacks/llmonitor.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,16 +83,25 @@ agent_executor.run("how many letters in the word educa?", callbacks=[handler])
Another example:

```python
from langchain.agents import load_tools, initialize_agent, AgentType
from langchain.agents import load_tools
from langchain_openai import OpenAI
from langchain_community.callbacks.llmonitor_callback import LLMonitorCallbackHandler
from langgraph.prebuilt import create_react_agent


handler = LLMonitorCallbackHandler()

llm = OpenAI(temperature=0)
tools = load_tools(["serpapi", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, metadata={ "agent_name": "GirlfriendAgeFinder" }) # <- recommended, assign a custom name
system_prompt = "You are a helpful assistant named GirlfriendAgeFinder."

agent = create_react_agent(
model=llm,
tools=tools,
# Add a system prompt (or other advanced instructions).
state_modifier=system_prompt,
debug=False,
)

agent.run(
"Who is Leo DiCaprio's girlfriend? What is her current age raised to the 0.43 power?",
Expand Down
9 changes: 6 additions & 3 deletions docs/docs/integrations/callbacks/sagemaker_tracking.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@
},
"outputs": [],
"source": [
"from langchain.agents import initialize_agent, load_tools\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain.agents import load_tools\n",
"from langchain.chains import LLMChain, SimpleSequentialChain\n",
"from langchain_core.prompts import PromptTemplate\n",
"from langchain_openai import OpenAI\n",
Expand Down Expand Up @@ -294,8 +295,10 @@
" tools = load_tools([\"serpapi\", \"llm-math\"], llm=llm, callbacks=[sagemaker_callback])\n",
"\n",
" # Initialize agent with all the tools\n",
" agent = initialize_agent(\n",
" tools, llm, agent=\"zero-shot-react-description\", callbacks=[sagemaker_callback]\n",
" agent = create_react_agent(\n",
" model=llm,\n",
" tools=tools,\n",
" debug=True,\n",
" )\n",
"\n",
" # Run agent\n",
Expand Down
13 changes: 6 additions & 7 deletions docs/docs/integrations/providers/comet_tracking.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,8 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.agents import initialize_agent, load_tools\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain.agents import load_tools\n",
"from langchain_community.callbacks import CometCallbackHandler\n",
"from langchain_core.callbacks import StdOutCallbackHandler\n",
"from langchain_openai import OpenAI\n",
Expand All @@ -207,12 +208,10 @@
"llm = OpenAI(temperature=0.9, callbacks=callbacks)\n",
"\n",
"tools = load_tools([\"serpapi\", \"llm-math\"], llm=llm, callbacks=callbacks)\n",
"agent = initialize_agent(\n",
" tools,\n",
" llm,\n",
" agent=\"zero-shot-react-description\",\n",
" callbacks=callbacks,\n",
" verbose=True,\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=tools,\n",
" debug=True,\n",
")\n",
"agent.run(\n",
" \"Who is Leo DiCaprio's girlfriend? What is her current age raised to the 0.43 power?\"\n",
Expand Down
10 changes: 7 additions & 3 deletions docs/docs/integrations/providers/google_serper.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ You can use it as part of a Self Ask chain:
```python
from langchain_community.utilities import GoogleSerperAPIWrapper
from langchain_openai import OpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents import AgentType
from langchain.agents import Tool
from langgraph.prebuilt import create_react_agent

import os

Expand All @@ -41,7 +41,11 @@ tools = [
)
]

self_ask_with_search = initialize_agent(tools, llm, agent=AgentType.SELF_ASK_WITH_SEARCH, verbose=True)
self_ask_with_search = create_react_agent(
model=llm,
tools=tools,
debug=True,
)
self_ask_with_search.run("What is the hometown of the reigning men's U.S. Open champion?")
```

Expand Down
10 changes: 7 additions & 3 deletions docs/docs/integrations/providers/searchapi.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ You can use it as part of a Self Ask chain:
```python
from langchain_community.utilities import SearchApiAPIWrapper
from langchain_openai import OpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents import AgentType
from langchain.agents import Tool
from langgraph.prebuilt import create_react_agent

import os

Expand All @@ -40,7 +40,11 @@ tools = [
)
]

self_ask_with_search = initialize_agent(tools, llm, agent=AgentType.SELF_ASK_WITH_SEARCH, verbose=True)
self_ask_with_search = create_react_agent(
model=llm,
tools=tools,
debug=True,
)
self_ask_with_search.run("Who lived longer: Plato, Socrates, or Aristotle?")
```

Expand Down
9 changes: 6 additions & 3 deletions docs/docs/integrations/tools/awslambda.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@
},
"outputs": [],
"source": [
"from langchain.agents import AgentType, initialize_agent, load_tools\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain.agents import load_tools\n",
"from langchain_openai import OpenAI\n",
"\n",
"llm = OpenAI(temperature=0)\n",
Expand All @@ -74,8 +75,10 @@
" function_name=\"testFunction1\",\n",
")\n",
"\n",
"agent = initialize_agent(\n",
" tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=tools,\n",
" debug=True\n",
")\n",
"\n",
"agent.run(\"Send an email to [email protected] saying hello world.\")"
Expand Down
8 changes: 5 additions & 3 deletions docs/docs/integrations/tools/bash.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -154,16 +154,18 @@
}
],
"source": [
"from langchain.agents import AgentType, initialize_agent\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain_openai import ChatOpenAI\n",
"\n",
"llm = ChatOpenAI(temperature=0)\n",
"\n",
"shell_tool.description = shell_tool.description + f\"args {shell_tool.args}\".replace(\n",
" \"{\", \"{{\"\n",
").replace(\"}\", \"}}\")\n",
"self_ask_with_search = initialize_agent(\n",
" [shell_tool], llm, agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, verbose=True\n",
"self_ask_with_search = create_react_agent(\n",
" model=llm,\n",
" tools=[shell_tool],\n",
" debug=True\n",
")\n",
"self_ask_with_search.run(\n",
" \"Download the langchain.com webpage and grep for all urls. Return only a sorted list of them. Be sure to use double quotes.\"\n",
Expand Down
12 changes: 5 additions & 7 deletions docs/docs/integrations/tools/bearly.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.agents import AgentType, initialize_agent\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain_openai import ChatOpenAI"
]
},
Expand Down Expand Up @@ -175,12 +175,10 @@
"outputs": [],
"source": [
"llm = ChatOpenAI(model=\"gpt-4\", temperature=0)\n",
"agent = initialize_agent(\n",
" tools,\n",
" llm,\n",
" agent=AgentType.OPENAI_FUNCTIONS,\n",
" verbose=True,\n",
" handle_parsing_errors=True,\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=tools,\n",
" debug=True,\n",
")"
]
},
Expand Down
43 changes: 33 additions & 10 deletions docs/docs/integrations/tools/chatgpt_plugins.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,25 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 1,
"id": "70d493c8",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"%pip install --upgrade --quiet langchain-community"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 1,
"id": "66cc9494-c060-4bc2-92bf-6d88a45690da",
"metadata": {},
"outputs": [],
Expand All @@ -52,12 +60,25 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"id": "d41405b5",
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'langgraph'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mlanggraph\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprebuilt\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m create_react_agent\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mlangchain\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01magents\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m load_tools\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mlangchain_openai\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m ChatOpenAI\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'langgraph'"
]
}
],
"source": [
"from langchain.agents import AgentType, initialize_agent, load_tools\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain.agents import load_tools\n",
"from langchain_openai import ChatOpenAI"
]
},
Expand Down Expand Up @@ -116,8 +137,10 @@
"tools = load_tools([\"requests_all\"])\n",
"tools += [tool]\n",
"\n",
"agent_chain = initialize_agent(\n",
" tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True\n",
"agent_chain = create_react_agent(\n",
" model=llm,\n",
" tools=tools,\n",
" debug=True\n",
")\n",
"agent_chain.run(\"what t shirts are available in klarna?\")"
]
Expand All @@ -133,7 +156,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
Expand All @@ -147,7 +170,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
"version": "3.13.1"
}
},
"nbformat": 4,
Expand Down
16 changes: 10 additions & 6 deletions docs/docs/integrations/tools/connery.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
"source": [
"import os\n",
"\n",
"from langchain.agents import AgentType, initialize_agent\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain_community.agent_toolkits.connery import ConneryToolkit\n",
"from langchain_community.tools.connery import ConneryService\n",
"from langchain_openai import ChatOpenAI\n",
Expand All @@ -130,8 +130,10 @@
"\n",
"# Use OpenAI Functions agent to execute the prompt using actions from the Connery Toolkit.\n",
"llm = ChatOpenAI(temperature=0)\n",
"agent = initialize_agent(\n",
" connery_toolkit.get_tools(), llm, AgentType.OPENAI_FUNCTIONS, verbose=True\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=connery_toolkit.get_tools(),\n",
" debug=True\n",
")\n",
"result = agent.run(\n",
" f\"\"\"Make a short summary of the webpage http://www.paulgraham.com/vb.html in three sentences\n",
Expand All @@ -157,7 +159,7 @@
"source": [
"import os\n",
"\n",
"from langchain.agents import AgentType, initialize_agent\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain_community.tools.connery import ConneryService\n",
"from langchain_openai import ChatOpenAI\n",
"\n",
Expand Down Expand Up @@ -233,8 +235,10 @@
],
"source": [
"llm = ChatOpenAI(temperature=0)\n",
"agent = initialize_agent(\n",
" [send_email_action], llm, AgentType.OPENAI_FUNCTIONS, verbose=True\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=[send_email_action],\n",
" debug=True # Equivalent to verbose=True\n",
")\n",
"agent_run_result = agent.run(\n",
" f\"Send an email to the {recepient_email} and say that I will be late for the meeting.\"\n",
Expand Down
8 changes: 5 additions & 3 deletions docs/docs/integrations/tools/gitlab.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
"source": [
"import os\n",
"\n",
"from langchain.agents import AgentType, initialize_agent\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain_community.agent_toolkits.gitlab.toolkit import GitLabToolkit\n",
"from langchain_community.utilities.gitlab import GitLabAPIWrapper\n",
"from langchain_openai import OpenAI"
Expand Down Expand Up @@ -132,8 +132,10 @@
"llm = OpenAI(temperature=0)\n",
"gitlab = GitLabAPIWrapper()\n",
"toolkit = GitLabToolkit.from_gitlab_api_wrapper(gitlab)\n",
"agent = initialize_agent(\n",
" toolkit.get_tools(), llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=toolkit.get_tools(),\n",
" debug=True\n",
")"
]
},
Expand Down
11 changes: 7 additions & 4 deletions docs/docs/integrations/tools/google_finance.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,18 @@
"source": [
"import os\n",
"\n",
"from langchain.agents import AgentType, initialize_agent, load_tools\n",
"from langgraph.prebuilt import create_react_agent\n",
"from langchain.agents import load_tools\n",
"from langchain_openai import OpenAI\n",
"\n",
"os.environ[\"OPENAI_API_KEY\"] = \"\"\n",
"os.environ[\"SERP_API_KEY\"] = \"\"\n",
"llm = OpenAI()\n",
"tools = load_tools([\"google-scholar\", \"google-finance\"], llm=llm)\n",
"agent = initialize_agent(\n",
" tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True\n",
"agent = create_react_agent(\n",
" model=llm,\n",
" tools=tools,\n",
" debug=True\n",
")\n",
"agent.run(\"what is google's stock\")"
]
Expand All @@ -104,7 +107,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
"version": "3.13.1"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit e90ea8a

Please sign in to comment.