用 AgentSession 來保持召喚間的對話上下文。
核心使用模式
大多數應用程式遵循相同的流程:
- 建立一個會話 (
CreateSessionAsync()) - 把那場課交給每一位
RunAsync(...) - 從序列化狀態
DeserializeSessionAsync(...)還原 - 請繼續提供服務對話ID(依代理人而異,例如)
myChatClientAgent.CreateSessionAsync("existing-id")
- 建立一個會話 (
create_session()) - 把那場課交給每一位
run(...) - 透過服務對話 ID(
get_session(...))或序列化狀態來進行 Rehydrate
// Create and reuse a session
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);
// Persist and restore later
var serialized = agent.SerializeSession(session);
AgentSession resumed = await agent.DeserializeSessionAsync(serialized);
# Create and reuse a 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)
# Rehydrate by service conversation ID when needed
service_session = agent.get_session(service_session_id="<service-conversation-id>")
# Persist and restore later
serialized = session.to_dict()
resumed = AgentSession.from_dict(serialized)
導覽地圖
| 頁面 | 專注 |
|---|---|
| 會議 |
AgentSession 結構與序列化 |
| 情境提供者 | 內建與自訂的上下文/歷史提供者模式 |
| 儲存空間 | 內建儲存模式與外部持久化策略 |