Rechercher

Cette page présente les aides à la définition de la portée destinées aux développeurs ainsi que le type de résultat de recherche Oracle concret.

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 de portée indépendants : user_id, agent_id et thread_id. Chaque champ peut contenir un ID concret ou None.

Exemples :

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

Dans le tableau suivant, ID désigne user_id, agent_id ou thread_id, ainsi que l'indicateur de correspondance exacte correspondant.

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

Cas thread.search() OracleAgentMemory.search() store.search()
ID omis Utilise les valeurs par défaut de thread : user_id et agent_id exacts, plus thread_id en cours avec exact_thread_match=False. Utilise les valeurs par défaut du client. user_id omis est rejeté. Omis agent_id et thread_id restent larges. Utilise les valeurs par défaut de l'emplacement de stockage : ID=None et exact_*_match=False, de sorte que la dimension ne soit 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 indiquée peuvent être classés plus haut que les autres enregistrements. Pour user_id, rejeté car les recherches client nécessitent une portée utilisateur précise explicite. Pour agent_id et thread_id, cette dimension n'est pas filtrée. Les enregistrements dont la valeur correspond à celle indiqué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 indiqué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 et exact_*_match=True explicites Correspond uniquement aux enregistrements non ciblés sur cette dimension. Correspond uniquement aux enregistrements non ciblés sur cette dimension. Correspond uniquement aux enregistrements non ciblés sur cette dimension.

Utilisez None explicite avec exact_*_match=True lorsque vous voulez que seuls les enregistrements ne soient pas inclus dans cette dimension et que l'API le permette. Omettez le champ lorsque vous voulez que l'opération soit définie par défaut.

Portées

classe oracleagentmemory.apis.scope.Scope

Bases : object

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

user_id

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. L'expression None explicite est conservée et interprétée par les règles propres à l'opération. Les API client de niveau supérieur telles que OracleAgentMemory.search() peuvent exiger que la portée utilisateur soit explicite. Dans ces API, None peut être utilisé pour cibler uniquement les enregistrements non ciblés.

agent_id

ID d'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. L'expression None explicite est conservée et interprétée par les règles propres à l'opération.

id_thread

ID de thread. 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. L'expression None explicite est conservée et interprétée par les règles propres à l'opération.

classe oracleagentmemory.apis.searchscope.SearchScope

Bases : Scope

Représente la portée d'une requête de recherche et limite donc ce qui peut être renvoyé.

user_id

ID d'utilisateur final. Lorsque la valeur exact_user_match résolue est True, cet ID correspond exactement, y compris None. Lorsque la valeur est 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 exiger que la portée utilisateur soit explicite. Dans ces API, None cible uniquement les enregistrements sans portée lorsque exact_user_match est résolu en True.

agent_id

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

id_thread

ID de thread. Lorsque la valeur exact_thread_match résolue est True, cet ID correspond exactement, y compris None. Lorsque la valeur est False, la dimension de thread n'est pas contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut en fonction de l'opération utilisant la portée.

exact_user_match

Indique si la correspondance doit être exacte avec le fichier user_id résolu. True correspond exactement, y compris None. False laisse la dimension utilisateur sans contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut en fonction de l'opération. Les API client de niveau supérieur telles que OracleAgentMemory.search() peuvent exiger qu'elles restent True.

exact_agent_match

Indique si la correspondance doit être exacte avec le fichier agent_id résolu. 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 en fonction de l'opération.

correspondance_thread_exact

Indique si la correspondance doit être exacte avec le fichier thread_id résolu. True correspond exactement, y compris None. False laisse la dimension de thread sans contrainte. NOT_SET_MARKER est remplacé par une valeur par défaut en fonction de l'opération.

Résultats

classe oracleagentmemory.core.OracleSearchResult

Bases : SearchResult

Résultat de la recherche renvoyé par un thread Oracle.

propriété content

propriété formatted_content

propriété id

propriété metadata

propriété record

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

propriété timestamp