Inhaltsverzeichnis

Interface IAgentRuntime

Namespace
Microsoft.AutoGen.Contracts
Assembly
Microsoft.AutoGen.Contracts.dll

Definiert die Laufzeitumgebung für Agenten, die das Senden von Nachrichten, Abonnements, die Agentenauflösung und die Zustandsspeicherung verwaltet.

public interface IAgentRuntime : ISaveState
Geerbte Member

Methoden

AddSubscriptionAsync(ISubscriptionDefinition)

Fügt ein neues Abonnement hinzu, das die Laufzeit bei der Verarbeitung veröffentlichter Nachrichten verarbeiten soll.

ValueTask AddSubscriptionAsync(ISubscriptionDefinition subscription)

Parameter

subscription ISubscriptionDefinition

Das hinzuzufügende Abonnement.

Rückgabe

ValueTask

Eine Aufgabe, die den asynchronen Vorgang darstellt.

GetAgentAsync(AgentId, bool)

Ruft einen Agenten anhand seiner eindeutigen Kennung ab.

ValueTask<AgentId> GetAgentAsync(AgentId agentId, bool lazy = true)

Parameter

agentId AgentId

Die eindeutige Kennung des Agenten.

lazy bool

Wenn true, wird der Agent verzögert abgerufen.

Rückgabe

ValueTask<AgentId>

Eine Aufgabe, die den asynchronen Vorgang darstellt und die Agenten-ID zurückgibt.

GetAgentAsync(AgentType, string, bool)

Ruft einen Agenten anhand seines Typs ab.

ValueTask<AgentId> GetAgentAsync(AgentType agentType, string key = "default", bool lazy = true)

Parameter

agentType AgentType

Der Typ des Agenten.

key string

Ein optionaler Schlüssel zur Angabe von Variationen des Agenten. Standardwert ist "default".

lazy bool

Wenn true, wird der Agent verzögert abgerufen.

Rückgabe

ValueTask<AgentId>

Eine Aufgabe, die den asynchronen Vorgang darstellt und die Agenten-ID zurückgibt.

GetAgentAsync(string, string, bool)

Ruft einen Agenten anhand seiner String-Darstellung ab.

ValueTask<AgentId> GetAgentAsync(string agent, string key = "default", bool lazy = true)

Parameter

agent string

Die String-Darstellung des Agenten.

key string

Ein optionaler Schlüssel zur Angabe von Variationen des Agenten. Standardwert ist "default".

lazy bool

Wenn true, wird der Agent verzögert abgerufen.

Rückgabe

ValueTask<AgentId>

Eine Aufgabe, die den asynchronen Vorgang darstellt und die Agenten-ID zurückgibt.

GetAgentMetadataAsync(AgentId)

Ruft Metadaten für einen Agenten ab.

ValueTask<AgentMetadata> GetAgentMetadataAsync(AgentId agentId)

Parameter

agentId AgentId

Die ID des Agenten.

Rückgabe

ValueTask<AgentMetadata>

Eine Aufgabe, die den asynchronen Vorgang darstellt und die Agenten-Metadaten zurückgibt.

LoadAgentStateAsync(AgentId, JsonElement)

Lädt den gespeicherten Zustand in einen Agenten.

ValueTask LoadAgentStateAsync(AgentId agentId, JsonElement state)

Parameter

agentId AgentId

Die ID des Agenten, dessen Zustand wiederhergestellt wird.

state JsonElement

Das Zustandswörterbuch, das wiederhergestellt werden soll.

Rückgabe

ValueTask

Eine Aufgabe, die den asynchronen Vorgang darstellt.

PublishMessageAsync(object, TopicId, AgentId?, string?, CancellationToken)

Veröffentlicht eine Nachricht an alle Agenten, die für das angegebene Thema abonniert sind. Es werden keine Antworten vom Veröffentlichen erwartet.

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

Parameter

message object

Die zu veröffentlichende Nachricht.

topic TopicId

Das Thema, zu dem die Nachricht veröffentlicht werden soll.

sender AgentId?

Der Agent, der die Nachricht sendet. Standardwert ist null.

messageId string

Eine eindeutige Nachrichten-ID. Wenn null, wird eine neue generiert.

cancellationToken CancellationToken

Ein Token zum Abbrechen des Vorgangs bei Bedarf.

Rückgabe

ValueTask

Eine Aufgabe, die den asynchronen Vorgang darstellt.

Ausnahmen

UndeliverableException

Wird ausgelöst, wenn die Nachricht nicht zugestellt werden kann.

RegisterAgentFactoryAsync(AgentType, Func<AgentId, IAgentRuntime, ValueTask<IHostableAgent>>)

Registriert eine Agentenfabrik bei der Laufzeit und ordnet sie einem bestimmten Agententyp zu. Der Typ muss eindeutig sein.

ValueTask<AgentType> RegisterAgentFactoryAsync(AgentType type, Func<AgentId, IAgentRuntime, ValueTask<IHostableAgent>> factoryFunc)

Parameter

type AgentType

Der Agententyp, der der Fabrik zugeordnet werden soll.

factoryFunc Func<AgentId, IAgentRuntime, ValueTask<IHostableAgent>>

Eine Funktion, die die Agenteninstanz asynchron erstellt.

Rückgabe

ValueTask<AgentType>

Eine Aufgabe, die den asynchronen Vorgang darstellt und den registrierten AgentType zurückgibt.

RemoveSubscriptionAsync(string)

Entfernt ein Abonnement aus der Laufzeit.

ValueTask RemoveSubscriptionAsync(string subscriptionId)

Parameter

subscriptionId string

Die eindeutige Kennung des zu entfernenden Abonnements.

Rückgabe

ValueTask

Eine Aufgabe, die den asynchronen Vorgang darstellt.

Ausnahmen

KeyNotFoundException

Wird ausgelöst, wenn das Abonnement nicht existiert.

SaveAgentStateAsync(AgentId)

Speichert den Zustand eines Agenten. Das Ergebnis muss JSON-serialisierbar sein.

ValueTask<JsonElement> SaveAgentStateAsync(AgentId agentId)

Parameter

agentId AgentId

Die ID des Agenten, dessen Zustand gespeichert wird.

Rückgabe

ValueTask<JsonElement>

Eine Aufgabe, die den asynchronen Vorgang darstellt und ein Wörterbuch des gespeicherten Zustands zurückgibt.

SendMessageAsync(object, AgentId, AgentId?, string?, CancellationToken)

Sendet eine Nachricht an einen Agenten und erhält eine Antwort. Diese Methode sollte zur direkten Kommunikation mit einem Agenten verwendet werden.

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

Parameter

message object

Die zu sendende Nachricht.

recepient AgentId

Der Agent, an den die Nachricht gesendet werden soll.

sender AgentId?

Der Agent, der die Nachricht sendet. Sollte null sein, wenn von einer externen Quelle gesendet.

messageId string

Eine eindeutige Kennung für die Nachricht. Wenn null, wird eine neue ID generiert.

cancellationToken CancellationToken

Ein Token zum Abbrechen des Vorgangs bei Bedarf.

Rückgabe

ValueTask<object>

Eine Aufgabe, die den asynchronen Vorgang darstellt und die Antwort des Agenten zurückgibt.

Ausnahmen

CantHandleException

Wird ausgelöst, wenn der Empfänger die Nachricht nicht verarbeiten kann.

UndeliverableException

Wird ausgelöst, wenn die Nachricht nicht zugestellt werden kann.

TryGetAgentProxyAsync(AgentId)

Versucht, einen AgentProxy für den angegebenen Agenten abzurufen.

ValueTask<AgentProxy> TryGetAgentProxyAsync(AgentId agentId)

Parameter

agentId AgentId

Die ID des Agenten.

Rückgabe

ValueTask<AgentProxy>

Eine Aufgabe, die den asynchronen Vorgang darstellt und im Erfolgsfall einen AgentProxy zurückgibt.