通过


Session

AgentSession 是跨代理运行使用的会话状态容器。

AgentSession的内容包含

字段 目的
session_id 此会话的本地唯一标识符
service_session_id 远程服务会话标识符(使用服务管理的历史记录时)
state 与上下文/历史记录提供程序共享的可变字典

内置使用模式

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)

从现有服务会话 ID 创建会话

当支持服务已具有会话状态时,请使用此功能。

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

序列化和还原

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

重要

会话专用于特定的代理或服务。 使用其他代理配置或提供程序重用会话可能会导致上下文无效。

后续步骤