エージェント・メモリー

このページでは、Oracle AI Agentの具体的なメモリー実装について説明します。

Oracle Agentメモリー

クラス 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

ストアにエージェント・プロファイル・レコードを追加します。

ノート:

エージェント・プロファイル・レコードは、クライアント・レベルのストアに格納されます。

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

ストアにユーザー・プロファイル・レコードを追加します。

ノート:

ユーザー・プロファイル・レコードは、クライアント・レベルのストアに格納されます(特定のスレッドには関連付けられません)。

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_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

スレッド識別子に関連付けられているすべてのレコードを削除します。

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

メソッド 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'