AutoChain

Tool

The ability to use tools makes the agent incredible more powerful as shown in LangChain and AutoGPT. We follow the similar concept of tool in LangChain here as well. All the tools in LangChain can be easily ported over to AutoChain since they follow very similar interface.
Tool is essentially an object that implements a run function that takes in a dictionary of kwargs. Since input parsing can be reused, in most cases, user would just need to pass the callable function to create a new tool, and LLM will generate the inputs on the fly when it needs to use the tool. As the result, the interface for Tool is below:

Other optional parameters

Tools included

GoogleSearchTool

Migrated from LangChain, which is also an example for user to easily migrate any tool from LangChain if needed.
User would need to provide google_api_key and google_cse_id to search google through API. This allows the agent to have access to search engine and other non-parametric information.

PineconeTool

Internal search tool that can be used for long term memory of the agent or looking up relevant information that does not exists from the Internet. Currently, AutoChain supports Pinecone as long term memory for the agent

ChromaDBTool

Internal search tool that can be used for long term memory of the agent or looking up relevant information that does not exists from the Internet. Currently, AutoChain supports ChromaDB as long term memory for the agent.

LanceDBTool

Internal search tool that can be used for long term memory of the agent or looking up relevant information that does not exists from the Internet. Currently, AutoChain supports ChromaDB as long term memory for the agent. LanceDBTool is serverless, and does not require any setup.