agentchat.contrib.capabilities.transform_messages
TransformMessages
class TransformMessages()
Agent capability for transforming messages before reply generation.
This capability allows you to apply a series of message transformations to a ConversableAgent's incoming messages before they are processed for response generation. This is useful for tasks such as:
- Limiting the number of messages considered for context.
- Truncating messages to meet token limits.
- Filtering sensitive information.
- Customizing message formatting.
To use TransformMessages
:
- Create message transformations (e.g.,
MessageHistoryLimiter
,MessageTokenLimiter
). - Instantiate
TransformMessages
with a list of these transformations. - Add the
TransformMessages
instance to yourConversableAgent
usingadd_to_agent
.
NOTE: Order of message transformations is important. You could get different results based on the order of transformations.
Example:
```python
from agentchat import ConversableAgent
from agentchat.contrib.capabilities import TransformMessages, MessageHistoryLimiter, MessageTokenLimiter
max_messages = MessageHistoryLimiter(max_messages=2)
truncate_messages = MessageTokenLimiter(max_tokens=500)
transform_messages = TransformMessages(transforms=[max_messages, truncate_messages])
agent = ConversableAgent(...)
transform_messages.add_to_agent(agent)
```
__init__
def __init__(*, transforms: List[MessageTransform] = [], verbose: bool = True)
Arguments:
transforms
- A list of message transformations to apply.verbose
- Whether to print logs of each transformation or not.
add_to_agent
def add_to_agent(agent: ConversableAgent)
Adds the message transformations capability to the specified ConversableAgent.
This function performs the following modifications to the agent:
- Registers a hook that automatically transforms all messages before they are processed for response generation.