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:
-
func
Function callable will be called at therun
function. It will automatically generate the typing information when usingOpenAIFunctionsAgent
. -
description
To make it easy and descriptive for LLM model to understand when it should use this tool, it would be great to have a description for proper tool usage.
Other optional parameters¶
-
name
Tool name as identifier for model specify which tool to use. If this is not provided, it will be same as thefunc
name. User might want to provide a more descriptive name for the tool if the function name is not very obvious. -
arg_description
Function calling feature of OpenAI supports adding description for each argument. User could pass a dictionary of arg name and description usingarg_description
parameter. They will be formatted into the prompt when usingOpenAIFunctionsAgent
.
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.