Skip to main content

agentchat.contrib.capabilities.transform_messages

TransformMessages(消息转换)

class TransformMessages()

在生成回复之前,用于转换消息的Agent能力。

该能力允许您对ConversableAgent的传入消息应用一系列的消息转换,然后再进行响应生成的处理。这对于以下任务非常有用:

  • 限制用于上下文考虑的消息数量。
  • 截断消息以满足令牌限制。
  • 过滤敏感信息。
  • 自定义消息格式。

使用TransformMessages

  1. 创建消息转换(例如,MessageHistoryLimiterMessageTokenLimiter)。
  2. 使用这些转换实例化TransformMessages
  3. 使用add_to_agentTransformMessages实例添加到您的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中。

此函数对代理进行以下修改:

  1. 注册一个钩子,在处理响应生成之前自动转换所有消息。