Rechercher

Cette page présente les assistants de portée orientés développeur ainsi que le type concret de résultat de recherche Oracle.

Résolution de la portée

Pour chaque champ de portée, vous pouvez effectuer l'une des trois opérations suivantes :

Chaque enregistrement stocké comporte trois champs d'étendue indépendants : user_id, agent_id et thread_id. Chaque champ peut contenir un ID concret ou None.

Exemples :

Les mêmes règles de portée s'appliquent aux API de recherche synchrone et asynchrone.

Dans le tableau suivant, ID signifie l'une des valeurs user_id, agent_id ou thread_id ainsi que l'indicateur de correspondance exacte correspondant.

Résolution de la portée de la recherche par couche d'API

Cas thread.search() OracleAgentMemory.search() stocke.search()
ID omis Utilise les valeurs par défaut de l'unité d'exécution : user_id et agent_id exacts, plus thread_id courant avec exact_thread_match=False. Utilise les valeurs par défaut du client. L'élément user_id omis est rejeté. agent_id et thread_id omis restent larges. Utilise les valeurs par défaut du magasin : ID=None et exact_*_match=False, de sorte que la dimension n'est pas filtrée.
Valeur explicite, y compris None + exact_*_match=False Cette dimension n'est pas filtrée. Les enregistrements dont la valeur correspond à celle spécifiée peuvent être classés plus haut que les autres enregistrements. Pour user_id, rejeté car les recherches de client nécessitent une définition précise explicite de la portée de l'utilisateur. Pour agent_id et thread_id, cette dimension n'est pas filtrée. Les enregistrements dont la valeur correspond à celle spécifiée peuvent être classés plus haut que les autres enregistrements. Cette dimension n'est pas filtrée. Les enregistrements dont la valeur correspond à celle spécifiée peuvent être classés plus haut que les autres enregistrements.
ID explicite + exact_*_match=True Correspond exactement à cet ID. Correspond exactement à cet ID. Correspond exactement à cet ID.
None + exact_*_match=True explicites Correspond uniquement aux enregistrements dont la portée n'est pas définie pour cette dimension. Correspond uniquement aux enregistrements dont la portée n'est pas définie pour cette dimension. Correspond uniquement aux enregistrements dont la portée n'est pas définie pour cette dimension.

Utilisez None explicite avec exact_*_match=True lorsque vous voulez que seuls les enregistrements dont la portée n'est pas définie pour cette dimension et que l'API le permet. Omettre le champ lorsque vous voulez l'opération par défaut.

Portées

classe oracleagentmemory.apis.scope.Scope

Bases : object

Représente une étendue pour l'insertion ou la recherche d'informations.

ID utilisateur

ID d'utilisateur final. NOT_SET_MARKER signifie que le champ a été omis et doit être résolu par la valeur par défaut propre à l'opération. None explicite est conservé et interprété par les règles propres à l'opération. Les API client de niveau supérieur telles que OracleAgentMemory.search() peuvent nécessiter que la portée utilisateur soit explicite. Dans ces API, None ne peut être utilisé que pour cibler les enregistrements sans portée.

agent_id;

ID agent. NOT_SET_MARKER signifie que le champ a été omis et doit être résolu par la valeur par défaut propre à l'opération. None explicite est conservé et interprété par les règles propres à l'opération.

thread_id;

ID unité d'exécution. NOT_SET_MARKER signifie que le champ a été omis et doit être résolu par la valeur par défaut propre à l'opération. None explicite est conservé et interprété par les règles propres à l'opération.

classe oracleagentmemory.apis.searchscope.SearchScope

Bases : Scope

Représente la portée d'une interrogation de recherche et restreint donc ce qui peut être retourné.

ID utilisateur

ID d'utilisateur final. Lorsque la valeur exact_user_match résolue est True, cet ID correspond exactement, y compris None. Lorsqu'il s'agit de False, la dimension utilisateur n'est pas contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut propre à l'opération. Les API client de niveau supérieur telles que OracleAgentMemory.search() peuvent nécessiter que la portée utilisateur soit explicite. Dans ces API, None cible uniquement les enregistrements sans portée lorsque exact_user_match se résout à True.

agent_id;

ID agent. Lorsque la valeur exact_agent_match résolue est True, cet ID correspond exactement, y compris None. Lorsqu'il s'agit de False, la dimension d'agent n'est pas contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut selon l'opération utilisant la portée.

thread_id;

ID unité d'exécution. Lorsque la valeur exact_thread_match résolue est True, cet ID correspond exactement, y compris None. Lorsqu'il s'agit de False, la dimension d'unité d'exécution n'est pas contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut selon l'opération utilisant la portée.

exact_user_match;

Indique si le user_id résolu doit correspondre exactement. True correspond exactement, y compris None. False laisse la dimension d'utilisateur sans contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut selon l'opération. Les API client de niveau supérieur telles que OracleAgentMemory.search() peuvent nécessiter le maintien de True.

exact_agent_match

Indique si le agent_id résolu doit correspondre exactement. True correspond exactement, y compris None. False laisse la dimension d'agent sans contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut selon l'opération.

exact_thread_match;

Indique si le thread_id résolu doit correspondre exactement. True correspond exactement, y compris None. False laisse la dimension d'unité d'exécution sans contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut selon l'opération.

résultats

classe oracleagentmemory.core.OracleSearchResult

Bases : SearchResult

Résultat de recherche retourné par une unité d'exécution Oracle.

biens content

biens formatted_content

propriété id

biens metadata

biens record

La valeur retournée peut être une sous-classe Record ou ScopedRecord simple. Utilisez isinstance(result.record, ScopedRecord) avant de lire les identificateurs de portée publique.

biens timestamp