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)
重要
会话专用于特定的代理或服务。 使用其他代理配置或提供程序重用会话可能会导致上下文无效。