検索

このページでは、開発者向けスコープ指定ヘルパーと、具体的なOracle検索結果タイプを示します。

スコープ解決

スコープ・フィールドごとに、次の3つのうちのいずれかを実行できます。

各ストアド・レコードには、user_idagent_idおよびthread_idの3つの独立したスコープ・フィールドがあります。各フィールドは、具象IDまたはNoneを保持できます。

次に例を示します:

同期検索APIと非同期検索APIの両方に、同じ範囲指定ルールが適用されます。

次の表では、IDは、対応する完全一致フラグとともに、user_idagent_idまたはthread_idのいずれかを意味します。

APIレイヤーによるスコープ解決の検索

ケース スレッド検索() OracleAgentMemory検索() ストア検索()
IDが省略されました スレッドのデフォルト値(正確なuser_idagent_id、および現在のthread_idexact_thread_match=False)を使用します。 クライアントのデフォルトを使用します。省略されたuser_idは拒否されます。省略されたagent_idおよびthread_idは広範囲に保たれます。 ディメンションがフィルタされないように、ストア・デフォルト(ID=Noneおよびexact_*_match=False)を使用します。
明示的な値(None + exact_*_match=Falseを含む) そのディメンションはフィルタされません。値が指定されたレコードと一致するレコードは、他のレコードよりもランクが高くなる可能性があります。 user_idの場合、クライアント検索には明示的な正確なユーザー・スコープ指定が必要であるため、拒否されます。agent_idおよびthread_idの場合、そのディメンションはフィルタされません。値が指定されたレコードと一致するレコードは、他のレコードよりもランクが高くなる可能性があります。 そのディメンションはフィルタされません。値が指定されたレコードと一致するレコードは、他のレコードよりもランクが高くなる可能性があります。
明示的なID + exact_*_match=True そのIDに正確に一致します。 そのIDに正確に一致します。 そのIDに正確に一致します。
明示的なNone + exact_*_match=True そのディメンションでスコープ指定されていないレコードのみに一致します。 そのディメンションで有効範囲なしのレコードのみに一致します。 そのディメンションで有効範囲なしのレコードのみに一致します。

明示的なNoneexact_*_match=Trueとともに使用すると、そのディメンションでスコープ指定されていないレコードのみが許可され、APIで許可されます。操作をデフォルトにする場合は、フィールドを省略します。

スコープ

クラス oracleagentmemory.apis.scope.Scope

ベース: object

情報の挿入または検索のスコープを表します。

user_id

エンドユーザーのID。NOT_SET_MARKERは、フィールドが省略され、操作固有のデフォルトによって解決される必要があることを意味します。明示的なNoneは、操作固有のルールによって保持および解釈されます。OracleAgentMemory.search()などの上位レベルのクライアントAPIでは、ユーザー・スコープを明示する必要がある場合があります。これらのAPIでは、Noneを使用して、スコープなしレコードのみをターゲットにできます。

エージェントID

エージェントID NOT_SET_MARKERは、フィールドが省略され、操作固有のデフォルトによって解決される必要があることを意味します。明示的なNoneは、操作固有のルールによって保持および解釈されます。

スレッドID

スレッドID。NOT_SET_MARKERは、フィールドが省略され、操作固有のデフォルトによって解決される必要があることを意味します。明示的なNoneは、操作固有のルールによって保持および解釈されます。

クラス oracleagentmemory.apis.searchscope.SearchScope

ベース: Scope

検索問合せのスコープを表すため、返される内容を制限します。

user_id

エンドユーザーのID。解決されたexact_user_match値がTrueの場合、このIDはNoneも含めて完全に一致します。Falseの場合、ユーザー・ディメンションは制約されません。NOT_SET_MARKERは、操作固有のデフォルトに置き換えられます。OracleAgentMemory.search()などの上位レベルのクライアントAPIでは、ユーザー・スコープを明示する必要がある場合があります。これらのAPIでは、exact_user_matchTrueに解決された場合、Noneはスコープなしレコードのみをターゲットとします。

エージェントID

エージェントID 解決されたexact_agent_match値がTrueの場合、このIDはNoneも含めて完全に一致します。Falseの場合、エージェント・ディメンションは制約されません。NOT_SET_MARKERは、スコープを使用する操作に応じてデフォルト値に置き換えられます。

スレッドID

スレッドID。解決されたexact_thread_match値がTrueの場合、このIDはNoneも含めて完全に一致します。Falseの場合、スレッド・ディメンションは制約されません。NOT_SET_MARKERは、スコープを使用する操作に応じてデフォルト値に置き換えられます。

完全一致

解決されたuser_idと完全に一致するかどうか。Trueは、Noneを含む厳密に一致します。Falseは、ユーザー・ディメンションを制約なしのままにします。NOT_SET_MARKERは、操作に応じてデフォルトで置き換えられます。OracleAgentMemory.search()などの上位レベルのクライアントAPIでは、これをTrueのままにする必要がある場合があります。

完全一致エージェント

解決されたagent_idと完全に一致するかどうか。Trueは、Noneを含む厳密に一致します。Falseは、エージェント・ディメンションを制約なしのままにします。NOT_SET_MARKERは、操作に応じてデフォルトで置き換えられます。

完全スレッド一致

解決されたthread_idと完全に一致するかどうか。Trueは、Noneを含む厳密に一致します。Falseは、スレッド・ディメンションを制約なしのままにします。NOT_SET_MARKERは、操作に応じてデフォルトで置き換えられます。

結果

クラス oracleagentmemory.core.OracleSearchResult

ベース: SearchResult

Oracleスレッドによって返された検索結果。

プロパティ content

property formatted_content

プロパティー id

property metadata

property record

戻り値は、プレーンなRecordまたはScopedRecordサブクラスです。パブリック・スコープ識別子を読み取る前に、isinstance(result.record, ScopedRecord)を使用します。

property timestamp