agentchat.contrib.capabilities.transform_messages
转换消息
class TransformMessages()
在回复生成之前转换消息的代理功能。
此功能允许您在对ConversableAgent的传入消息进行处理以生成响应之前,应用一系列消息转换。这对于以下任务非常有用:
- 限制考虑上下文的消息数量。
- 截断消息以满足令牌限制。
- 过滤敏感信息。
- 自定义消息格式。
要使用 TransformMessages
:
- 创建消息转换(例如,
MessageHistoryLimiter
,MessageTokenLimiter
)。 - 使用这些变换的列表实例化
TransformMessages
。 - 将
TransformMessages
实例使用add_to_agent
添加到您的ConversableAgent
中。
注意:消息转换的顺序很重要。根据转换顺序的不同,您可能会得到不同的结果。
示例:
```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)
参数:
transforms
- 要应用的消息转换列表。verbose
- 是否打印每次转换的日志。
add_to_agent
def add_to_agent(agent: ConversableAgent)
将消息转换功能添加到指定的ConversableAgent中。
该函数对代理执行以下修改:
- 注册一个钩子,在消息被处理以生成响应之前自动转换所有消息。