スレッド

このページでは、開発者向けのメッセージ・ヘルパー・タイプとともに、具体的なOracleスレッド・ハンドルを示します。

Oracleスレッド

クラス oracleagentmemory.core.OracleThread

ベース: IThread

Oracleストアに支えられたスレッド。

この実装では、スレッド・メッセージと手動で追加したメモリーの両方を埋め込んで格納し、格納されているすべてのレコードの類似性検索をサポートします。

ノート:

新規スレッド・ハンドルを作成します。

from oracleagentmemory.core import OracleAgentMemory
db_pool = ...
client = OracleAgentMemory(connection=db_pool, embedder=embedder)
thread = client.create_thread(
    thread_id="c1",
    llm=llm,
    enable_context_summary=True,
)
len(thread.add_messages([{"role": "user", "content": "I love pizza."}]))
1

メソッド add_memory

手動メモリー・エントリを追加し、索引付けします。

thread.add_memory("Remember this preference", memory_id="mem-thread-docs")
'mem-thread-docs'

メソッド add_messages

メッセージをスレッドに追加し、インデックスを作成します。

len(thread.add_messages([{"role": "user", "content": "Thread message from docs"}]))
1

method add_messages_async (非同期)

スレッドにメッセージを非同期に追加し、インデックスを作成します。

メソッド delete_memory

メモリーに似たレコード(メモリー、ファクト、プリファレンス、ガイドラインなど)を、この正確なスレッドから識別子によって削除します。

thread.delete_memory("456")
0

メソッド delete_message

識別子によって、この正確なスレッドからメッセージ・レコードを削除します。

ノート:

メッセージを削除すると、RAWメッセージ・レコードのみが削除されます。抽出されたメモリはメッセージごとの来歴を保持しないため、派生メモリは削除されません。したがって、検索可能なままになるか、コンテキストカードの出力に影響する可能性があります。OracleAgentMemory.delete_thread()を使用して、スレッドを関連するメッセージおよびメモリーとともに削除します。

thread.delete_message("123")
0

メソッド get_context_card

スレッドのコンテキスト・カード・オブジェクトを返します。

LLMがバックアップした実装でリモート・ネットワークI/Oを実行できる場合は、get_context_card_asyncを優先します。

ノート:

これは、スレッドのデフォルトの検索スコープをexact_thread_match=Falseとともに使用するため、同じユーザー/エージェントの他のスレッドからの関連メモリーが含まれる場合があります。

thread.add_memory("User likes pizza", memory_id="mem-context-docs")
'mem-context-docs'
len(thread.add_messages([{"role": "user", "content": "Tell me about pizza"}]))
1
"User likes pizza" in thread.get_context_card().content
True

method get_context_card_async (非同期)

スレッドのコンテキスト・カード・オブジェクトを非同期で返します。

メソッド get_messages

このスレッドの格納されたメッセージを返します。

len(thread.add_messages([{"role": "user", "content": "Stored message example"}]))
1
messages = thread.get_messages()
messages[-1].content
'Stored message example'

メソッド get_summary

スレッドのベスト・エフォート・サマリーを返します。

LLMがバックアップした実装でリモート・ネットワークI/Oを実行できる場合は、get_summary_asyncを優先します。

len(thread.add_messages([{"role": "assistant", "content": "Summary source message"}]))
1
summary = thread.get_summary()
bool(summary.content)
True

method get_summary_async (非同期)

スレッドのベスト・エフォート・サマリーを非同期で返します。

ノート: delete_message()は、RAWメッセージ行のみを削除します。導出された記憶は引き続き検索可能であるか、コンテキスト・カードに表示されます。OracleAgentMemory.delete_thread()を使用して、スレッドを関連するメッセージおよびメモリーとともに削除します。

メッセージ

クラス oracleagentmemory.apis.thread.Message

ベース: object

コンテキスト・カード

クラス oracleagentmemory.apis.contextcard.ContextCard

ベース: ABC

スレッドAPIによって返される抽象コンテキスト・カード・オブジェクト。

property content (抽象)

クラス oracleagentmemory.core.contextcard.OracleContextCard

ベース: ContextCard

Oracleスレッドによって返されたコンテキスト・カード。

プロパティ content

card = OracleContextCard(summary="ctx")
"<summary>" in card.content and "ctx" in card.content
True

property formatted_content

OracleContextCard(summary="").formatted_content
''
card = OracleContextCard(summary="ctx", topics=["travel"])
"<topics>" in card.formatted_content
True

サマリー

クラス oracleagentmemory.apis.summary.Summary

ベース: ABC

スレッドAPIによって返される抽象スレッド・サマリー・オブジェクト。

property content (抽象)

クラス oracleagentmemory.core.summary.OracleSummary

ベース: Summary

Oracleスレッドによって返されるサマリー。

summary = OracleSummary(content="Plan the Rome itinerary.")
summary.content
'Plan the Rome itinerary.'
str(summary)
'Plan the Rome itinerary.'

プロパティ content

OracleSummary(content="Keep the tea preference in mind.").content
'Keep the tea preference in mind.'

property formatted_content

OracleSummary(content="Thread recap").formatted_content
'Thread recap'