Dela via


Session

AgentSession är containern för konversationstillstånd som används mellan agentkörningar.

Vad AgentSession innehåller

Fält Avsikt
StateBag Flexibel tillståndsbehållare för sessionen

C# AgentSession är en abstrakt basklass. Konkreta implementeringar (skapade via CreateSessionAsync()) kan lägga till ytterligare tillstånd, t.ex. ett ID för lagring av fjärrchatthistorik, när tjänsthanterad historik används.

Fält Avsikt
session_id Lokal unik identifierare för den här sessionen
service_session_id Fjärrtjänstkonversationsidentifierare (när tjänsthanterad historik används)
state Föränderlig ordlista som delas med kontext-/historikprovidrar

Inbyggt användningsmönster

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)

Skapa en session från ett befintligt tjänstkonversations-ID

Skapa en ny session från ett befintligt konversations-ID varierar beroende på agenttyp. Här följer några exempel.

När du använder ChatClientAgent

AgentSession session = await chatClientAgent.CreateSessionAsync(conversationId);

När du använder en A2AAgent

AgentSession session = await a2aAgent.CreateSessionAsync(contextId, taskId);

Använd detta när den stödjande tjänsten redan har konversationstillstånd.

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

Serialisering och återställning

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

Viktigt!

Sessioner är agent-/tjänstspecifika. Om du återanvänder en session med en annan agentkonfiguration eller leverantör kan det leda till en ogiltig kontext.

Nästa steg