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 :
- omettez-le pour utiliser la valeur par défaut de cette couche d'API. Dans les signatures Python et dans
SearchScope, cet état omis est représenté parNOT_SET_MARKER. - spécifier un ID concret pour utiliser cette valeur;
- Spécifiez
Nonepour signifier que l'enregistrement n'a pas de portée sur cette dimension. Par exemple,agent_id=Nonesignifie que l'enregistrement n'est pas lié à un agent.
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 :
thread_id=Nonesignifie que l'enregistrement n'est pas lié à une unité d'exécution.agent_id=Nonesignifie que l'enregistrement n'est pas lié à un agent.user_id="u1", agent_id=None, thread_id=Nonesignifie que l'enregistrement a une portée pour l'utilisateuru1, mais pas pour un agent ou une unité d'exécution spécifique.
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.
- Paramètres :
- user_id
str | None - agent_id
str | None - thread_id
str | None
- user_id
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.
- Type : str | None
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.
- Type : str | None
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.
- Type : str | None
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é.
- Paramètres :
- 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
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.
- Type : str | None
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.
- Type : str | None
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.
- Type : str | None
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.
- Type : bool
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.
- Type : bool
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.
- Type : bool
résultats
classe oracleagentmemory.core.OracleSearchResult
Bases : SearchResult
Résultat de recherche retourné par une unité d'exécution Oracle.
- Paramètres :
- distance
float– Distance par rapport au vecteur d'interrogation (plus petite est préférable). - record
Record– Objet d'enregistrement contenant les informations de métadonnées sur l'entrée persistante. - id
str | None– Identificateur facultatif associé à l'enregistrement stocké.
- distance
biens content
- Type de retour : str
- Description : Retourne le contenu textuel principal de l'enregistrement mis en correspondance.
biens formatted_content
- Type de retour : str
-
Description : Retourne le rendu XML par défaut utilisé dans les invites.
- Retours : Rendu sécurisé XML qui inclut les champs visibles par défaut pour un résultat de recherche.
- Type de retour : str
propriété id
- Type de retour : str | None
- Description : Retourne l'identificateur stable de l'enregistrement mis en correspondance, lorsqu'il est disponible.
biens metadata
- Type de retour : dict[str, Any] | None
- Description : Retourne les métadonnées d'enregistrement, si elles sont disponibles.
biens record
- Type de retour : Enregistrement
- Description : Retourne l'enregistrement mis en correspondance.
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
- Type de retour : str | None
- Description : Retourne l'horodatage de l'enregistrement, s'il est disponible.