跳到主要内容

agentchat.contrib.capabilities.transform_messages

转换消息

class TransformMessages()

在回复生成之前转换消息的代理功能。

此功能允许您在对ConversableAgent的传入消息进行处理以生成响应之前,应用一系列消息转换。这对于以下任务非常有用:

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

要使用 TransformMessages

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

该函数对代理执行以下修改:

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