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:
- Lassen Sie es aus, um den Standard dieser API-Schicht zu verwenden. In Python-Signaturen und in
SearchScopewird dieser ausgelassene Status durchNOT_SET_MARKERdargestellt. - konkrete ID für die Verwendung dieses Wertes angeben;
- Geben Sie
Nonean, damit der Datensatz für diese Dimension nicht kopiert wird. Beispiel:agent_id=Nonebedeutet, dass der Datensatz nicht an einen Agent gebunden ist.
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:
thread_id=Nonebedeutet, dass der Datensatz nicht an einen Thread gebunden ist.agent_id=Nonebedeutet, dass der Datensatz nicht an einen Agent gebunden ist.user_id="u1", agent_id=None, thread_id=Nonebedeutet, dass der Datensatz für den Benutzeru1, jedoch nicht für einen bestimmten Agent oder Thread gilt.
Dieselben Geltungsbereichsregeln gelten sowohl für synchrone als auch für asynchrone Such-APIs.
In der folgenden Tabelle bedeutet ID user_id, agent_id oder thread_id zusammen mit dem entsprechenden Kennzeichen "Exact-Match".
Suchumfangsauflösung nach API-Layer
| Fall | 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.
Geltungsbereiche
Klasse oracleagentmemory.apis.scope.Scope
Basis: object
Stellt einen Geltungsbereich für das Einfügen oder Suchen von Informationen dar.
- Parameter:
- user_id
str | None - agent_id
str | None - thread_id
str | None
- user_id
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.
- Typ: str | Keine
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 operationsspezifischen Regeln interpretiert.
- Typ: str | Keine
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 operationsspezifischen Regeln interpretiert.
- Typ: str | Keine
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.
- Parameter:
- user_id
str | None - agent_id
str | None - thread_id
str | None - exact_user_match
bool - exact_agent_match
bool - exact_thread_match
bool
- user_id
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.
- Typ: str | Keine
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.
- Typ: str | Keine
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.
- Typ: str | Keine
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. Für höhere Client-APIs wie OracleAgentMemory.search() muss dies möglicherweise True bleiben.
- Typ: boolesch
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.
- Typ: boolesch
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.
- Typ: boolesch
Ergebnisse
Klasse oracleagentmemory.core.OracleSearchResult
Basen: SearchResult
Von einem Oracle-Thread zurückgegebenes Suchergebnis.
- Parameter:
- Abstand
float: Abstand zum Abfragevektor (kleiner ist besser). - record
Record: Ein Datensatzobjekt mit den Metadateninformationen zum persistenten Eintrag. - id
str | None: Optionale ID, die mit dem gespeicherten Datensatz verknüpft ist.
- Abstand
Eigenschaft content
- Rückgabetyp: str
- Beschreibung: Gibt den primären Textinhalt für den übereinstimmenden Datensatz zurück.
Eigenschaft formatted_content
- Rückgabetyp: str
-
Beschreibung: Gibt das standardmäßige XML-sichere Rendering zurück, das in Prompts verwendet wird.
- Rückgaben: XML-sicheres Rendering, das die sichtbaren Standardfelder für ein Suchergebnis enthält.
- Rückgabetyp: str
Eigenschaft id
- Rückgabetyp: str | None
- Beschreibung: Gibt die stabile ID des abgeglichenen Datensatzes zurück, sofern verfügbar.
Eigenschaft metadata
- Rückgabetyp: dict[str, Any] | None
- Beschreibung: Gibt die Metadaten des Datensatzes zurück, sofern verfügbar.
Eigenschaft record
- Rückgabetyp: Datensatz
- Beschreibung: Gibt den zugeordneten Datensatz zurück.
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 timestamp
- Rückgabetyp: str | None
- Beschreibung: Gibt den Zeitstempel des Datensatzes zurück, sofern verfügbar.