Condividi tramite


Session

AgentSession è il contenitore dello stato della conversazione usato tra le esecuzioni dell'agente.

Che cosa AgentSession contiene

Campo Scopo
session_id Identificatore univoco locale per questa sessione
service_session_id Identificatore di conversazione del servizio remoto (quando viene usata la cronologia gestita dal servizio)
state Dizionario modificabile condiviso con provider di contesto/cronologia

Modello di utilizzo predefinito

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)

Creare una sessione da un ID di conversazione di servizio esistente

Usare questa opzione quando il servizio di backup ha già lo stato della conversazione.

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

Serializzazione e ripristino

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

Importante

Le sessioni sono specifiche dell'agente o del servizio. Il riutilizzo di una sessione con una configurazione o un provider dell'agente diverso può causare un contesto non valido.

Passaggi successivi