Skip to content

Latest commit

 

History

History
108 lines (79 loc) · 2.75 KB

File metadata and controls

108 lines (79 loc) · 2.75 KB
title CrewAIAgent
description CrewAIAgent lets you define your agent for use with CopilotKit.

{ /*

  • ATTENTION! DO NOT MODIFY THIS FILE!
  • This page is auto-generated. If you want to make any changes to this page, changes must be made at:
  • sdk-python/copilotkit/crewai/crewai_agent.py */ }

CrewAIAgent

CrewAIAgent lets you define your agent for use with CopilotKit.

To install, run:

```bash
pip install copilotkit[crewai]
```

Every agent must have the `name` and either `crew` or `flow` properties defined. An optional 
`description` can also be provided. This is used when CopilotKit is dynamically routing requests 
to the agent.

## Serving a Crew based agent

To serve a Crew based agent, pass in a `Crew` object to the `crew` parameter.

Note:
You need to make sure to have a `chat_llm` set on the `Crew` object.
See [the CrewAI docs](https://docs.crewai.com/concepts/cli#9-chat) for more information.

```python
from copilotkit import CrewAIAgent


CrewAIAgent(
    name="email_agent_crew",
    description="This crew based agent sends emails",
    crew=SendEmailCrew(),
)
```

## Serving a Flow based agent

To serve a Flow based agent, pass in a `Flow` object to the `flow` parameter.

```python
CrewAIAgent(
    name="email_agent_flow",
    description="This flow based agent sends emails",
    flow=SendEmailFlow(),
)
```

Note:
Either a `crew` or `flow` must be provided to CrewAIAgent.

Parameters

The name of the agent. When using a Crew based agent, pass in a `Crew` object to the `crew` parameter. When using a Flow based agent, pass in a `Flow` object to the `flow` parameter. The description of the agent. The CopilotKit config to use with the agent.

CopilotKitConfig

CopilotKit config for CrewAIAgent

This is used for advanced cases where you want to customize how CopilotKit interacts with
CrewAI.

```python
# Function signatures:
def merge_state(
    *,
    state: dict,
    messages: List[BaseMessage],
    actions: List[Any],
    agent_name: str
):
    # ...implementation...

```

Parameters

This function lets you customize how CopilotKit merges the agent state.