Búsqueda
Esta página presenta los ayudantes de ámbito orientados al desarrollador junto con el tipo concreto de resultados de búsqueda de Oracle.
Resolución de ámbito
Para cada campo de ámbito, puede realizar una de estas tres acciones:
- omitirlo para utilizar el valor por defecto de esa capa de API. En las firmas de Python y en
SearchScope, este estado omitido se representa medianteNOT_SET_MARKER. - especificar una identificación concreta para utilizar ese valor;
- especifique
Nonepara indicar que el registro no tiene ámbito en esa dimensión. Por ejemplo,agent_id=Nonesignifica que el registro no está vinculado a un agente.
Cada registro almacenado tiene tres campos de ámbito independientes: user_id, agent_id y thread_id. Cada campo puede contener un ID concreto o None.
Ejemplos:
thread_id=Nonesignifica que el registro no está vinculado a un thread.agent_id=Nonesignifica que el registro no está vinculado a un agente.user_id="u1", agent_id=None, thread_id=Nonesignifica que el registro tiene un ámbito para el usuariou1, pero no para ningún agente o thread específico.
Las mismas reglas de ámbito se aplican a las API de búsqueda síncronas y asíncronas.
En la siguiente tabla, ID significa cualquiera de user_id, agent_id o thread_id junto con su indicador de coincidencia exacta correspondiente.
Resolución de ámbito de búsqueda por capa de API
| Mayúsculas/Minúsculas | thread.search() | OracleAgentMemory.search() | store.search() |
|---|---|---|---|
| ID omitido | Utiliza los valores por defecto del thread: user_id y agent_id exactos, además de thread_id actual con exact_thread_match=False. |
Utiliza los valores predeterminados del cliente. Se ha rechazado user_id omitido. Se han omitido agent_id y thread_id. |
Utiliza los valores por defecto del almacén: ID=None y exact_*_match=False, para que la dimensión no se filtre. |
Valor explícito, incluidos None + exact_*_match=False |
Esta dimensión no se filtra. Los registros cuyo valor coincida con el especificado pueden tener una clasificación superior a la de otros registros. | Para user_id, se ha rechazado porque las búsquedas de cliente requieren un ámbito de usuario exacto explícito. Para agent_id y thread_id, esa dimensión no se filtra. Los registros cuyo valor coincida con el especificado pueden tener una clasificación superior a la de otros registros. |
Esta dimensión no se filtra. Los registros cuyo valor coincida con el especificado pueden tener una clasificación superior a la de otros registros. |
ID explícito + exact_*_match=True |
Coincide exactamente con ese ID. | Coincide exactamente con ese ID. | Coincide exactamente con ese ID. |
None + exact_*_match=True explícitos |
Solo coincide con los registros sin ámbito de esa dimensión. | Solo coincide con los registros sin ámbito de esa dimensión. | Solo coincide con los registros sin ámbito de esa dimensión. |
Utilice None explícito junto con exact_*_match=True cuando solo desee que los registros sin ámbito de esa dimensión y la API lo permitan. Omita el campo cuando desee que la operación sea la predeterminada.
Ámbitos
clase oracleagentmemory.apis.scope.Scope
Bases: object
Representa un ámbito para la inserción o búsqueda de información.
- Parámetros:
- ID_usuario
str | None - agent_id
str | None - thread_id
str | None
- ID_usuario
user_id (ID de usuario)
ID del usuario final. NOT_SET_MARKER significa que el campo se ha omitido y se debe resolver mediante el valor por defecto específico de la operación. None explícito se conserva e interpreta mediante las reglas específicas de la operación. Las API de cliente de nivel superior, como OracleAgentMemory.search(), pueden requerir que el ámbito de usuario sea explícito. En esas API, None se puede utilizar solo para dirigir registros sin ámbito.
- Tipo: str | Ninguno
agent_id (ID de agente)
ID de Agente. NOT_SET_MARKER significa que el campo se ha omitido y se debe resolver mediante el valor por defecto específico de la operación. None explícito se conserva e interpreta mediante las reglas específicas de la operación.
- Tipo: str | Ninguno
ID_subproceso
Identificador de Thread. NOT_SET_MARKER significa que el campo se ha omitido y se debe resolver mediante el valor por defecto específico de la operación. None explícito se conserva e interpreta mediante las reglas específicas de la operación.
- Tipo: str | Ninguno
clase oracleagentmemory.apis.searchscope.SearchScope
Bases: Scope
Representa el ámbito de una consulta de búsqueda y, por lo tanto, restringe lo que se puede devolver.
- Parámetros:
- ID_usuario
str | None - agent_id
str | None - thread_id
str | None - exact_user_match
bool - exact_agent_match
bool - exact_thread_match
bool
- ID_usuario
user_id (ID de usuario)
ID del usuario final. Cuando el valor exact_user_match resuelto es True, este ID coincide exactamente, incluido None. Cuando es False, la dimensión de usuario no tiene restricciones. NOT_SET_MARKER se sustituye por un valor por defecto específico de la operación. Las API de cliente de nivel superior, como OracleAgentMemory.search(), pueden requerir que el ámbito de usuario sea explícito. En esas API, None solo tiene como destino registros sin ámbito cuando exact_user_match se resuelve en True.
- Tipo: str | Ninguno
agent_id (ID de agente)
ID de Agente. Cuando el valor exact_agent_match resuelto es True, este ID coincide exactamente, incluido None. Cuando es False, la dimensión de agente no tiene restricciones. NOT_SET_MARKER se sustituye por un valor por defecto según la operación que utilice el ámbito.
- Tipo: str | Ninguno
ID_subproceso
Identificador de Thread. Cuando el valor exact_thread_match resuelto es True, este ID coincide exactamente, incluido None. Cuando es False, la dimensión de thread no tiene restricciones. NOT_SET_MARKER se sustituye por un valor por defecto según la operación que utilice el ámbito.
- Tipo: str | Ninguno
exact_user_match
Si coincide exactamente con el user_id resuelto. True coincide exactamente, incluido None. False deja la dimensión de usuario sin restricciones. NOT_SET_MARKER se sustituye por un valor por defecto según la operación. Las API de cliente de nivel superior, como OracleAgentMemory.search(), pueden necesitar que esto siga siendo True.
- Tipo: bool
exacto_agente_coincidencia
Si coincide exactamente con el agent_id resuelto. True coincide exactamente, incluido None. False deja la dimensión de agente sin restricciones. NOT_SET_MARKER se sustituye por un valor por defecto según la operación.
- Tipo: bool
exact_thread_match
Si coincide exactamente con el thread_id resuelto. True coincide exactamente, incluido None. False deja la dimensión de thread sin restricciones. NOT_SET_MARKER se sustituye por un valor por defecto según la operación.
- Tipo: bool
Resultados
clase oracleagentmemory.core.OracleSearchResult
Bases: SearchResult
Resultado de búsqueda devuelto por un thread de Oracle.
- Parámetros:
- distance
float: distancia del vector de consulta (más pequeño es mejor). - record
Record: objeto de registro que contiene la información de metadatos sobre la entrada guardada. - id
str | None: identificador opcional asociado con el registro almacenado.
- distance
propiedad content
- Tipo de devolución: str
- Descripción: devuelve el contenido textual principal del registro coincidente.
propiedad formatted_content
- Tipo de devolución: str
-
Descripción: devuelve la representación segura de XML por defecto utilizada en las peticiones de datos.
- Devoluciones: representación a prueba de XML que incluye los campos visibles por defecto para un resultado de búsqueda.
- Tipo de devolución: str
propiedad id
- Tipo de devolución: str | Ninguno
- Descripción: devuelve el identificador estable del registro coincidente, cuando esté disponible.
propiedad metadata
- Tipo de devolución: dict[str, Any] | Ninguno
- Descripción: devuelve los metadatos del registro, si están disponibles.
propiedad record
- Tipo de valor devuelto: Registro
- Descripción: devuelve el registro coincidente.
El valor devuelto puede ser una subclase Record o ScopedRecord sin formato. Utilice isinstance(result.record, ScopedRecord) antes de leer los identificadores de ámbito público.
propiedad timestamp
- Tipo de devolución: str | Ninguno
- Descripción: devuelve el registro de hora, si está disponible.