Compartir a través de


Session

AgentSession es el contenedor de estado de conversación que se usa en las ejecuciones del agente.

¿Qué contiene AgentSession?

Campo Propósito
session_id Identificador único local para esta sesión
service_session_id Identificador de conversación de servicio remoto (cuando se usa el historial administrado por el servicio)
state Diccionario mutable compartido con proveedores de contexto o historial

Patrón de uso integrado

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)

Creación de una sesión a partir de un identificador de conversación de servicio existente

Úselo cuando el servicio de respaldo ya tenga el estado de conversación.

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

Serialización y restauración

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

Importante

Las sesiones son específicas del agente o servicio. La reutilización de una sesión con una configuración o proveedor de agente diferente puede provocar un contexto no válido.

Pasos siguientes