Inhaltsverzeichnis

Klasse InProcessRuntime

Namespace
Microsoft.AutoGen.Core
Assembly
Microsoft.AutoGen.Core.dll
public sealed class InProcessRuntime : IAgentRuntime, ISaveState, IHostedService
Vererbung
InProcessRuntime
Implementiert
Geerbte Member
Erweiterungsmethoden

Konstruktoren

InProcessRuntime()

public InProcessRuntime()

Eigenschaften

DeliverToSelf

public bool DeliverToSelf { get; set; }

Eigenschaftswert

bool

Methoden

AddSubscriptionAsync(ISubscriptionDefinition)

Fügt eine neue Abonnement für die Laufzeit hinzu, um sie bei der Verarbeitung veröffentlichter Nachrichten zu verwalten.

public 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.

public 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.

public 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.

public 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.

public 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 Agentenmetadaten zurückgibt.

LoadAgentStateAsync(AgentId, JsonElement)

Lädt den gespeicherten Zustand in einen Agenten.

public ValueTask LoadAgentStateAsync(AgentId agentId, JsonElement state)

Parameter

agentId AgentId

Die ID des Agenten, dessen Zustand wiederhergestellt wird.

state JsonElement

Das wiederherzustellende Zustands-Dictionary.

Rückgabe

ValueTask

Eine Aufgabe, die den asynchronen Vorgang darstellt.

LoadStateAsync(JsonElement)

Lädt einen zuvor gespeicherten Zustand in das Objekt.

public ValueTask LoadStateAsync(JsonElement state)

Parameter

state JsonElement

Ein Dictionary, das den gespeicherten Zustand darstellt. Die Struktur des Zustands ist implementierungsabhängig, muss aber JSON-serialisierbar sein.

Rückgabe

ValueTask

Eine Aufgabe, die den asynchronen Vorgang darstellt.

ProcessNextMessageAsync(CancellationToken)

public ValueTask ProcessNextMessageAsync(CancellationToken cancellation = default)

Parameter

cancellation CancellationToken

Rückgabe

ValueTask

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

Veröffentlicht eine Nachricht an alle Agenten, die das angegebene Thema abonniert haben. Es werden keine Antworten auf die Veröffentlichung erwartet.

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

Parameter

message object

Die zu veröffentlichende Nachricht.

topic TopicId

Das Thema, an das die Nachricht gesendet 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.

cancellation CancellationToken

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.

public 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.

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

public ValueTask<AgentType> RegisterAgentFactoryAsync<TAgent>(AgentType type, Func<AgentId, IAgentRuntime, ValueTask<TAgent>> factoryFunc) where TAgent : IHostableAgent

Parameter

type AgentType
factoryFunc Func<AgentId, IAgentRuntime, ValueTask<TAgent>>

Rückgabe

ValueTask<AgentType>

Typparameter

TAgent

RemoveSubscriptionAsync(string)

Entfernt ein Abonnement aus der Laufzeit.

public 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.

RunUntilIdleAsync()

public Task RunUntilIdleAsync()

Rückgabe

Task

SaveAgentStateAsync(AgentId)

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

public 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 Dictionary des gespeicherten Zustands zurückgibt.

SaveStateAsync()

Speichert den aktuellen Zustand des Objekts.

public ValueTask<JsonElement> SaveStateAsync()

Rückgabe

ValueTask<JsonElement>

Eine Aufgabe, die den asynchronen Vorgang darstellt und ein Dictionary mit dem gespeicherten Zustand zurückgibt. Die Struktur des Zustands ist implementierungsabhängig, muss aber JSON-serialisierbar sein.

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.

public 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 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.

StartAsync(CancellationToken)

public ValueTask StartAsync(CancellationToken token = default)

Parameter

token CancellationToken

Rückgabe

ValueTask

StopAsync(CancellationToken)

public ValueTask StopAsync(CancellationToken token = default)

Parameter

token CancellationToken

Rückgabe

ValueTask

TryGetAgentProxyAsync(AgentId)

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

public 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.