# create_vectorstore_agent

> **Function** in `langchain_classic`

📖 [View in docs](https://reference.langchain.com/python/langchain-classic/agents/agent_toolkits/vectorstore/base/create_vectorstore_agent)

Construct a VectorStore agent from an LLM and tools.

!!! note
    This class is deprecated. See below for a replacement that uses tool
    calling methods and LangGraph. Install LangGraph with:

    ```bash
    pip install -U langgraph
    ```

    ```python
    from langchain_core.tools import create_retriever_tool
    from langchain_core.vectorstores import InMemoryVectorStore
    from langchain_openai import ChatOpenAI, OpenAIEmbeddings
    from langgraph.prebuilt import create_react_agent

    model = ChatOpenAI(model="gpt-4o-mini", temperature=0)

    vector_store = InMemoryVectorStore.from_texts(
        [
            "Dogs are great companions, known for their loyalty and friendliness.",
            "Cats are independent pets that often enjoy their own space.",
        ],
        OpenAIEmbeddings(),
    )

    tool = create_retriever_tool(
        vector_store.as_retriever(),
        "pet_information_retriever",
        "Fetches information about pets.",
    )

    agent = create_react_agent(model, [tool])

    for step in agent.stream(
        {"messages": [("human", "What are dogs known for?")]},
        stream_mode="values",
    ):
        step["messages"][-1].pretty_print()
    ```

## Signature

```python
create_vectorstore_agent(
    llm: BaseLanguageModel,
    toolkit: VectorStoreToolkit,
    callback_manager: BaseCallbackManager | None = None,
    prefix: str = PREFIX,
    verbose: bool = False,
    agent_executor_kwargs: dict[str, Any] | None = None,
    **kwargs: Any = {},
) -> AgentExecutor
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `llm` | `BaseLanguageModel` | Yes | LLM that will be used by the agent |
| `toolkit` | `VectorStoreToolkit` | Yes | Set of tools for the agent |
| `callback_manager` | `BaseCallbackManager \| None` | No | Object to handle the callback (default: `None`) |
| `prefix` | `str` | No | The prefix prompt for the agent. (default: `PREFIX`) |
| `verbose` | `bool` | No | If you want to see the content of the scratchpad. (default: `False`) |
| `agent_executor_kwargs` | `dict[str, Any] \| None` | No | If there is any other parameter you want to send to the agent. (default: `None`) |
| `kwargs` | `Any` | No | Additional named parameters to pass to the `ZeroShotAgent`. (default: `{}`) |

## Returns

`AgentExecutor`

Returns a callable AgentExecutor object.

## ⚠️ Deprecated

Deprecated since version 0.2.13.

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/b302691ff9ad841804e93e5addbdc53b6974473b/libs/langchain/langchain_classic/agents/agent_toolkits/vectorstore/base.py#L22)