Partilhar via


Session

AgentSession é o contentor de estado de conversa usado entre execuções de agentes.

O que AgentSession contém

Campo Propósito
session_id Identificador local único para esta sessão
service_session_id Identificador de conversa de serviço remoto (quando se usa histórico gerido pelo serviço)
state Dicionário mutável partilhado com fornecedores de contexto/história

Padrão de uso incorporado

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)

Criar uma sessão a partir de um ID de conversa de serviço existente

Use isto quando o serviço de suporte já tiver estado de conversação.

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

Serialização e restauro

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

Importante

As sessões são específicas de cada agente/serviço. Usar novamente uma sessão com uma configuração de agente ou fornecedor diferente pode levar a um contexto inválido.

Próximos passos