Suchen

Auf dieser Seite werden die Scoping-Helfer für Entwickler zusammen mit dem konkreten Oracle-Suchergebnistyp angezeigt.

Umfangsauflösung

Für jedes Geltungsbereichsfeld können Sie eine der drei folgenden Aktionen ausführen:

Jeder gespeicherte Datensatz verfügt über drei unabhängige Geltungsbereichsfelder: user_id, agent_id und thread_id. Jedes Feld kann eine konkrete ID oder None enthalten.

Beispiele:

Dieselben Geltungsbereichsregeln gelten sowohl für synchrone als auch für asynchrone Such-APIs.

In der folgenden Tabelle bedeutet ID eine beliebige Zahl von user_id, agent_id oder thread_id zusammen mit dem entsprechenden Kennzeichen "Exact-Match".

Suchumfangsauflösung nach API-Layer

Ticket thread.search() OracleAgentMemory.search() store.search()
ID ausgelassen Verwendet die Threadstandardwerte: exakte user_id und agent_id sowie die aktuelle thread_id mit exact_thread_match=False. Verwendet die Client-Standardwerte. Ausgelassener user_id wird abgelehnt. Ausgelassen agent_id und thread_id bleiben breit. Verwendet die Speicherstandardwerte ID=None und exact_*_match=False, sodass die Dimension nicht gefiltert wird.
Expliziter Wert, einschließlich None + exact_*_match=False Diese Dimension wird nicht gefiltert. Datensätze, deren Wert mit dem angegebenen Wert übereinstimmt, können höher eingestuft werden als andere Datensätze. Abgelehnt für user_id, da Clientsuchen expliziten genauen Geltungsbereich von Benutzern erfordern. Für agent_id und thread_id wird diese Dimension nicht gefiltert. Datensätze, deren Wert mit dem angegebenen Wert übereinstimmt, können höher eingestuft werden als andere Datensätze. Diese Dimension wird nicht gefiltert. Datensätze, deren Wert mit dem angegebenen Wert übereinstimmt, können höher eingestuft werden als andere Datensätze.
Explizite ID + exact_*_match=True Entspricht dieser ID genau. Entspricht dieser ID genau. Entspricht dieser ID genau.
Explizite None + exact_*_match=True Entspricht nur Datensätzen, die für diese Dimension nicht kopiert wurden. Entspricht nur Datensätzen, die für diese Dimension nicht kopiert wurden. Entspricht nur Datensätzen, die für diese Dimension nicht kopiert wurden.

Verwenden Sie explizites None zusammen mit exact_*_match=True, wenn nur Datensätze für diese Dimension kopiert werden sollen und die API dies zulässt. Lassen Sie das Feld aus, wenn stattdessen der Standardwert für den Vorgang verwendet werden soll.

Lebenszyklusstatusfilterung

Alle persistenten Datensätze haben einen Lebenszyklusstatus. Die Suche akzeptiert include_invalid_results in den Speicher-, Client- und Thread-APIs. Bei Client- und Thread-APIs wird standardmäßig NOT_SET_MARKER verwendet, wodurch gültige und ungültige Datensätze in die Suchergebnisse aufgenommen werden. Die Speicher-API der unteren Ebene löst den booleschen Standardwert auf dasselbe Verhalten auf. Übergeben Sie False, um Datensätze mit dem Status RecordStatus.INVALID auszulassen.

Diagrammerweiterung

Übergeben Sie num_hops von 0 bis 5 an die API für Speicher-, Client- oder Threadsuche, um verknüpften Speicherkontext an jedes direkte Speicherergebnis anzuhängen. Der Durchlauf folgt den Beziehungen in beiden Richtungen, behält die gespeicherte Beziehungsausrichtung bei und gibt einen kürzesten Pfadbaum durch die linked_results-Sequenz jedes Datensatzes zurück. Übereinstimmungen mit direkten Nachrichten, Dokumenten und Akteurprofilen bleiben in der eingestuften Ergebnismenge, werden jedoch nicht durch Diagramme erweitert. Insbesondere können durchsuchbare Bildbeschreibungen Bilddatensätze zurückgeben, ohne DOCUMENT zu einem Memory-Link-Scheitel zu machen. Geltungsbereich, Metadaten, Datensatztyp und Ablauffilter gelten für jeden verknüpften Speicher. include_invalid_results steuert weiterhin nur Suchübereinstimmungen der obersten Ebene. Es ändert nicht, welche verknüpften Speicher enthalten sind. max_linked_results begrenzt die gesamten verknüpften Speicher, die an jedes direkte Ergebnis angehängt sind, über alle Hopfen hinweg. Der Standardwert ist 100. Übergeben Sie 0, um den verknüpften Kontext zu weglassen.

Geltungsbereiche

Klasse oracleagentmemory.apis.scope.Scope

Basis: object

Stellt einen Geltungsbereich für das Einfügen oder Suchen von Informationen dar.

user_id

Endbenutzer-ID. NOT_SET_MARKER bedeutet, dass das Feld ausgelassen wurde und durch den betriebsspezifischen Standardwert aufgelöst werden sollte. Explizites None wird beibehalten und von den Vorgangsspezifischen Regeln interpretiert. Für höhere Client-APIs wie OracleAgentMemory.search() muss der Benutzergeltungsbereich möglicherweise explizit angegeben werden. In diesen APIs kann None nur für nicht kopierte Datensätze verwendet werden.

agent_id

Agent-ID. NOT_SET_MARKER bedeutet, dass das Feld ausgelassen wurde und durch den betriebsspezifischen Standardwert aufgelöst werden sollte. Explizites None wird beibehalten und von den Vorgangsspezifischen Regeln interpretiert.

Thread-Kennung

Thread-ID. NOT_SET_MARKER bedeutet, dass das Feld ausgelassen wurde und durch den betriebsspezifischen Standardwert aufgelöst werden sollte. Explizites None wird beibehalten und von den Vorgangsspezifischen Regeln interpretiert.

Klasse oracleagentmemory.apis.searchscope.SearchScope

Basis: Scope

Stellt den Geltungsbereich für eine Suchabfrage dar und schränkt daher ein, was zurückgegeben werden kann.

user_id

Endbenutzer-ID. Wenn der aufgelöste exact_user_match-Wert True lautet, wird diese ID genau abgeglichen, einschließlich None. Wenn es sich um False handelt, ist die Benutzerdimension uneingeschränkt. NOT_SET_MARKER wird durch einen betriebsspezifischen Standardwert ersetzt. Für höhere Client-APIs wie OracleAgentMemory.search() muss der Benutzergeltungsbereich möglicherweise explizit angegeben werden. In diesen APIs zielt None nur auf nicht kopierte Datensätze ab, wenn exact_user_match in True aufgelöst wird.

agent_id

Agent-ID. Wenn der aufgelöste exact_agent_match-Wert True lautet, wird diese ID genau abgeglichen, einschließlich None. Wenn es sich um False handelt, ist die Agent-Dimension uneingeschränkt. NOT_SET_MARKER wird je nach Vorgang, der den Geltungsbereich verwendet, durch einen Standardwert ersetzt.

Thread-Kennung

Thread-ID. Wenn der aufgelöste exact_thread_match-Wert True lautet, wird diese ID genau abgeglichen, einschließlich None. Wenn es sich um False handelt, ist die Threaddimension uneingeschränkt. NOT_SET_MARKER wird je nach Vorgang, der den Geltungsbereich verwendet, durch einen Standardwert ersetzt.

genaue_Benutzer_übereinstimmung

Gibt an, ob die aufgelöste user_id exakt übereinstimmen soll. True stimmt genau überein, einschließlich None. Bei False ist die Benutzerdimension uneingeschränkt. NOT_SET_MARKER wird je nach Vorgang durch einen Standardwert ersetzt. Bei höheren Client-APIs wie OracleAgentMemory.search() muss dies möglicherweise True bleiben.

exact_agent_match

Gibt an, ob die aufgelöste agent_id exakt übereinstimmen soll. True stimmt genau überein, einschließlich None. Mit False ist die Agent-Dimension nicht eingeschränkt. NOT_SET_MARKER wird je nach Vorgang durch einen Standardwert ersetzt.

genaue_Thread-Übereinstimmung

Gibt an, ob die aufgelöste thread_id exakt übereinstimmen soll. True stimmt genau überein, einschließlich None. Bei False ist die Threaddimension uneingeschränkt. NOT_SET_MARKER wird je nach Vorgang durch einen Standardwert ersetzt.

Suchkonfiguration

Klasse oracleagentmemory.core.MemorySearchConfig

Basen: ISearchConfig

Basiskonfiguration für Speicher-Post-Search-Verhalten.

Optionale Zielgröße für formatierte Suchausgabe.

Die vollständigen Ergebnisse werden nach dem ersten Ergebnis sortiert, das dieses Budget erreicht oder überschreitet. Das erste Ergebnis wird daher beibehalten, wenn kein hartes token_budget verhindert, dass es zurückgegeben wird.

Optionaler fester Grenzwert für die geschätzte Größe der formatierten Suchausgabe.

Vollständige Ergebnisse werden in Rangfolge gehalten, während ihre kumulative Schätzung dem Budget entspricht. Wenn das erste Ergebnis nicht passt, werden keine Ergebnisse zurückgegeben.

Klasse oracleagentmemory.core.TopKMemorySearchConfig

Basen: _RerankingMemorySearchConfig

Suchkonfiguration mit einem festen Maximum an direkten Ergebnissen.

Maximale Anzahl direkter Ergebnisse, die vor dem erneuten Einfahren abgerufen wurden.

Klasse oracleagentmemory.core.PruningEvaluationMode

Basis: str, Enum

Steuert, wie umfangreich Suchergebnisse beim Pruning ausgewertet werden.

EXHAUSTIV = 'EXHAUSTIVE'

Bewerten Sie jedes Kandidatenergebnis einzeln. Dies bietet die umfassendste Bewertung, hat jedoch die höchste Latenz und LLM-Nutzung.

ERWEITERT = 'erweitert'

Bewerten Sie einen größeren Teil der Ergebnisse, bevor Sie entscheiden, welche zu behalten sind, und zwar auf Kosten zusätzlicher Latenz und LLM-Nutzung.

SCHNELL = 'schnell'

Priorisieren Sie eine niedrige Latenz, indem Sie die Auswertung frühzeitig stoppen, wenn sich bei weiteren Prüfungen wahrscheinlich keine Änderungen an den Ergebnissen ergeben.

Klasse oracleagentmemory.core.PruningMemorySearchConfig

Basen: _RerankingMemorySearchConfig

Suchkonfiguration, die weniger relevante direkte Ergebnisse entfernt.

Direkte Ergebnislimits werden bei jedem Such- oder Kontextkartenaufruf angegeben und vor dem erneuten Einfahren und Beschneiden angewendet.

Umfangreiche Auswertung der Suchergebnisse beim Beschneiden.

Wenn keine Angabe gemacht wird, wird PruningEvaluationMode.FAST verwendet.

Anzahl der eingestuften Ergebnisregionen, die im Modus FAST oder EXTENDED ausgewertet wurden.

Dieser Parameter kann nicht festgelegt werden, wenn evaluation_mode PruningEvaluationMode.EXHAUSTIVE ist.

Bruch von hochrangigen direkten Ergebnissen vor Beschneidung geschützt.

Beispiel: Mit 0.1 werden die obersten 10 Prozent der direkten Ergebnisse geschützt.

LLM entschied, welche direkten Ergebnisse entfernt werden sollten.

Ergebnisse

Klasse oracleagentmemory.core.SearchResultFormatConfig

Basis: object

Kontrollieren Sie die portablen Suchergebnis-Renderingoptionen.

Implementierungen können eine Unterklasse mit zusätzlichen Renderingoptionen bereitstellen.

Klasse oracleagentmemory.core.OracleSearchResultFormatConfig

Basis: SearchResultFormatConfig

Renderingoptionen für Oracle-Suchergebnisse steuern

Klasse oracleagentmemory.core.OracleSearchResult

Basen: SearchResult

Von einem Oracle-Thread zurückgegebenes Suchergebnis.

Eigenschaft content

Methode format_content

Dieses Ergebnis und den zugehörigen Diagrammkontext als XML-sicherer Prompt-Text wiedergeben.

Eigenschaft formatted_content

Eigenschaft id

Eigenschaft linked_results

Eigenschaft metadata

Eigenschaft record

Der zurückgegebene Wert kann eine einfache Record- oder ScopedRecord-Unterklasse sein. Verwenden Sie isinstance(result.record, ScopedRecord), bevor Sie öffentliche Geltungsbereichs-IDs lesen.

Eigenschaft status

Eigenschaft timestamp