Freigeben über


Session

AgentSession ist der Unterhaltungszustandscontainer, der über Agentendurchläufe hinweg verwendet wird.

Was AgentSession enthält

Feld Zweck
session_id Lokaler eindeutiger Bezeichner für diese Sitzung
service_session_id Remotedienst-Gesprächskennung (wenn ein vom Dienst verwalteter Verlauf verwendet wird)
state Für Kontext-/Verlaufsanbieter freigegebenes änderbares Wörterbuch

Integriertes Verwendungsmuster

AgentSession session = await agent.CreateSessionAsync();

var first = await agent.RunAsync("My name is Alice.", session);
var second = await agent.RunAsync("What is my name?", session);
session = agent.create_session()

first = await agent.run("My name is Alice.", session=session)
second = await agent.run("What is my name?", session=session)

Erstellen einer Sitzung aus einer vorhandenen Service-Gesprächs-ID

Verwenden Sie dies, wenn der unterstützende Dienst bereits über einen Gesprächszustand verfügt.

session = agent.get_session(service_session_id="<service-conversation-id>")
response = await agent.run("Continue this conversation.", session=session)

Serialisierung und Wiederherstellung

var serialized = agent.SerializeSession(session);
AgentSession resumed = await agent.DeserializeSessionAsync(serialized);
serialized = session.to_dict()
resumed = AgentSession.from_dict(serialized)

Von Bedeutung

Sitzungen sind agent-/dienstspezifisch. Das Erneute Verwenden einer Sitzung mit einer anderen Agentkonfiguration oder einem anderen Anbieter kann zu ungültigem Kontext führen.

Nächste Schritte