Klasse BaseAgent
Stellt die Basisklasse für einen Agenten im AutoGen-System dar.
public abstract class BaseAgent : IHostableAgent, IAgent, ISaveState
- Vererbung
-
BaseAgent
- Implementiert
- Geerbte Member
Konstruktoren
BaseAgent(AgentId, IAgentRuntime, string, ILogger<BaseAgent>?)
protected BaseAgent(AgentId id, IAgentRuntime runtime, string description, ILogger<BaseAgent>? logger = null)
Parameter
idAgentIdruntimeIAgentRuntimedescriptionstringloggerILogger<BaseAgent>
Felder
_logger
protected ILogger<BaseAgent> _logger
Feldwert
s_source
Die Aktivitätsquelle für das Tracing.
public static readonly ActivitySource s_source
Feldwert
Eigenschaften
Beschreibung
protected string Description { get; }
Eigenschaftswert
Id
Ruft die eindeutige Kennung des Agenten ab.
public AgentId Id { get; }
Eigenschaftswert
Metadaten
Ruft Metadaten ab, die mit dem Agenten verknüpft sind.
public AgentMetadata Metadata { get; }
Eigenschaftswert
Runtime
protected IAgentRuntime Runtime { get; }
Eigenschaftswert
Methoden
CloseAsync()
Wird aufgerufen, wenn die Laufzeitumgebung geschlossen wird.
public virtual ValueTask CloseAsync()
Rückgabe
- ValueTask
Eine Aufgabe, die den asynchronen Vorgang darstellt.
OnMessageAsync(object, MessageContext)
Verarbeitet eine eingehende Nachricht für den Agenten. Dies sollte nur von der Laufzeitumgebung aufgerufen werden, nicht von anderen Agenten.
public ValueTask<object?> OnMessageAsync(object message, MessageContext messageContext)
Parameter
messageobjectDie empfangene Nachricht. Der Typ sollte mit einem der erwarteten Abonnementtypen übereinstimmen.
messageContextMessageContextDer Kontext der Nachricht, der zusätzliche Metadaten enthält.
Rückgabe
- ValueTask<object>
Eine Aufgabe, die den asynchronen Vorgang darstellt und eine Antwort auf die Nachricht zurückgibt. Die Antwort kann
nullsein, wenn keine Antwort erforderlich ist.
Ausnahmen
- OperationCanceledException
Wird ausgelöst, wenn die Nachricht abgebrochen wurde.
- CantHandleException
Wird ausgelöst, wenn der Agent die Nachricht nicht verarbeiten kann.
PublishMessageAsync(object, TopicId, string?, CancellationToken)
public ValueTask PublishMessageAsync(object message, TopicId topic, string? messageId = null, CancellationToken cancellationToken = default)
Parameter
messageobjecttopicTopicIdmessageIdstringcancellationTokenCancellationToken
Rückgabe
SendMessageAsync(object, AgentId, string?, CancellationToken)
public ValueTask<object?> SendMessageAsync(object message, AgentId recepient, string? messageId = null, CancellationToken cancellationToken = default)
Parameter
messageobjectrecepientAgentIdmessageIdstringcancellationTokenCancellationToken