Agents
Last updated
Last updated
Agent components define the behavior and capabilities of AI agents in your flow.
Agents use LLMs as a reasoning engine to decide which of the connected tool components to use to solve a problem.
Tools in agentic functions are, essentially, functions that the agent can call to perform tasks or access external resources. A function is wrapped as a Tool
object, with a common interface the agent understands. Agents become aware of tools through tool registration, where the agent is provided a list of available tools, typically at agent initialization. The Tool
object's description tells the agent what the tool can do.
The agent then uses a connected LLM to reason through the problem to decide which tool is best for the job.
The simple agent starter project uses an agent component connected to URL and Calculator tools to answer a user's questions. The OpenAI LLM acts as a brain for the agent to decide which tool to use. Tools are connected to agent components at the Tools port.
This component creates an agent that can use tools to answer questions and perform tasks based on given instructions.
The component includes an LLM model integration, a system message prompt, and a Tools port to connect tools to extend its capabilities.
agent_llm
Dropdown
The provider of the language model that the agent will use to generate responses. Options include OpenAI and other providers, or Custom.
system_prompt
String
System Prompt: Initial instructions and context provided to guide the agent's behavior.
tools
List
List of tools available for the agent to use.
input_value
String
The input task or question for the agent to process.
add_current_date_tool
Boolean
If true, adds a tool to the agent that returns the current date.
memory
Memory
Optional memory configuration for maintaining conversation history.
max_iterations
Integer
Maximum number of iterations the agent can perform.
handle_parsing_errors
Boolean
Whether to handle parsing errors during agent execution.
verbose
Boolean
Enables verbose output for detailed logging.
response
Message
The agent's response to the given input task.
This component creates a CSV agent from a CSV file and LLM.
llm
LanguageModel
Language model to use for the agent
path
File
Path to the CSV file
agent_type
String
Type of agent to create (zero-shot-react-description, openai-functions, or openai-tools)
agent
AgentExecutor
CSV agent instance
This component represents an Agent of CrewAI, allowing for the creation of specialized AI agents with defined roles, goals, and capabilities within a crew.
role
Role
The role of the agent
goal
Goal
The objective of the agent
backstory
Backstory
The backstory of the agent
tools
Tools
Tools at agent's disposal
llm
Language Model
Language model that will run the agent
memory
Memory
Whether the agent should have memory or not
verbose
Verbose
Enables verbose output
allow_delegation
Allow Delegation
Whether the agent is allowed to delegate tasks to other agents
allow_code_execution
Allow Code Execution
Whether the agent is allowed to execute code
kwargs
kwargs
Additional keyword arguments for the agent
output
Agent
The constructed CrewAI Agent object
This component represents a group of agents, managing how they should collaborate and the tasks they should perform in a hierarchical structure. This component allows for the creation of a crew with a manager overseeing the task execution.
agents
Agents
List of Agent objects representing the crew members
tasks
Tasks
List of HierarchicalTask objects representing the tasks to be executed
manager_llm
Manager LLM
Language model for the manager agent (optional)
manager_agent
Manager Agent
Specific agent to act as the manager (optional)
verbose
Verbose
Enables verbose output for detailed logging
memory
Memory
Specifies the memory configuration for the crew
use_cache
Use Cache
Enables caching of results
max_rpm
Max RPM
Sets the maximum requests per minute
share_crew
Share Crew
Determines if the crew information is shared among agents
function_calling_llm
Function Calling LLM
Specifies the language model for function calling
crew
Crew
The constructed Crew object with hierarchical task execution
This component creates a JSON agent from a JSON or YAML file and an LLM.
llm
LanguageModel
Language model to use for the agent
path
File
Path to the JSON or YAML file
agent
AgentExecutor
JSON agent instance
This component creates an OpenAI Tools Agent using LangChain.
llm
LanguageModel
Language model to use for the agent (must be tool-enabled)
system_prompt
String
System prompt for the agent
user_prompt
String
User prompt template (must contain 'input' key)
chat_history
List[Data]
Optional chat history for the agent
tools
List[Tool]
List of tools available to the agent
agent
AgentExecutor
OpenAI Tools Agent instance
This component creates an OpenAPI Agent to interact with APIs defined by OpenAPI specifications.
llm
LanguageModel
Language model to use for the agent
path
File
Path to the OpenAPI specification file (JSON or YAML)
allow_dangerous_requests
Boolean
Whether to allow potentially dangerous API requests
agent
AgentExecutor
OpenAPI Agent instance
This component creates a SQL Agent to interact with SQL databases.
llm
LanguageModel
Language model to use for the agent
database_uri
String
URI of the SQL database to connect to
extra_tools
List[Tool]
Additional tools to provide to the agent (optional)
agent
AgentExecutor
SQL Agent instance
This component represents a group of agents with tasks that are executed sequentially. This component allows for the creation of a crew that performs tasks in a specific order.
tasks
Tasks
List of SequentialTask objects representing the tasks to be executed
verbose
Verbose
Enables verbose output for detailed logging
memory
Memory
Specifies the memory configuration for the crew
use_cache
Use Cache
Enables caching of results
max_rpm
Max RPM
Sets the maximum requests per minute
share_crew
Share Crew
Determines if the crew information is shared among agents
function_calling_llm
Function Calling LLM
Specifies the language model for function calling
crew
Crew
The constructed Crew object with sequential task execution
This component creates a CrewAI Task and its associated Agent, allowing for the definition of sequential tasks with specific agent roles and capabilities.
role
Role
The role of the agent
goal
Goal
The objective of the agent
backstory
Backstory
The backstory of the agent
tools
Tools
Tools at agent's disposal
llm
Language Model
Language model that will run the agent
memory
Memory
Whether the agent should have memory or not
verbose
Verbose
Enables verbose output
allow_delegation
Allow Delegation
Whether the agent is allowed to delegate tasks to other agents
allow_code_execution
Allow Code Execution
Whether the agent is allowed to execute code
agent_kwargs
Agent kwargs
Additional kwargs for the agent
task_description
Task Description
Descriptive text detailing task's purpose and execution
expected_output
Expected Task Output
Clear definition of expected task outcome
async_execution
Async Execution
Boolean flag indicating asynchronous task execution
previous_task
Previous Task
The previous task in the sequence (for chaining)
task_output
Sequential Task
List of SequentialTask objects representing the created tasks
This component creates a Tool Calling Agent using LangChain.
llm
LanguageModel
Language model to use for the agent
system_prompt
String
System prompt for the agent
user_prompt
String
User prompt template (must contain 'input' key)
chat_history
List[Data]
Optional chat history for the agent
tools
List[Tool]
List of tools available to the agent
agent
AgentExecutor
Tool Calling Agent instance
This component creates a Vector Store Agent using LangChain.
llm
LanguageModel
Language model to use for the agent
vectorstore
VectorStoreInfo
Vector store information for the agent to use
agent
AgentExecutor
Vector Store Agent instance
This component creates a Vector Store Router Agent using LangChain.
llm
LanguageModel
Language model to use for the agent
vectorstores
List[VectorStoreInfo]
List of vector store information for the agent to route between
agent
AgentExecutor
Vector Store Router Agent instance
This component creates an XML Agent using LangChain.
The agent uses XML formatting for tool instructions to the Language Model.
llm
LanguageModel
Language model to use for the agent
user_prompt
String
Custom prompt template for the agent (includes XML formatting instructions)
tools
List[Tool]
List of tools available to the agent
agent
AgentExecutor
XML Agent instance