代理程式記憶體

此頁面顯示具體 Oracle AI 代理程式記憶體實行。

Oracle 代理程式記憶體

注意:OracleAgentMemory.delete_thread() 是執行緒作用領域重疊清除的支援路徑。它會將執行緒與相關聯的訊息、持久記憶體及受管理的向量或區塊資料一起移除。大於 OracleThread.delete_message(),只刪除原始訊息資料列。

類別 oracleagentmemory.core.OracleAgentMemory

基本:IAgentMemory

由 Oracle DB 或來電者提供的存放區所支援的代理程式記憶體從屬端。

建立記憶體從屬端。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
read_only_client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    extract_memories=False,
)

方法 add_agent

新增專員資料檔記錄至商店。

注意事項

客服員資料檔記錄會儲存在客戶層級商店中,故意不受範圍限制。傳回的記錄識別碼與應用程式用作 agent_id 的公用識別碼相同。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_agent("a1", "Support assistant")
'a1'

方法 add_memory

在記憶體系統中新增屬於指示之使用者、代理程式以及繫線的記憶體。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
memory_id = client.add_memory("User likes pizza", memory_id="mem-1")
memory_id
'mem-1'

方法 add_user

新增使用者資料檔記錄至商店。

注意事項

使用者基本資料記錄儲存在用戶端層級儲存區中,故意不受範圍限制。傳回的記錄識別碼與應用程式用作 user_id 的公用識別碼相同。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_user("u1", "Prefers concise answers.")
'u1'

方法 create_thread

建立並登錄執行緒。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
thread = client.create_thread(thread_id="c1", user_id="u1")
thread.thread_id
'c1'

方法 delete_agent

依識別碼刪除專員資料檔記錄。

注意事項

階層式刪除是在備份存放區中計畫並執行,因此設定檔刪除和所有範圍式子項刪除都會在一個存放區作業中進行。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_agent("a-delete", "Support assistant")
'a-delete'
client.delete_agent("a-delete")
1

方法 delete_memory

依識別碼刪除類似記憶體的記錄 (例如,記憶體、事實、偏好或準則)。

範例

client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
memory_id = client.add_memory("Temporary memory", memory_id="mem-delete")
client.delete_memory(memory_id)
1

方法 delete_thread

刪除所有與執行緒識別碼相關聯的記錄。

注意事項

當您需要完全移除執行緒的保留時,請使用此作業。後備存放區會將繫線連同相關的繫線作用領域訊息、持久的記憶體,以及受管理的向量或區塊資料列一起刪除。這與 OracleThread.delete_message() 不同,它只會移除原始訊息記錄,不會串聯至從該訊息建立的衍生記憶體。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
thread = client.create_thread(thread_id="c-delete")
client.delete_thread(thread.thread_id)
1

方法 delete_user

依識別碼刪除使用者設定檔記錄。

注意事項

階層式刪除是在備份存放區中計畫並執行,因此設定檔刪除和所有範圍式子項刪除都會在一個存放區作業中進行。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_user("u-delete", "Prefers concise answers.")
'u-delete'
client.delete_user("u-delete")
1

方法 get_thread

擷取先前建立的執行緒。

注意事項

優先採用明確的每通電話置換。若省略程式實際執行覆寫,重新開啟的繫線會在回到 SDK 預設值之前使用保存的程式實際執行組態 (若有的話)。

範例

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
created = client.create_thread(thread_id="c1", user_id="u1")
loaded = client.get_thread("c1")
loaded.user_id
'u1'