ReAct Agent doesn't execute 
Labels: name: area: agent, name: auto:bug

### System Info

Name: langchain
Version: 0.0.300
Summary: Building applications with LLMs through composability
Home-page: https://github.com/langchain-ai/langchain
Author: None
Author-email: None
License: MIT
Location: /anaconda/envs/azureml_py38/lib/python3.8/site-packages
Requires: requests, jsonpatch, dataclasses-json, numpy, tenacity, numexpr, aiohttp, langsmith, anyio, SQLAlchemy, pydantic, async-timeout, PyYAML
Required-by: llama-index

### Who can help?

_No response_

### Information

- [ ] The official example notebooks/scripts
- [ ] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [ ] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction


```
from langchain.llms import HuggingFaceTextGenInference

llm = HuggingFaceTextGenInference(
    inference_server_url="http://x.x.x.x:8080/",
    max_new_tokens=512,
    top_k=10,
    top_p=0.95,
    typical_p=0.95,
    temperature=0.6,
    # repetition_penalty=1.1,
)


from langchain.llms import OpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents import AgentType
from langchain.agents.react.base import DocstoreExplorer

docstore = DocstoreExplorer(vectordb)
tools = [
    Tool(
        name="Search",
        func=docstore.search,
        description="useful for when you need to ask with search",
    ),
    Tool(
        name="Lookup",
        func=docstore.lookup,
        description="useful for when you need to ask with lookup",
    ),
]

react = initialize_agent(tools, model, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
react.run('Punishment for drinking and driving')
```

Error:
```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/home/azureuser/cloudfiles/code/Users/Tejasw/langchain_retreival.ipynb Cell 34 line 1
----> 1 react.run('Punishment for drinking and driving')

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/chains/base.py:487, in Chain.run(self, callbacks, tags, metadata, *args, **kwargs)
    485     if len(args) != 1:
    486         raise ValueError("`run` supports only one positional argument.")
--> 487     return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
    488         _output_key
    489     ]
    491 if kwargs and not args:
    492     return self(kwargs, callbacks=callbacks, tags=tags, metadata=metadata)[
    493         _output_key
    494     ]

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/chains/base.py:292, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, run_name, include_run_info)
    290 except BaseException as e:
    291     run_manager.on_chain_error(e)
--> 292     raise e
    293 run_manager.on_chain_end(outputs)
    294 final_outputs: Dict[str, Any] = self.prep_outputs(
    295     inputs, outputs, return_only_outputs
    296 )

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/chains/base.py:286, in Chain.__call__(self, inputs, return_only_outputs, callbacks, tags, metadata, run_name, include_run_info)
    279 run_manager = callback_manager.on_chain_start(
    280     dumpd(self),
    281     inputs,
    282     name=run_name,
    283 )
    284 try:
    285     outputs = (
--> 286         self._call(inputs, run_manager=run_manager)
    287         if new_arg_supported
    288         else self._call(inputs)
    289     )
    290 except BaseException as e:
    291     run_manager.on_chain_error(e)

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/agents/agent.py:1122, in AgentExecutor._call(self, inputs, run_manager)
   1120 # We now enter the agent loop (until it returns something).
   1121 while self._should_continue(iterations, time_elapsed):
-> 1122     next_step_output = self._take_next_step(
   1123         name_to_tool_map,
   1124         color_mapping,
   1125         inputs,
   1126         intermediate_steps,
   1127         run_manager=run_manager,
   1128     )
   1129     if isinstance(next_step_output, AgentFinish):
   1130         return self._return(
   1131             next_step_output, intermediate_steps, run_manager=run_manager
   1132         )

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/agents/agent.py:977, in AgentExecutor._take_next_step(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)
    975         tool_run_kwargs["llm_prefix"] = ""
    976     # We then call the tool on the tool input to get an observation
--> 977     observation = tool.run(
    978         agent_action.tool_input,
    979         verbose=self.verbose,
    980         color=color,
    981         callbacks=run_manager.get_child() if run_manager else None,
    982         **tool_run_kwargs,
    983     )
    984 else:
    985     tool_run_kwargs = self.agent.tool_run_logging_kwargs()

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/tools/base.py:360, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, run_name, **kwargs)
    358 except (Exception, KeyboardInterrupt) as e:
    359     run_manager.on_tool_error(e)
--> 360     raise e
    361 else:
    362     run_manager.on_tool_end(
    363         str(observation), color=color, name=self.name, **kwargs
    364     )

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/tools/base.py:332, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, run_name, **kwargs)
    329 try:
    330     tool_args, tool_kwargs = self._to_args_and_kwargs(parsed_input)
    331     observation = (
--> 332         self._run(*tool_args, run_manager=run_manager, **tool_kwargs)
    333         if new_arg_supported
    334         else self._run(*tool_args, **tool_kwargs)
    335     )
    336 except ToolException as e:
    337     if not self.handle_tool_error:

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/tools/base.py:511, in Tool._run(self, run_manager, *args, **kwargs)
    502 if self.func:
    503     new_argument_supported = signature(self.func).parameters.get("callbacks")
    504     return (
    505         self.func(
    506             *args,
    507             callbacks=run_manager.get_child() if run_manager else None,
    508             **kwargs,
    509         )
    510         if new_argument_supported
--> 511         else self.func(*args, **kwargs)
    512     )
    513 raise NotImplementedError("Tool does not support sync")

File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/langchain/agents/react/base.py:77, in DocstoreExplorer.search(self, term)
     75 def search(self, term: str) -> str:
     76     """Search for a term in the docstore, and if found save."""
---> 77     result = self.docstore.search(term)
     78     if isinstance(result, Document):
     79         self.document = result

TypeError: search() missing 1 required positional argument: 'search_type'
```

### Expected behavior

Should successfully execute.