BaseAgent 类
表示 AutoGen 系统中代理的基类。
public abstract class BaseAgent : IHostableAgent, IAgent, ISaveState
- 继承
-
BaseAgent
- 实现
- 继承的成员
构造函数
BaseAgent(AgentId, IAgentRuntime, string, ILogger<BaseAgent>?)
protected BaseAgent(AgentId id, IAgentRuntime runtime, string description, ILogger<BaseAgent>? logger = null)
参数
id
AgentIdruntime
IAgentRuntimedescription
stringlogger
ILogger<BaseAgent>
字段
_logger
protected ILogger<BaseAgent> _logger
字段值
s_source
用于跟踪的活动源。
public static readonly ActivitySource s_source
字段值
属性
Description
protected string Description { get; }
属性值
Id
获取代理的唯一标识符。
public AgentId Id { get; }
属性值
Metadata
获取与代理关联的元数据。
public AgentMetadata Metadata { get; }
属性值
Runtime
protected IAgentRuntime Runtime { get; }
属性值
方法
CloseAsync()
在运行时关闭时调用。
public virtual ValueTask CloseAsync()
返回值
- ValueTask
表示异步操作的任务。
OnMessageAsync(object, MessageContext)
处理代理的传入消息。 这应该只由运行时调用,而不是由其他代理调用。
public ValueTask<object?> OnMessageAsync(object message, MessageContext messageContext)
参数
message
object接收到的消息。 该类型应与预期订阅类型之一匹配。
messageContext
MessageContext消息的上下文,提供额外的元数据。
返回值
异常
- OperationCanceledException
如果消息被取消,则抛出此异常。
- CantHandleException
如果代理无法处理消息,则抛出此异常。
PublishMessageAsync(object, TopicId, string?, CancellationToken)
public ValueTask PublishMessageAsync(object message, TopicId topic, string? messageId = null, CancellationToken cancellationToken = default)
参数
message
objecttopic
TopicIdmessageId
stringcancellationToken
CancellationToken
返回值
SendMessageAsync(object, AgentId, string?, CancellationToken)
public ValueTask<object?> SendMessageAsync(object message, AgentId recepient, string? messageId = null, CancellationToken cancellationToken = default)
参数
message
objectrecepient
AgentIdmessageId
stringcancellationToken
CancellationToken