Skip to content

Agent

autogen.Agent #

Bases: Protocol

(In preview) A protocol for Agent.

An agent can communicate with other agents and perform actions. Different agents can differ in what actions they perform in the receive method.

name property #

name

The name of the agent.

description property #

description

The description of the agent. Used for the agent's introduction in a group chat setting.

send #

send(message, recipient, request_reply=None)

Send a message to another agent.

PARAMETER DESCRIPTION
message

the message to send. If a dict, it should be a JSON-serializable and follows the OpenAI's ChatCompletion schema.

TYPE: dict or str

recipient

the recipient of the message.

TYPE: Agent

request_reply

whether to request a reply from the recipient.

TYPE: bool DEFAULT: None

Source code in autogen/agentchat/agent.py
def send(
    self,
    message: Union[dict[str, Any], str],
    recipient: "Agent",
    request_reply: Optional[bool] = None,
) -> None:
    """Send a message to another agent.

    Args:
        message (dict or str): the message to send. If a dict, it should be
            a JSON-serializable and follows the OpenAI's ChatCompletion schema.
        recipient (Agent): the recipient of the message.
        request_reply (bool): whether to request a reply from the recipient.
    """
    ...

a_send async #

a_send(message, recipient, request_reply=None)

(Async) Send a message to another agent.

PARAMETER DESCRIPTION
message

the message to send. If a dict, it should be a JSON-serializable and follows the OpenAI's ChatCompletion schema.

TYPE: dict or str

recipient

the recipient of the message.

TYPE: Agent

request_reply

whether to request a reply from the recipient.

TYPE: bool DEFAULT: None

Source code in autogen/agentchat/agent.py
async def a_send(
    self,
    message: Union[dict[str, Any], str],
    recipient: "Agent",
    request_reply: Optional[bool] = None,
) -> None:
    """(Async) Send a message to another agent.

    Args:
        message (dict or str): the message to send. If a dict, it should be
            a JSON-serializable and follows the OpenAI's ChatCompletion schema.
        recipient (Agent): the recipient of the message.
        request_reply (bool): whether to request a reply from the recipient.
    """
    ...

receive #

receive(message, sender, request_reply=None)

Receive a message from another agent.

PARAMETER DESCRIPTION
message

the message received. If a dict, it should be a JSON-serializable and follows the OpenAI's ChatCompletion schema.

TYPE: dict or str

sender

the sender of the message.

TYPE: Agent

request_reply

whether the sender requests a reply.

TYPE: bool DEFAULT: None

Source code in autogen/agentchat/agent.py
def receive(
    self,
    message: Union[dict[str, Any], str],
    sender: "Agent",
    request_reply: Optional[bool] = None,
) -> None:
    """Receive a message from another agent.

    Args:
        message (dict or str): the message received. If a dict, it should be
            a JSON-serializable and follows the OpenAI's ChatCompletion schema.
        sender (Agent): the sender of the message.
        request_reply (bool): whether the sender requests a reply.
    """

a_receive async #

a_receive(message, sender, request_reply=None)

(Async) Receive a message from another agent.

PARAMETER DESCRIPTION
message

the message received. If a dict, it should be a JSON-serializable and follows the OpenAI's ChatCompletion schema.

TYPE: dict or str

sender

the sender of the message.

TYPE: Agent

request_reply

whether the sender requests a reply.

TYPE: bool DEFAULT: None

Source code in autogen/agentchat/agent.py
async def a_receive(
    self,
    message: Union[dict[str, Any], str],
    sender: "Agent",
    request_reply: Optional[bool] = None,
) -> None:
    """(Async) Receive a message from another agent.

    Args:
        message (dict or str): the message received. If a dict, it should be
            a JSON-serializable and follows the OpenAI's ChatCompletion schema.
        sender (Agent): the sender of the message.
        request_reply (bool): whether the sender requests a reply.
    """
    ...

generate_reply #

generate_reply(messages=None, sender=None, **kwargs)

Generate a reply based on the received messages.

PARAMETER DESCRIPTION
messages

a list of messages received from other agents. The messages are dictionaries that are JSON-serializable and follows the OpenAI's ChatCompletion schema.

TYPE: list[dict[str, Any]] DEFAULT: None

sender

sender of an Agent instance.

TYPE: Optional[Agent] DEFAULT: None

**kwargs

Additional keyword arguments.

TYPE: Any DEFAULT: {}

RETURNS DESCRIPTION
Union[str, dict[str, Any], None]

str or dict or None: the generated reply. If None, no reply is generated.

Source code in autogen/agentchat/agent.py
def generate_reply(
    self,
    messages: Optional[list[dict[str, Any]]] = None,
    sender: Optional["Agent"] = None,
    **kwargs: Any,
) -> Union[str, dict[str, Any], None]:
    """Generate a reply based on the received messages.

    Args:
        messages (list[dict[str, Any]]): a list of messages received from other agents.
            The messages are dictionaries that are JSON-serializable and
            follows the OpenAI's ChatCompletion schema.
        sender: sender of an Agent instance.
        **kwargs: Additional keyword arguments.

    Returns:
        str or dict or None: the generated reply. If None, no reply is generated.
    """

a_generate_reply async #

a_generate_reply(messages=None, sender=None, **kwargs)

(Async) Generate a reply based on the received messages.

PARAMETER DESCRIPTION
messages

a list of messages received from other agents. The messages are dictionaries that are JSON-serializable and follows the OpenAI's ChatCompletion schema.

TYPE: list[dict[str, Any]] DEFAULT: None

sender

sender of an Agent instance.

TYPE: Optional[Agent] DEFAULT: None

**kwargs

Additional keyword arguments.

TYPE: Any DEFAULT: {}

RETURNS DESCRIPTION
Union[str, dict[str, Any], None]

str or dict or None: the generated reply. If None, no reply is generated.

Source code in autogen/agentchat/agent.py
async def a_generate_reply(
    self,
    messages: Optional[list[dict[str, Any]]] = None,
    sender: Optional["Agent"] = None,
    **kwargs: Any,
) -> Union[str, dict[str, Any], None]:
    """(Async) Generate a reply based on the received messages.

    Args:
        messages (list[dict[str, Any]]): a list of messages received from other agents.
            The messages are dictionaries that are JSON-serializable and
            follows the OpenAI's ChatCompletion schema.
        sender: sender of an Agent instance.
        **kwargs: Additional keyword arguments.

    Returns:
        str or dict or None: the generated reply. If None, no reply is generated.
    """
    ...