目录

BaseAgent 类

命名空间
Microsoft.AutoGen.Core
程序集
Microsoft.AutoGen.Core.dll

表示 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 AgentId
runtime IAgentRuntime
description string
logger ILogger<BaseAgent>

字段

_logger

protected ILogger<BaseAgent> _logger

字段值

ILogger<BaseAgent>

s_source

用于跟踪的活动源。

public static readonly ActivitySource s_source

字段值

ActivitySource

属性

Description

protected string Description { get; }

属性值

string

Id

获取代理的唯一标识符。

public AgentId Id { get; }

属性值

AgentId

Metadata

获取与代理关联的元数据。

public AgentMetadata Metadata { get; }

属性值

AgentMetadata

Runtime

protected IAgentRuntime Runtime { get; }

属性值

IAgentRuntime

方法

CloseAsync()

在运行时关闭时调用。

public virtual ValueTask CloseAsync()

返回值

ValueTask

表示异步操作的任务。

OnMessageAsync(object, MessageContext)

处理代理的传入消息。 这应该只由运行时调用,而不是由其他代理调用。

public ValueTask<object?> OnMessageAsync(object message, MessageContext messageContext)

参数

message object

接收到的消息。 该类型应与预期订阅类型之一匹配。

messageContext MessageContext

消息的上下文,提供额外的元数据。

返回值

ValueTask<object>

表示异步操作的任务,返回消息的响应。 如果不需要回复,则响应可以为 null

异常

OperationCanceledException

如果消息被取消,则抛出此异常。

CantHandleException

如果代理无法处理消息,则抛出此异常。

PublishMessageAsync(object, TopicId, string?, CancellationToken)

public ValueTask PublishMessageAsync(object message, TopicId topic, string? messageId = null, CancellationToken cancellationToken = default)

参数

message object
topic TopicId
messageId string
cancellationToken CancellationToken

返回值

ValueTask

SendMessageAsync(object, AgentId, string?, CancellationToken)

public ValueTask<object?> SendMessageAsync(object message, AgentId recepient, string? messageId = null, CancellationToken cancellationToken = default)

参数

message object
recepient AgentId
messageId string
cancellationToken CancellationToken

返回值

ValueTask<object>