Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
AgentSession az ügynökfuttatások során használt beszélgetési állapottároló.
Mit AgentSession tartalmaz?
| szakterület | Cél |
|---|---|
StateBag |
Tetszőleges állapottároló ehhez a munkamenethez |
A C# AgentSession egy absztrakt alaposztály. A konkrét implementációk (létrehozva CreateSessionAsync()) további állapotot is hozzáadhatnak, például egy azonosítót a távoli chat előzmények tárolásához, amikor a szolgáltatás által kezelt előzményeket használják.
| szakterület | Cél |
|---|---|
session_id |
A munkamenet helyi egyedi azonosítója |
service_session_id |
Távoli szolgáltatásbeszélgetés azonosítója (szolgáltatás által felügyelt előzmények használata esetén) |
state |
Környezet- és előzményszolgáltatókkal megosztott módosítható szótár |
Beépített használati minta
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)
Munkamenet létrehozása meglévő szolgáltatásbeszélgetés-azonosítóból
Új munkamenet létrehozása meglévő beszélgetési azonosítóból ügynöktípustól függően változik. Íme néhány példa.
"ChatClientAgent használatakor"
AgentSession session = await chatClientAgent.CreateSessionAsync(conversationId);
Amikor egy A2AAgent
AgentSession session = await a2aAgent.CreateSessionAsync(contextId, taskId);
Ezt akkor használja, ha a háttérszolgáltatás már rendelkezik beszélgetési állapottal.
session = agent.get_session(service_session_id="<service-conversation-id>")
response = await agent.run("Continue this conversation.", session=session)
Szerializálás és visszaállítás
var serialized = agent.SerializeSession(session);
AgentSession resumed = await agent.DeserializeSessionAsync(serialized);
serialized = session.to_dict()
resumed = AgentSession.from_dict(serialized)
Fontos
A munkamenetek ügynök-/szolgáltatásspecifikusak. Ha egy munkamenetet egy másik ügynökkonfigurációval vagy szolgáltatóval újrahasznál, az érvénytelen környezethez vezethet.