There are three types of examples in this section:
- Agent Overview: how-to-guides for generic agent functionality
- Agent Toolkits: how-to-guides for specific agent toolkits (agents optimized for interacting with a certain resource)
- Agent Types: how-to-guides for working with the different agent types
The first category of how-to guides here cover specific parts of working with agents.
Load From Hub: This notebook covers how to load agents from LangChainHub.
Custom Tools: How to create custom tools that an agent can use.
Agents With Vectorstores: How to use vectorstores with agents.
Intermediate Steps: How to access and use intermediate steps to get more visibility into the internals of an agent.
Custom Agent: How to create a custom agent (specifically, a custom LLM + prompt to drive that agent).
Multi Input Tools: How to use a tool that requires multiple inputs with an agent.
Search Tools: How to use the different type of search tools that LangChain supports.
Max Iterations: How to restrict an agent to a certain number of iterations.
Asynchronous: Covering asynchronous functionality.
.. toctree:: :maxdepth: 1 :glob: :hidden: ./examples/*
The next set of examples covers agents with toolkits. As opposed to the examples above, these examples are not intended to show off an agent type, but rather to show off an agent applied to particular use case.
SQLDatabase Agent: This notebook covers how to interact with an arbitrary SQL database using an agent.
JSON Agent: This notebook covers how to interact with a JSON dictionary using an agent.
OpenAPI Agent: This notebook covers how to interact with an arbitrary OpenAPI endpoint using an agent.
VectorStore Agent: This notebook covers how to interact with VectorStores using an agent.
Python Agent: This notebook covers how to produce and execute python code using an agent.
Pandas DataFrame Agent: This notebook covers how to do question answering over a pandas dataframe using an agent. Under the hood this calls the Python agent..
CSV Agent: This notebook covers how to do question answering over a csv file. Under the hood this calls the Pandas DataFrame agent.
.. toctree:: :maxdepth: 1 :glob: :hidden: ./agent_toolkits/*
The final set of examples are all end-to-end example of different agent types. In all examples there is an Agent with a particular set of tools.
- Tools: A tool can be anything that takes in a string and returns a string. This means that you can use both the primitives AND the chains found in this documentation. LangChain also provides a list of easily loadable tools. For detailed information on those, please see this documentation
- Agents: An agent uses an LLMChain to determine which tools to use. For a list of all available agent types, see here.
MRKL
- Tools used: Search, SQLDatabaseChain, LLMMathChain
- Agent used: zero-shot-react-description
- Paper
- Note: This is the most general purpose example, so if you are looking to use an agent with arbitrary tools, please start here.
- Example Notebook
Self-Ask-With-Search
- Tools used: Search
- Agent used: self-ask-with-search
- Paper
- Example Notebook
ReAct
- Tools used: Wikipedia Docstore
- Agent used: react-docstore
- Paper
- Example Notebook
.. toctree:: :maxdepth: 1 :glob: :hidden: ./implementations/*