Memoria del agente
Esta página presenta la implantación concreta de Oracle AI Agent Memory.
Memoria del Agente de Oracle
Nota: OracleAgentMemory.delete_thread() es la ruta de acceso soportada para la limpieza en cascada de ámbito de thread. Elimina el thread junto con los mensajes asociados, las memorias duraderas y los datos de recuperación gestionados. Es más amplio que OracleThread.delete_message(), que suprime solo la fila de mensaje sin formato. La supresión a nivel de cliente espera la extracción en segundo plano anterior relevante: la supresión de subprocesos espera ese subproceso, la supresión de memoria espera el subproceso del destino almacenado cuando está presente y la supresión de usuarios o agentes espera los subprocesos en propiedad conocidos, independientemente de que esté activada o no la limpieza en cascada. Estas esperas cubren solo el trabajo aceptado por el mismo cliente antes de que comience la espera.
clase oracleagentmemory.core.OracleAgentMemory
Bases: IAgentMemory
Cliente de memoria de agente respaldado por Oracle DB o un almacén proporcionado por el emisor de llamada.
Cree un cliente de memoria.
- Parámetros:
- store
OracleMemoryStore– Instancia de almacén preconfigurada opcional. Cuando se proporciona, el cliente utiliza este almacén directamente en lugar de instanciar su propio almacén. Esto resulta útil cuando los emisores de llamadas necesitan una configuración de almacén más allá de las opciones del constructor expuestas porOracleAgentMemory. - connection
object: conexión/agrupación Oracle DB opcional. Cuando se proporciona, se utiliza el almacén de base de datos. La transferencia de una conexión raw activa el modo de sesión única para esta instancia de cliente, por lo que las solicitudes simultáneas deben utilizar un pool de conexiones en su lugar. Cuando se omite, los emisores de llamadas deben transferir unstoreexplícito. - embedder
IEmbedder | str: instancia de implementación de embebido o un identificador de modelo de embebido de LiteLLM. Cuando se omite, no se adjunta ningún incrustador. A continuación, la búsqueda de base de datos solo para vectores requiere vectores calculados previamente a través de API de almacén de nivel inferior, mientras que la búsqueda de base de datos de palabras clave se puede ejecutar directamente desde el texto de la consulta. La búsqueda de base de datos híbrida necesita una instanciaOracleDBEmbedderpara que el índice híbrido gestionado y el embebido principal utilicen el mismo modelo en la base de datos. - LLM
ILlm: adaptador LLM opcional que utilizan los threads para la extracción de memoria o el resumen de contexto. Por defecto, los threads creados o cargados desde este cliente requieren un LLM para que los mensajes recientes se puedan extraer para memorias duraderas. Transfiera unllmaquí, proporcione uno más adelante encreate_threado desactive la extracción automática conmemory_extraction_config=MemoryExtractionConfig(extract_memories=False). - memory_extraction_config
MemoryExtractionConfig: configuración opcional de extracción de memoria a nivel de cliente. Utilícelo para controlar la configuración de extracción automática de memoria, como el modo de extracción, el comportamiento de resumen y los límites de extracción. Los campos omitidos utilizan los valores por defecto del SDK. En particular, un contexto de imagen omitido esDISABLED. - image_input_limit_config
ImageInputLimitConfig: límites opcionales de imagen sin formato de nivel de cliente y solicitud de imagen de LLM. Los campos omitidos utilizan los valores por defecto del SDK y los heredan los threads, a menos que un thread proporcione una sustitución. La validación no se puede desactivar. - schema_policy:
SchemaPolicy | strpolítica de configuración del esquema de base de datos que se utiliza solo al crear un almacén de base de datos a partir deconnection. El valor por defecto esSchemaPolicy.REQUIRE_EXISTING. UtiliceSchemaPolicy.CREATE_IF_NECESSARYal activar por primera vez la palabra clave o la búsqueda híbrida en un esquema existente, o al abrir un esquema gestionado antiguo soportado, para que el SDK pueda aplicar actualizaciones de esquema no destructivas y agregar los objetos de búsqueda de texto necesarios. En su lugar, se deben volver a crear los esquemas de desarrollo o parcialmente actualizados que ya reclaman la unidad de versión actual. Cuando se defineschema_owner, solo se permiteSchemaPolicy.REQUIRE_EXISTING. Esto evita el DDL de esquema gestionado, incluida la creación de esquemas, las actualizaciones, la recreación y la creación del primer índice híbrido; realice esas acciones mientras está conectado como usuario propietario de la base de datos sinschema_owner. No hace que el cliente sea de solo lectura: las lecturas y escrituras de memoria normales utilizan los privilegios de base de datos otorgados por el usuario de conexión. - memory_store_id
str: ID estable del almacén de memoria de base de datos gestionado que se utiliza solo al crear un almacén de base de datos a partir deconnection. Vuelva a utilizar el mismo ID para volver a abrir la misma tienda gestionada. El ID se une a los nombres de objetos de base de datos gestionados con un guion bajo, por lo que debe empezar por una letra, contener solo letras, números y guiones bajos y tener como máximo 16 caracteres. El almacén de base de datos lo normaliza a mayúsculas, por lo que las mayúsculas y minúsculas no crean una identidad de almacén diferente. Pase esto otable_name_prefix, no ambos. Si se omite, el almacén de base de datos utilizatable_name_prefixo el valor por defecto sin fijar cuando también se omitetable_name_prefix. -
table_name_prefix
str:Prefijo de índice/tabla de base de datos opcional que se utiliza solo al crear un almacén de base de datos a partir de
connection. Pase esto omemory_store_id, no ambos.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_store_iden su lugar. - schema_owner
str: propietario de esquema opcional para un almacén de memoria gestionado existente. Omita esta opción para utilizar el esquema del usuario de conexión. Utilícelo cuandoconnection, una conexión de base de datos raw o un pool de conexiones, pertenezca a un usuario de base de datos de aplicación que tenga permisos en tablas propiedad de otro usuario. Esta opción solo se utiliza para el acceso en tiempo de ejecución a un almacén de memoria gestionado ya creado y necesitaSchemaPolicy.REQUIRE_EXISTING. Cree, actualice o vuelva a crear el almacén de memoria gestionado mientras está conectado como propietario del esquema y omita esta opción. Transfiera un identificador sin comillas; la entrada en minúscula se normaliza a mayúsculas y los propietarios de esquemas entre comillas sensibles a mayúsculas y minúsculas no están soportados. Si transfiere unstorepreconfigurado, configureschema_owneren ese almacén en su lugar. OtorgueCREATE SESSIONy los privilegios de objeto necesarios al usuario de la base de datos de la aplicación; consulte la secciónDatabase Users and Privilegesde la guía de solución de problemas para obtener los permisos exactos. Como alternativa, exponga las vistas de objeto gestionado con el mismo nombre en el esquema de tiempo de ejecución y omitaschema_owner; solo está soportado paraSchemaPolicy.REQUIRE_EXISTING. - search_strategy
SearchStrategy: valorSearchStrategyque selecciona el backend de búsqueda de base de datos al crear un almacén de base de datos desdeconnection. UtiliceSearchStrategy.VECTOR(valor por defecto) para la recuperación sólo de vectores,SearchStrategy.HYBRIDpara consultar el índice de vectores híbridos de Oracle gestionado en el texto de búsqueda almacenado, oSearchStrategy.KEYWORDpara clasificar por palabra clave/texto que coincida en el texto de búsqueda almacenado sin fusión de vectores.KEYWORDno necesita un embebido.HYBRIDnecesita queembedderseaOracleDBEmbedder. El inicio del cliente falla cuando se utiliza una estrategia incompatible con un esquema existente porque es posible que ese esquema no contenga el estado de búsqueda almacenado que necesita la estrategia. Cuando se omiteschema_policy=SchemaPolicy.REQUIRE_EXISTINGy este argumento, el mejor esfuerzo del almacén de base de datos detecta el modo de búsqueda almacenado del esquema a partir de metadatos gestionados y utiliza ese modo cuando está disponible. - search_index_sync
SearchIndexSyncMode: valorSearchIndexSyncModeque selecciona el comportamiento de refrescamiento del índice de búsqueda gestionado paraSearchStrategy.HYBRIDySearchStrategy.KEYWORD.SearchIndexSyncMode.ON_COMMITes el valor por defecto y permite la búsqueda de registros tan pronto como se confirma la transacción de escritura.SearchIndexSyncMode.MANUALdeja el refrescamiento en una operación de sincronización explícita del lado de la base de datos.SearchIndexSyncMode.AUTOpermite a Oracle refrescar el índice híbrido gestionado de forma asíncrona y solo está soportado conSearchStrategy.HYBRID; la búsqueda por palabra clave rechazaAUTO. -
extract_memories
bool:Cuando
True, los threads creados o cargados por este cliente requieren un LLM y la extracción automática de memoria permanece activada. Establézcalo enFalsepara desactivar la extracción automática de memoria y permitir que esos threads funcionen sin un LLM. El valor predeterminado esTrue, por lo que los LLM de extracción que faltan fallan rápidamente.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_custom_instructions
str:Instrucciones personalizadas opcionales agregadas a la petición de datos del sistema de extracción automática de memoria para threads creados o cargados por este cliente. Los valores por thread transferidos a
create_thread,get_threadoupdate_threadtienen prioridad.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. - memory_retention_config
MemoryRetentionConfig: configuración de retención de memoria opcional que se utiliza solo al crear un almacén de base de datos a partir deconnection.MemoryRetentionConfig.default_ttl_daysse aplica a nuevos mensajes y memorias cuya llamada de escritura omitettl_days.MemoryRetentionConfig.max_ttl_dayssujeta duraciones explícitas por registro por encima del máximo configurado con una advertencia y, cuando se define, hace quettl_days=Noneutilice ese máximo en lugar de crear registros que no caducan. ConSchemaPolicy.CREATE_IF_NECESSARY, una configuración explícita refresca los metadatos almacenados en un esquema gestionado actualizado existente, pero no actualiza las fechas de caducidad existentes; omitiendo la configuración existente. Si una configuración explícita dejadefault_ttl_daysomax_ttl_daysenNOT_SET_MARKER, el SDK resuelve ese atributo en su valor por defecto (None) antes de comparar o almacenar metadatos de esquema. Elija esta configuración en función de la información esperada que se almacena en los registros, el motivo por el que la aplicación la retiene y cualquier compromiso de conservación de aplicaciones o normativas. - search_config
MemorySearchConfig: configuración opcional de búsqueda de nivel de cliente heredada por threads nuevos y cargados. Cuando se omite, las búsquedas utilizan una configuración de búsqueda de top-k fija. - pruner_llm
ILlm: LLM opcional que se utiliza para activar la depuración de resultados en todo el cliente. Cuando se define, las búsquedas directas de clientes y las búsquedas de threads heredadas utilizan la depuración con el modo de evaluaciónFASTpor defecto. Los threads existentes con una configuración de búsqueda almacenada mantienen esa configuración cuando se vuelven a abrir. Utilicesearch_config=PruningMemorySearchConfig(...)para personalizar el comportamiento de depuración.pruner_llmno se puede combinar consearch_config.
- store
Advertencia: SchemaPolicy.CREATE_IF_NECESSARY puede ser más caro que el inicio normal del cliente porque puede aplicar DDL de esquema gestionado y reescrituras de datos de mejor esfuerzo antes de que la inicialización se realice correctamente. Planifique la primera apertura de un esquema gestionado anterior como una operación de migración o mantenimiento cuando ese esquema pueda contener muchas filas.
Si la configuración del esquema debe crear el trabajo de depuración de registro caducado gestionado, pero el usuario de la base de datos carece del privilegio Scheduler-job, la inicialización advierte y continúa. Los mensajes y las memorias caducados permanecen ocultos para las lecturas y la búsqueda, pero no se depuran físicamente hasta que un usuario con CREATE JOB o un privilegio de programador equivalente crea el trabajo.
Cuando SchemaPolicy.CREATE_IF_NECESSARY crea por primera vez un índice híbrido gestionado a través de un esquema existente, Oracle explora el texto de búsqueda almacenado y crea el estado de índice híbrido gestionado a partir del modelo de base de datos configurado. El inicio del cliente espera a que termine ese DDL, de modo que planifique la primera actualización híbrida como una operación de migración o mantenimiento para esquemas grandes. SearchIndexSyncMode controla el mantenimiento continuo después de que exista el índice; no hace que la primera creación de índice sea asíncrona.
- Incidencias: ValueError: si se proporciona una configuración de almacén en conflicto, como transferir
storeyconnection, opciones específicas de base de datos sin una conexión de base de datos u omitirstoreyconnection. - Parámetros:
- tienda
OracleMemoryStore - conexión
object - embedder
IEmbedder | str - llm
ILlm - memory_extraction_config
MemoryExtractionConfig - image_input_limit_config
ImageInputLimitConfig - política_esquema
SchemaPolicy | str - memory_store_id
str - nombre_tabla_prefijo
str - propietario_esquema
str - estrategia_búsqueda
SearchStrategy - search_index_sync
SearchIndexSyncMode - extract_memories
bool - instrucciones_personalizadas_de_extracción_memoria
str - memory_retention_config
MemoryRetentionConfig - search_config
MemorySearchConfig - pruner_llm
ILlm
- tienda
Ejemplos
Para acceder a un esquema creado por otro usuario de base de datos, configure memory_rw_pool para el usuario de base de datos de aplicación y defina memory_schema_owner en el nombre de base de datos sin comillas del usuario propietario.
from oracleagentmemory.core import (
MemoryExtractionConfig,
SearchIndexSyncMode,
OracleAgentMemory,
SchemaPolicy,
SearchStrategy,
)
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
read_only_client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
memory_extraction_config=MemoryExtractionConfig(extract_memories=False),
)
pruned_search_client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
memory_extraction_config=MemoryExtractionConfig(extract_memories=False),
pruner_llm=llm,
)
shared_client = OracleAgentMemory(
connection=memory_rw_pool,
embedder=embedder,
llm=llm,
schema_owner=memory_schema_owner,
)
Utilice un modelo de embebido en la base de datos para aprovechar la búsqueda de índices híbridos de Oracle:
from oracleagentmemory.core.embedders import OracleDBEmbedder
db_embedder = OracleDBEmbedder(
connection=db_pool,
model="DOC_MODEL",
embedding_dimension=768,
)
hybrid_client = OracleAgentMemory(
connection=db_pool,
embedder=db_embedder,
schema_policy=SchemaPolicy.CREATE_IF_NECESSARY,
search_strategy=SearchStrategy.HYBRID,
search_index_sync=SearchIndexSyncMode.ON_COMMIT,
memory_store_id=memory_store_id,
)
método add_agent
Agregue un registro de perfil de agente a la tienda.
- Parámetros:
- agent_id
str: identificador de agente. - information
str: información de formato libre sobre el agente. - metadata
dict[str, Any] | None: asignación de metadatos opcional almacenada en la fila del perfil de agente.
- agent_id
- Devoluciones: identificador del perfil de agente almacenado.
- Tipo de devolución: str
Notas
Los registros de perfil de agente se almacenan en el almacén de nivel de cliente y se anula el ámbito intencionalmente. El identificador de registro devuelto es el mismo identificador público que la aplicación utiliza como agent_id.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_agent(
"a1",
"Support assistant",
metadata={"source": "catalog"},
)
'a1'
method add_agent_async (async)
Agregue un registro de perfil de agente al almacén de forma asíncrona.
- Parámetros:
- agent_id
str: identificador de agente. - information
str: información de formato libre sobre el agente. - metadata
dict[str, Any] | None: asignación de metadatos opcional almacenada en la fila del perfil de agente.
- agent_id
- Devoluciones: identificador del perfil de agente almacenado.
- Tipo de devolución: str
Notas
Los registros de perfil de agente se almacenan en el almacén de nivel de cliente y se anula el ámbito intencionalmente. El identificador de registro devuelto es el mismo identificador público que la aplicación utiliza como agent_id.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
asyncio.run(client.add_agent_async(
"a1",
"Support assistant",
metadata={"source": "catalog"},
))
'a1'
método add_image
Agregue un registro de imagen al cliente.
- Parámetros:
- image
bytes: bytes de imagen para almacenar como imagen. - description
str | None: descripción opcional asociada con la imagen. Omítelo o transfieraNonepara generar uno con el LLM configurado. - mime_type
ImageMimeType: tipo MIME de la imagen. Los valores soportados se proporcionan medianteImageMimeType. Cuando se omite, el SDK detecta y valida el tipo a partir de los bytes de imagen. Los tipos detectados compatibles son PNG, JPEG y WEBP. - image_id
str: identificador estable proporcionado por el emisor de llamada opcional. Cuando se omite, se genera uno. - user_id
str | None: propietario de usuario opcional. Proporcione al menos uno deuser_id,agent_idothread_id; los tres no pueden serNone. - agent_id
str | None: identificador de agente opcional que se asocia con la imagen. - thread_id
str: identificador de subproceso opcional que se asocia con la imagen. - metadata
dict[str, Any] | None: metadatos opcionales que se conservan con la fila de imagen. - timestamp
str | None: registro de hora de evento opcional que se guarda para esta imagen. Omita este argumento o transfieraNonepara almacenar un registro de hora de eventoNULL. Cuando se lee la imagen, la hora de creación se devuelve como el registro de hora efectivo. - ttl_days
int | None: duración opcional del tiempo de vida en días. Omita este argumento para utilizar la duración de tiempo de actividad por defecto del esquema. TransfieraNonepara almacenar una imagen que no caduque. - ttl_anchor
TimeToLiveAnchor: anclaje de tiempo de vida opcional. UtiliceTimeToLiveAnchor.CREATED_ATpara la hora de creación de la base de datos oTimeToLiveAnchor.TIMESTAMPpara el registro de hora de la imagen. - **store_kwargs (Cualquiera): opciones de escritura específicas de implantación reenviadas al almacén de copia de seguridad.
- image
- Devoluciones: identificador del registro de imagen insertado.
- Tipo de devolución: str
Ejemplos
image_id = client.add_image(
b"image-bytes",
description="Image description",
mime_type=ImageMimeType.PNG,
image_id="img-1",
user_id="user-1",
)
image_id
'img-1'
method add_image_async (async)
Conservar una imagen independiente a través del almacén configurado.
Cuando se omite description o None, el LLM configurado genera un título.
- Parámetros:
- image
bytes: bytes de imagen sin formato que se conservan. - description
str | None: descripción o leyenda opcional. Omitirlo para generar un título. - mime_type
ImageMimeType: tipo MIME opcional utilizado para la persistencia de imágenes y la generación de subtítulos. Cuando se omite, el SDK detecta y valida el tipo a partir de los bytes de imagen. Los tipos detectados compatibles son PNG, JPEG y WEBP. - image_id
str: identificador opcional. Se genera una cuando se omite. - user_id
str | None: identificadores de ámbito de propietario. Al menos uno debe ser distinto deNone. Cuando se proporcionathread_id, la propiedad de usuario y agente almacenada es autorizada; los valores de usuario y agente omitidos se heredan. - agent_id
str | None: identificadores de ámbito de propietario. Al menos uno debe ser distinto deNone. Cuando se proporcionathread_id, la propiedad de usuario y agente almacenada es autorizada; los valores de usuario y agente omitidos se heredan. - thread_id
str: identificadores de ámbito de propietario. Al menos uno debe ser distinto deNone. Cuando se proporcionathread_id, la propiedad de usuario y agente almacenada es autorizada; los valores de usuario y agente omitidos se heredan. - metadata
dict[str, Any] | None: metadatos opcionales almacenados con la imagen. - timestamp
str | None: registro de hora de evento opcional que se guarda para esta imagen. Omita este argumento o transfieraNonepara almacenar un registro de hora de eventoNULL. Cuando se lee la imagen, la hora de creación se devuelve como el registro de hora efectivo. - ttl_days
int | None: configuración de caducidad opcional. - ttl_anchor
TimeToLiveAnchor: configuración de caducidad opcional. - store_kwargs
Any: opciones adicionales específicas de la tienda.
- image
- Devoluciones: identificador de imagen persistente.
- Tipo de devolución: str
método add_memory
Agregue una memoria en el sistema de memoria, atribuida al usuario, agente y thread indicados.
- Parámetros:
- content
str: contenido de memoria que se debe mantener. - memory_type
Literal['memory', 'guideline', 'fact', 'preference'] | ~oracleagentmemory._notset._NotSetMarker: categoría de memoria para almacenar. Los valores soportados son"memory","fact","guideline"y"preference". Cuando se omite, el contenido se almacena como un"memory"general. - user_id
str: identificadores de ámbito opcionales asociados con la memoria almacenada. Cuando se omiteuser_idy la conexión a la base de datos lleva un contexto de seguridad de usuario final, el almacén utiliza el nombre de usuario de ese contexto. - agent_id
str: identificadores de ámbito opcionales asociados con la memoria almacenada. Cuando se omiteuser_idy la conexión a la base de datos lleva un contexto de seguridad de usuario final, el almacén utiliza el nombre de usuario de ese contexto. - thread_id
str: identificadores de ámbito opcionales asociados con la memoria almacenada. Cuando se omiteuser_idy la conexión a la base de datos lleva un contexto de seguridad de usuario final, el almacén utiliza el nombre de usuario de ese contexto. - memory_id
str: identificador estable proporcionado por el emisor de llamada opcional para esta fila de memoria. - metadata
dict[str, Any] | None: metadatos opcionales que se mantienen con la memoria almacenada. - timestamp
str | None: registro de hora de evento opcional que se guarda para esta memoria. Omita este argumento o transfieraNonepara almacenar un registro de hora de eventoNULL. Cuando se lee el registro, su hora de creación se devuelve como el registro de hora efectivo. Cuandottl_anchoresTimeToLiveAnchor.TIMESTAMP, los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - ttl_days
int | None: duración opcional del tiempo de vida en días. Omita este argumento para utilizar la duración de tiempo de actividad por defecto del esquema. TransfieraNonepara utilizarMemoryRetentionConfig.max_ttl_dayscuando la configuración de retención defina uno o para almacenar una memoria que no caduque cuando no lo haga. Los valores por encima deMemoryRetentionConfig.max_ttl_daysse sujetan a ese máximo con una advertencia. - ttl_anchor
TimeToLiveAnchor: anclaje de tiempo de vida opcional. UtiliceTimeToLiveAnchor.CREATED_ATpara la hora de creación de la base de datos oTimeToLiveAnchor.TIMESTAMPpara el registro de hora de la memoria. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - status
RecordStatus: estado del ciclo de vida inicial. Omitirlo para almacenarRecordStatus.VALID. - autonomous_linking
bool: indica si se deben crear enlaces desde esta nueva memoria a memorias almacenadas relevantes mediante el LLM del cliente. Se omite lo activa cuando existe un LLM; paseFalsepara omitirlo. El fallo deja la memoria almacenada. - memory_id_to_link
str: juntos, cree un enlace dirigido desde la nueva memoria a esta memoria existente, incluida una en otro ámbito. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. - link_type
Literal['supersedes', 'contradicts', 'refines', 'supports', 'duplicates'] | ~oracleagentmemory._notset._NotSetMarker: juntos, cree un enlace dirigido desde la nueva memoria a esta memoria existente, incluida una en otro ámbito. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. - link_id
str: identificador opcional, registro de hora y metadatos para el enlace explícito. - link_timestamp
str | None: identificador opcional, registro de hora y metadatos para el enlace explícito. - link_metadata
dict[str, Any] | None: identificador opcional, registro de hora y metadatos para el enlace explícito. - **store_kwargs (Cualquiera): opciones de escritura específicas del almacén reenviadas al almacén de copia de seguridad.
- content
- Devoluciones: identificador del registro de memoria insertado.
- Tipo de devolución: str
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
memory_id = client.add_memory("User likes pizza", memory_id="mem-1")
memory_id
'mem-1'
method add_memory_async (async)
Agregue una memoria en el sistema de memoria de forma asíncrona.
- Parámetros:
- content
str: contenido de memoria que se debe mantener. - memory_type
Literal['memory', 'guideline', 'fact', 'preference'] | ~oracleagentmemory._notset._NotSetMarker: categoría de memoria para almacenar. Los valores soportados son"memory","fact","guideline"y"preference". Cuando se omite, el contenido se almacena como un"memory"general. - user_id
str: identificadores de ámbito opcionales asociados con la memoria almacenada. Cuando se omiteuser_idy la conexión a la base de datos lleva un contexto de seguridad de usuario final, el almacén utiliza el nombre de usuario de ese contexto. - agent_id
str: identificadores de ámbito opcionales asociados con la memoria almacenada. Cuando se omiteuser_idy la conexión a la base de datos lleva un contexto de seguridad de usuario final, el almacén utiliza el nombre de usuario de ese contexto. - thread_id
str: identificadores de ámbito opcionales asociados con la memoria almacenada. Cuando se omiteuser_idy la conexión a la base de datos lleva un contexto de seguridad de usuario final, el almacén utiliza el nombre de usuario de ese contexto. - memory_id
str: identificador estable proporcionado por el emisor de llamada opcional para esta fila de memoria. - metadata
dict[str, Any] | None: metadatos opcionales que se mantienen con la memoria almacenada. - timestamp
str | None: registro de hora de evento opcional que se guarda para esta memoria. Omita este argumento o transfieraNonepara almacenar un registro de hora de eventoNULL. Cuando se lee el registro, su hora de creación se devuelve como el registro de hora efectivo. Cuandottl_anchoresTimeToLiveAnchor.TIMESTAMP, los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - ttl_days
int | None: duración opcional del tiempo de vida en días. Omita este argumento para utilizar la duración de tiempo de actividad por defecto del esquema. TransfieraNonepara utilizarMemoryRetentionConfig.max_ttl_dayscuando la configuración de retención defina uno o para almacenar una memoria que no caduque cuando no lo haga. Los valores por encima deMemoryRetentionConfig.max_ttl_daysse sujetan a ese máximo con una advertencia. - ttl_anchor
TimeToLiveAnchor: anclaje de tiempo de vida opcional. UtiliceTimeToLiveAnchor.CREATED_ATpara la hora de creación de la base de datos oTimeToLiveAnchor.TIMESTAMPpara el registro de hora de la memoria. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - status
RecordStatus: estado del ciclo de vida inicial. Omitirlo para almacenarRecordStatus.VALID. - autonomous_linking
bool: indica si se deben crear enlaces desde esta nueva memoria a memorias almacenadas relevantes mediante el LLM del cliente. Se omite lo activa cuando existe un LLM; paseFalsepara omitirlo. El fallo deja la memoria almacenada. - memory_id_to_link
str: juntos, cree un enlace dirigido desde la nueva memoria a esta memoria existente, incluida una en otro ámbito. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. - link_type
Literal['supersedes', 'contradicts', 'refines', 'supports', 'duplicates'] | ~oracleagentmemory._notset._NotSetMarker: juntos, cree un enlace dirigido desde la nueva memoria a esta memoria existente, incluida una en otro ámbito. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. - link_id
str: identificador opcional, registro de hora y metadatos para el enlace explícito. - link_timestamp
str | None: identificador opcional, registro de hora y metadatos para el enlace explícito. - link_metadata
dict[str, Any] | None: identificador opcional, registro de hora y metadatos para el enlace explícito. - **store_kwargs (Cualquiera): opciones de escritura específicas del almacén reenviadas al almacén de copia de seguridad.
- content
- Devoluciones: identificador del registro de memoria insertado.
- Tipo de devolución: str
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
memory_id = asyncio.run(client.add_memory_async(
"User likes pizza", memory_id="mem-1"
))
memory_id
'mem-1'
método add_user
Agregue un registro de perfil de usuario a la tienda.
- Parámetros:
- user_id
str: identificador de usuario. - information
str: información de formato libre sobre el usuario. - metadata
dict[str, Any] | None: asignación de metadatos opcional almacenada en la fila del perfil de usuario.
- user_id
- Devoluciones: identificador del perfil de usuario almacenado.
- Tipo de devolución: str
Notas
Los registros de perfil de usuario se almacenan en el almacén de nivel de cliente y se anula el ámbito intencionalmente. El identificador de registro devuelto es el mismo identificador público que la aplicación utiliza como user_id.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_user(
"u1",
"Prefers concise answers.",
metadata={"source": "crm"},
)
'u1'
method add_user_async (async)
Agregue un registro de perfil de usuario a la tienda de forma asíncrona.
- Parámetros:
- user_id
str: identificador de usuario. - information
str: información de formato libre sobre el usuario. - metadata
dict[str, Any] | None: asignación de metadatos opcional almacenada en la fila del perfil de usuario.
- user_id
- Devoluciones: identificador del perfil de usuario almacenado.
- Tipo de devolución: str
Notas
Los registros de perfil de usuario se almacenan en el almacén de nivel de cliente y se anula el ámbito intencionalmente. El identificador de registro devuelto es el mismo identificador público que la aplicación utiliza como user_id.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
asyncio.run(client.add_user_async(
"u1",
"Prefers concise answers.",
metadata={"source": "crm"},
))
'u1'
método close
Cierre el componente de memoria del agente.
El cierre deja de aceptar nuevo trabajo en segundo plano, incluida la extracción de memoria y la generación de descripciones de imágenes, y espera a que el trabajo pendiente termine hasta el timeout configurado. Si ese timeout caduca, close() devuelve incluso si algún trabajo aún no se ha finalizado. El método es idempotente.
- Parámetros: timeout
float | None: número máximo opcional de segundos para esperar a que finalice el trabajo en segundo plano aceptado. El valor por defecto es300. TransfieraNonepara esperar indefinidamente. - Tipo de devolución: ninguno
Ejemplos
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
schema_policy=SchemaPolicy.CREATE_IF_NECESSARY,
memory_extraction_config=MemoryExtractionConfig(extract_memories=False),
)
client.close()
method close_async (async)
Cierre de forma asíncrona el componente de memoria del agente.
Este método sigue el mismo comportamiento de cierre que close(). Si el timeout caduca, puede volver mientras el trabajo en segundo plano aún se está ejecutando.
- Parámetros: timeout
float | None: número máximo opcional de segundos para esperar a que finalice el trabajo en segundo plano aceptado. El valor por defecto es300. TransfieraNonepara esperar indefinidamente. - Tipo de devolución: ninguno
Ejemplos
import asyncio
asyncio.run(client.close_async())
método create_thread
Cree y registre un thread.
- Parámetros:
- thread_id
str: identificador de thread. Si se omite, se genera uno nuevo. - user_id
str: identificador de usuario adjunto a este registro de thread. Si se omite y la conexión a la base de datos lleva un contexto de seguridad de usuario final, se utiliza el nombre de usuario de ese contexto. De lo contrario, se genera un nuevo identificador. - agent_id
str: identificador de agente asociado a este registro de thread. Si se omite, se genera uno nuevo. - metadata
dict[str, Any] | None: los metadatos opcionales similares a JSON se mantienen con el thread de conversación. - LLM
ILlm: sustitución de LLM opcional para este thread. Si se omite, se utiliza el LLM de nivel de cliente configurado en el momento de la construcción. Por defecto, el cliente o el thread deben proporcionar un LLM para que se pueda ejecutar la extracción automática de memoria. Configurememory_extraction_config=MemoryExtractionConfig(extract_memories=False)aquí o en el cliente para excluirse de ese requisito. - max_message_token_length
int: tamaño máximo de mensaje de tiempo de petición de datos antes del truncamiento o el resumen durante la extracción de memoria y las actualizaciones de resumen de contexto. El contenido del mensaje almacenado permanece sin cambios. Cuando se omite, el valor por defecto es15_000tokens. - message_shortening_input_token_limit
int: tamaño máximo, en tokens, del extracto de mensaje enviado al LLM al acortar las copias de mensajes de tiempo de petición de datos de gran tamaño. Cuando se omite, el valor por defecto es30_000tokens. - memory_extraction_config
MemoryExtractionConfig: configuración opcional de extracción de memoria por thread. Los campos proporcionados sustituyen la configuración del cliente. El contexto de imagen omitida utiliza el valor de cliente y, a continuación,DISABLED. La configuración resuelta se almacena con el thread para que las cargas posteriores conserven el comportamiento de tiempo de creación. - image_input_limit_config
ImageInputLimitConfig: límites opcionales de imagen sin formato por subproceso y solicitud de imagen del LLM. Los campos omitidos heredan de la configuración del cliente. Los límites resueltos se almacenan con el thread. - search_config
MemorySearchConfig: configuración de búsqueda opcional para el subproceso. Cuando se omite, se utiliza la configuración de nivel de cliente. - context_card_token_limit
int: presupuesto máximo de token de entrada para la petición de datos del LLM que se utiliza para crear el resumen y la lista de temas incluidos en la tarjeta de contexto. Cuando se omite, el valor por defecto es100_000. - context_card_type_search_concurrency
int: número máximo de búsquedas de registros similares a la memoria que se deben ejecutar simultáneamente al crear una tarjeta contextual conmin_relevant_results_by_type. Cuando se omite, el valor por defecto es5. -
extract_memories
bool:Sustitución opcional por subproceso para la extracción automática de memoria. Cuando
True, este thread necesita un LLM para que se pueda ejecutar la extracción automática. Defina esta opción enFalsepara desactivar la extracción automática para este thread y permitir la operación sin un LLM. Cuando se omite, se utiliza el valorextract_memoriesde nivel de cliente.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_window
int:Número de mensajes recientes que se van a incluir durante la extracción de memoria. Defina esta opción en
-1para realizar una extracción por llamadaadd_messagesmediante el lote completo de mensajes recién agregados. Cuando se omite, el valor por defecto es-1.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
context_summary_update_frequency:
intNúmero de mensajes después del último resumen válido antes de refrescarlo automáticamente. Cuando la extracción de memoria está activada, la comprobación se realiza después de cada extracción pendiente, por lo que el refrescamiento se puede producir más tarde. Valores inferiores o iguales al refrescamiento de
0en cada ticket. Cuando se omite, el valor por defecto es-1.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_frequency:
int.Frecuencia de actualizaciones de extracción de memoria. Defina esta opción en
-1para realizar una extracción por llamadaadd_messagesmediante el lote completo de mensajes recién agregados. Cuando se omite, el valor por defecto es-1.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_token_limit
int:Tamaño máximo, en tokens, de las peticiones de datos del LLM utilizadas para la extracción de memoria y la ejecución de actualizaciones de resumen. Cuando se omite, el valor por defecto es
100_000.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_custom_instructions
str:Instrucciones personalizadas opcionales agregadas a la petición de datos del sistema de extracción de memoria para este thread. Cuando se proporciona, el valor resuelto se mantiene con la configuración de tiempo de ejecución de thread.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_inherit_message_metadata
bool | Sequence[str]:Sustitución opcional por subproceso para metadatos copiados de mensajes de origen en memorias extraídas automáticamente.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
enable_context_summary
bool:Si se debe mantener un resumen de contexto en ejecución para este thread.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. - **kwargs (cualquiera): opciones de subprocesos adicionales específicas de la implementación.
- thread_id
- Devuelve: una instancia
OracleThread. - Tipo de retorno: OracleThread
- Incidencias: ValueError: si no hay ningún LLM disponible para la extracción automática de memoria y el thread y el cliente no se han configurado con
memory_extraction_config=MemoryExtractionConfig(extract_memories=False).
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
thread = client.create_thread(thread_id="c1", user_id="u1")
thread.thread_id
'c1'
method create_thread_async (async)
Cree y registre un subproceso de forma asíncrona.
- Parámetros:
- thread_id
str: identificador de thread. Si se omite, se genera uno nuevo. - user_id
str: identificador de usuario adjunto a este registro de thread. Si se omite y la conexión a la base de datos lleva un contexto de seguridad de usuario final, se utiliza el nombre de usuario de ese contexto. De lo contrario, se genera un nuevo identificador. - agent_id
str: identificador de agente asociado a este registro de thread. Si se omite, se genera uno nuevo. - metadata
dict[str, Any] | None: los metadatos opcionales similares a JSON se mantienen con el thread de conversación. - LLM
ILlm: sustitución de LLM opcional para este thread. Si se omite, se utiliza el LLM de nivel de cliente configurado en el momento de la construcción. Por defecto, el cliente o el thread deben proporcionar un LLM para que se pueda ejecutar la extracción automática de memoria. Configurememory_extraction_config=MemoryExtractionConfig(extract_memories=False)aquí o en el cliente para excluirse de ese requisito. - max_message_token_length
int: tamaño máximo de mensaje de tiempo de petición de datos antes del truncamiento o el resumen durante la extracción de memoria y las actualizaciones de resumen de contexto. El contenido del mensaje almacenado permanece sin cambios. Cuando se omite, el valor por defecto es15_000tokens. - message_shortening_input_token_limit
int: tamaño máximo, en tokens, del extracto de mensaje enviado al LLM al acortar las copias de mensajes de tiempo de petición de datos de gran tamaño. Cuando se omite, el valor por defecto es30_000tokens. - memory_extraction_config
MemoryExtractionConfig: configuración opcional de extracción de memoria por thread. Los campos proporcionados sustituyen la configuración del cliente. El contexto de imagen omitida utiliza el valor de cliente y, a continuación,DISABLED. La configuración resuelta se almacena con el thread para que las cargas posteriores conserven el comportamiento de tiempo de creación. - image_input_limit_config
ImageInputLimitConfig: límites opcionales de imagen sin formato por subproceso y solicitud de imagen del LLM. Los campos omitidos heredan de la configuración del cliente. Los límites resueltos se almacenan con el thread. - search_config
MemorySearchConfig: configuración de búsqueda opcional para el subproceso. Cuando se omite, se utiliza la configuración de nivel de cliente. - context_card_token_limit
int: presupuesto máximo de token de entrada para la petición de datos del LLM que se utiliza para crear el resumen y la lista de temas incluidos en la tarjeta de contexto. Cuando se omite, el valor por defecto es100_000. - context_card_type_search_concurrency
int: número máximo de búsquedas de registros similares a la memoria que se deben ejecutar simultáneamente al crear una tarjeta contextual conmin_relevant_results_by_type. Cuando se omite, el valor por defecto es5. -
extract_memories
bool:Sustitución opcional por subproceso para la extracción automática de memoria. Cuando
True, este thread necesita un LLM para que se pueda ejecutar la extracción automática. Defina esta opción enFalsepara desactivar la extracción automática para este thread y permitir la operación sin un LLM. Cuando se omite, se utiliza el valorextract_memoriesde nivel de cliente.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_window
int:Número de mensajes recientes que se van a incluir durante la extracción de memoria. Defina esta opción en
-1para realizar una extracción por llamadaadd_messagesmediante el lote completo de mensajes recién agregados. Cuando se omite, el valor por defecto es-1.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
context_summary_update_frequency:
intNúmero de mensajes después del último resumen válido antes de refrescarlo automáticamente. Cuando la extracción de memoria está activada, la comprobación se realiza después de cada extracción pendiente, por lo que el refrescamiento se puede producir más tarde. Valores inferiores o iguales al refrescamiento de
0en cada ticket. Cuando se omite, el valor por defecto es-1.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_frequency:
int.Frecuencia de actualizaciones de extracción de memoria. Defina esta opción en
-1para realizar una extracción por llamadaadd_messagesmediante el lote completo de mensajes recién agregados. Cuando se omite, el valor por defecto es-1.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_token_limit
int:Tamaño máximo, en tokens, de las peticiones de datos del LLM utilizadas para la extracción de memoria y la ejecución de actualizaciones de resumen. Cuando se omite, el valor por defecto es
100_000.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_custom_instructions
str:Instrucciones personalizadas opcionales agregadas a la petición de datos del sistema de extracción de memoria para este thread. Cuando se proporciona, el valor resuelto se mantiene con la configuración de tiempo de ejecución de thread.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_inherit_message_metadata
bool | Sequence[str]:Sustitución opcional por subproceso para metadatos copiados de mensajes de origen en memorias extraídas automáticamente.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
enable_context_summary
bool:Si se debe mantener un resumen de contexto en ejecución para este thread.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. - **kwargs (cualquiera): opciones de subprocesos adicionales específicas de la implementación.
- thread_id
- Devuelve: una instancia
OracleThread. - Tipo de retorno: OracleThread
- Incidencias: ValueError: si no hay ningún LLM disponible para la extracción automática de memoria y el thread y el cliente no se han configurado con
memory_extraction_config=MemoryExtractionConfig(extract_memories=False).
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
thread = asyncio.run(client.create_thread_async(
thread_id="c1", user_id="u1"
))
thread.thread_id
'c1'
método delete_agent
Suprimir un registro de perfil de agente por identificador.
- Parámetros:
- agent_id
str: identificador de agente cuyo perfil se debe eliminar. - cascade
bool: cuandoTrue(valor por defecto), también se suprimen registros con ámbito para este agente. Esto incluye la eliminación de los propios hilos, los mensajes y los registros similares a la memoria eliminados con esos hilos, y cualquier resto de registros directamente de ámbito de agente, como mensajes, recuerdos, directrices, hechos o preferencias. Esta limpieza en el ámbito se sigue ejecutando cuando la fila de perfil de agente coincidente ya está ausente. Establézcalo enFalsepara eliminar solo el registro de perfil.
- agent_id
- Devoluciones: número de filas de perfil de agente suprimidas (
0o1). Esto puede seguir siendo0cuando se eliminaron filas de ámbito durante la limpieza en cascada. - Tipo de devolución: int
- Problemas: TimeoutError: se genera cuando la extracción en segundo plano aceptada anteriormente para threads ya conocidos en propiedad no finaliza antes del timeout de espera de supresión interna.
Notas
Antes de suprimir el perfil, este método espera hasta 300 segundos para la extracción en segundo plano anterior ya aceptada para threads propios conocidos mediante este componente de memoria de agente. Esta espera se aplica tanto si la limpieza en cascada está activada como si no. La limpieza en cascada se planifica y ejecuta dentro de la tienda de respaldo como una sola operación. El método no espera a que se acepte el trabajo después de que comience la espera o al trabajo iniciado por otro componente o proceso de memoria de agente. El uso simultáneo de ámbito de actor mientras la supresión está en curso no está soportado.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_agent("a-delete", "Support assistant")
'a-delete'
client.delete_agent("a-delete")
1
method delete_agent_async (async)
Suprimir un registro de perfil de agente por identificador de forma asíncrona.
- Parámetros:
- agent_id
str: identificador de agente cuyo perfil se debe eliminar. - cascade
bool: cuandoTrue(valor por defecto), también se suprimen registros con ámbito para este agente. Esto incluye la eliminación de los propios hilos, los mensajes y los registros similares a la memoria eliminados con esos hilos, y cualquier resto de registros directamente de ámbito de agente, como mensajes, recuerdos, directrices, hechos o preferencias. Esta limpieza en el ámbito se sigue ejecutando cuando la fila de perfil de agente coincidente ya está ausente. Establézcalo enFalsepara eliminar solo el registro de perfil.
- agent_id
- Devoluciones: número de filas de perfil de agente suprimidas (
0o1). Esto puede seguir siendo0cuando se eliminaron filas de ámbito durante la limpieza en cascada. - Tipo de devolución: int
- Incidencias: TimeoutError: se genera sin suprimir el perfil cuando la extracción en segundo plano aceptada anteriormente para threads propios conocidos no finaliza en 300 segundos.
Notas
Este método sigue el comportamiento de simultaneidad y espera de extracción en segundo plano documentado por delete_agent().
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
asyncio.run(client.add_agent_async("a-delete", "Support assistant"))
'a-delete'
asyncio.run(client.delete_agent_async("a-delete"))
1
método delete_image
Eliminar un registro de imagen por identificador.
- Parámetros: image_id
str: identificador del registro de imagen que se va a eliminar. - Devoluciones: número de registros de imagen eliminados.
- Tipo de devolución: int
- Elevaciones: ValueError: si la imagen está asociada a un mensaje. Suprima o actualice el mensaje principal.
method delete_image_async (async)
Suprima una imagen independiente a través del almacén configurado.
- Parámetros: image_id
str: identificador de la imagen que se va a suprimir. - Devoluciones:
1cuando se suprime; de lo contrario,0cuando no existe ninguna imagen coincidente. - Tipo de devolución: int
- Elevaciones: ValueError: si la imagen está asociada a un mensaje. Suprima o actualice el mensaje principal.
método delete_memory
Eliminar un registro similar a la memoria (por ejemplo, una memoria, un hecho, una preferencia o una directriz) por identificador.
- Parámetros: memory_id
str: identificador de memoria. El identificador puede hacer referencia a un registromemory,guideline,factopreferencealmacenado. - Devoluciones: número de filas similares a la memoria suprimidas (
0o1). - Tipo de devolución: int
- Problemas: TimeoutError: se genera sin eliminar el registro cuando la extracción en segundo plano aceptada anteriormente para el subproceso almacenado no termina en 300 segundos.
Notas
Antes de suprimir un registro de ámbito de thread, este método resuelve el thread almacenado y espera a que se acepte una extracción en segundo plano anterior mediante este componente de memoria de agente. No espera a threads no relacionados, trabajo aceptado después de que comience la espera o trabajo iniciado por otro componente o proceso de memoria de agente. Los registros sin un ámbito de thread ni identificadores desconocidos no provocan una espera de extracción.
Ejemplos
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
memory_id = client.add_memory("Temporary memory", memory_id="mem-delete")
client.delete_memory(memory_id)
1
method delete_memory_async (async)
Eliminar un registro similar a la memoria de forma asíncrona.
- Parámetros: memory_id
str: identificador de memoria. El identificador puede hacer referencia a un registromemory,guideline,factopreferencealmacenado. - Devoluciones: número de filas similares a la memoria suprimidas (
0o1). - Tipo de devolución: int
- Problemas: TimeoutError: se genera sin eliminar el registro cuando la extracción en segundo plano aceptada anteriormente para el subproceso almacenado no termina en 300 segundos.
Notas
Este método sigue el comportamiento de simultaneidad y espera de extracción en segundo plano documentado por delete_memory().
Ejemplos
import asyncio
memory_id = asyncio.run(client.add_memory_async(
"Temporary memory", memory_id="mem-delete"
))
asyncio.run(client.delete_memory_async(memory_id))
1
método delete_record_link
Suprima una relación por identificador o tupla de punto final completa.
Cuando no se proporciona relation_id, proporcione todos los argumentos de origen, destino, tipo y etiqueta de relación en la orientación de origen a destino almacenada.
- Parámetros:
- source_record_id
str: identificador de origen al seleccionar por tupla de punto final. - source_record_type
str: tipo de registro de origen lógico al seleccionar por tupla de punto final. - target_record_id
str: identificador de destino al seleccionar por tupla de punto final. - target_record_type
str: tipo de registro de destino lógico al seleccionar por tupla de punto final. - relation_type
str: etiqueta de origen a destino al seleccionar por tupla de punto final. - relation_id
str: identificador de relación que se debe seleccionar directamente. Proporcione esto solo.
- source_record_id
- Devoluciones: número de relaciones suprimidas, ya sea
0o1. - Tipo de devolución: int
Ejemplos
client.delete_record_link(relation_id="relation-id")
1
method delete_record_link_async (async)
Suprima de forma asíncrona una relación por ID o tupla de punto final completa.
- Parámetros:
- source_record_id
str - source_record_type
str - target_record_id
str - target_record_type
str - tipo_relación
str - ID_relación
str
- source_record_id
- Tipo de devolución: int
método delete_thread
Suprimir todos los registros asociados a un identificador de thread.
- Parámetros: thread_id
str: identificador de thread para suprimir. - Devoluciones: número de threads de conversación suprimidos (
0o1). - Tipo de devolución: int
- Problemas: TimeoutError: se genera cuando la extracción en segundo plano aceptada anteriormente para este thread no finaliza antes del timeout de espera de supresión interna.
Notas
Utilice esta operación cuando necesite la eliminación completa de retención de un thread. El almacén de copia de seguridad suprime el thread junto con los mensajes de ámbito de thread asociados, las memorias duraderas y los datos de recuperación gestionados. Esto difiere de OracleThread.delete_message(), que elimina solo el registro de mensaje sin formato y no se aplica en cascada a las memorias derivadas creadas a partir de ese mensaje. Antes de suprimir el thread, este método espera la extracción en segundo plano anterior ya aceptada para ese thread a través de este componente de memoria de agente. No espera a que se acepte el trabajo en segundo plano después de que comience esa espera o al trabajo iniciado por otro componente o proceso de memoria de agente. No se soporta el uso simultáneo del mismo thread mientras la supresión está en curso.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
thread = client.create_thread(thread_id="c-delete")
client.delete_thread(thread.thread_id)
1
method delete_thread_async (async)
Suprimir todos los registros asociados a un identificador de thread de forma asíncrona.
- Parámetros: thread_id
str: identificador de thread para suprimir. - Devoluciones: número de threads de conversación suprimidos (
0o1). - Tipo de devolución: int
- Problemas: TimeoutError: se genera cuando la extracción en segundo plano aceptada anteriormente para este thread no finaliza antes del timeout de espera de supresión interna.
Notas
Utilice esta operación cuando necesite la eliminación completa de retención de un thread. El almacén de copia de seguridad suprime el thread junto con los mensajes de ámbito de thread asociados, las memorias duraderas y los datos de recuperación gestionados. Esto difiere de OracleThread.delete_message(), que elimina solo el registro de mensaje sin formato y no se aplica en cascada a las memorias derivadas creadas a partir de ese mensaje. Antes de suprimir el thread, este método espera la extracción en segundo plano anterior ya aceptada para ese thread a través de este componente de memoria de agente. No espera a que se acepte el trabajo en segundo plano después de que comience esa espera o al trabajo iniciado por otro componente o proceso de memoria de agente. No se soporta el uso simultáneo del mismo thread mientras la supresión está en curso.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
thread = asyncio.run(client.create_thread_async(thread_id="c-delete"))
asyncio.run(client.delete_thread_async(thread.thread_id))
1
método delete_user
Suprimir un registro de perfil de usuario por identificador.
- Parámetros:
- user_id
str: identificador de usuario cuyo perfil se debe eliminar. - cascade
bool: cuandoTrue(predeterminado), también se suprimen registros con ámbito para este usuario. Esto incluye la eliminación de los propios hilos, los mensajes y los registros similares a la memoria eliminados con esos hilos, y cualquier registro de ámbito de usuario que quede directamente, como mensajes, recuerdos, directrices, hechos o preferencias. Esta limpieza de ámbito se sigue ejecutando cuando la fila de perfil de usuario coincidente ya está ausente. Establézcalo enFalsepara eliminar solo el registro de perfil.
- user_id
- Devoluciones: número de filas de perfil de usuario suprimidas (
0o1). Esto puede seguir siendo0cuando se eliminaron filas de ámbito durante la limpieza en cascada. - Tipo de devolución: int
- Problemas: TimeoutError: se genera cuando la extracción en segundo plano aceptada anteriormente para threads ya conocidos en propiedad no finaliza antes del timeout de espera de supresión interna.
Notas
Antes de suprimir el perfil, este método espera hasta 300 segundos para la extracción en segundo plano anterior ya aceptada para threads propios conocidos mediante este componente de memoria de agente. Esta espera se aplica tanto si la limpieza en cascada está activada como si no. La limpieza en cascada se planifica y ejecuta dentro de la tienda de respaldo como una sola operación. El método no espera a que se acepte el trabajo después de que comience la espera o al trabajo iniciado por otro componente o proceso de memoria de agente. El uso simultáneo de ámbito de actor mientras la supresión está en curso no está soportado.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_user("u-delete", "Prefers concise answers.")
'u-delete'
client.delete_user("u-delete")
1
method delete_user_async (async)
Suprimir un registro de perfil de usuario por identificador de forma asíncrona.
- Parámetros:
- user_id
str: identificador de usuario cuyo perfil se debe eliminar. - cascade
bool: cuandoTrue(predeterminado), también se suprimen registros con ámbito para este usuario. Esto incluye la eliminación de los propios hilos, los mensajes y los registros similares a la memoria eliminados con esos hilos, y cualquier registro de ámbito de usuario que quede directamente, como mensajes, recuerdos, directrices, hechos o preferencias. Esta limpieza de ámbito se sigue ejecutando cuando la fila de perfil de usuario coincidente ya está ausente. Establézcalo enFalsepara eliminar solo el registro de perfil.
- user_id
- Devoluciones: número de filas de perfil de usuario suprimidas (
0o1). Esto puede seguir siendo0cuando se eliminaron filas de ámbito durante la limpieza en cascada. - Tipo de devolución: int
- Incidencias: TimeoutError: se genera sin suprimir el perfil cuando la extracción en segundo plano aceptada anteriormente para threads propios conocidos no finaliza en 300 segundos.
Notas
Este método sigue el comportamiento de simultaneidad y espera de extracción en segundo plano documentado por delete_user().
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
asyncio.run(client.add_user_async("u-delete", "Prefers concise answers."))
'u-delete'
asyncio.run(client.delete_user_async("u-delete"))
1
método get_thread
Recuperar un subproceso creado anteriormente.
- Parámetros:
- thread_id
str: identificador que se utiliza al crear el thread. - LLM
ILlm: sustitución de LLM opcional para el subproceso reabierto. Cuando se omite, se utiliza el LLM de nivel de cliente configurado en el momento de la construcción. - max_message_token_length
int: sustitución opcional para el tamaño máximo de mensaje de tiempo de petición de datos antes del truncamiento o el resumen durante la extracción de memoria y las actualizaciones de resumen de contexto. El contenido del mensaje almacenado permanece sin cambios. - message_shortening_input_token_limit
int: sustitución opcional para el tamaño máximo, en tokens, del extracto de mensaje enviado al LLM al acortar las copias de mensajes de tiempo de petición de datos de gran tamaño. - memory_extraction_config
MemoryExtractionConfig: configuración de extracción agrupada opcional para la instanciaOracleThreaddevuelta. Los campos proporcionados sustituyen los valores de thread guardados. Un contexto de imagen omitido utiliza el valor de thread guardado, el valor de cliente y, a continuación,DISABLED. La sustitución solo se aplica a la instanciaOracleThreaddevuelta y no se vuelve a escribir en la configuración del thread de conversación almacenada. - image_input_limit_config
ImageInputLimitConfig: imagen sin formato opcional y sustitución de límite de solicitud de imagen de LLM. Los campos omitidos heredan los límites de thread almacenados. Esta sustitución solo se aplica al thread devuelto y no se mantiene. - search_config
MemorySearchConfig: configuración de búsqueda opcional para elOracleThreaddevuelto. Cuando se omite, se utiliza la configuración almacenada o a nivel de cliente. Esta sustitución sólo se aplica al thread devuelto. - context_card_token_limit
int: sustitución opcional para la instanciaOracleThreaddevuelta. Define el presupuesto de token de entrada de la petición de datos del LLM utilizada para crear el resumen y la lista de temas incluidos en la tarjeta de contexto. - context_card_type_search_concurrency
int: sustitución opcional para la instanciaOracleThreaddevuelta. Define el número de búsquedas de registros similares a la memoria para que se ejecuten simultáneamente al crear una tarjeta contextual conmin_relevant_results_by_type. -
extract_memories
bool:Sustitución opcional para la extracción automática de memoria en el thread reabierto. Cuando se omite, se utiliza el valor
extract_memoriesde nivel de cliente.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_window
int:Sustitución opcional para el número de mensajes recientes utilizados durante la extracción de memoria.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
context_summary_update_frequency:
intSustitución opcional para los mensajes después del último resumen válido antes del refrescamiento automático.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_frequency:
int.Sustitución opcional para la frecuencia de las actualizaciones de extracción de memoria.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_token_limit
int:Sustitución opcional para el tamaño máximo, en tokens, de las peticiones de datos de LLM utilizadas para la extracción de memoria y la ejecución de actualizaciones de resumen.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_custom_instructions
str | None:Sustitución opcional para instrucciones de extracción de memoria personalizadas. Si se transfiere
None, se borran las instrucciones personalizadas de nivel de thread para la instanciaOracleThreaddevuelta sin actualizar la configuración del thread de conversación almacenada; se sigue aplicando un valor por defecto de nivel de cliente cuando se configura.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_inherit_message_metadata
bool | Sequence[str]:Sustitución opcional para metadatos copiados de mensajes de origen en memorias extraídas automáticamente. La sustitución solo se aplica a la instancia
OracleThreaddevuelta.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
enable_context_summary
bool:Sustitución opcional para determinar si el thread reabierto debe mantener un resumen de contexto en ejecución.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar.
- thread_id
- Devoluciones: instancia
OracleThreadreconstruida a partir de los metadatos del almacén. - Tipo de retorno: OracleThread
- Incrementos:
- KeyError: si el ID de subproceso es desconocido para esta instancia de cliente.
- ValueError: si no hay ningún LLM disponible para la extracción automática de memoria y el cliente no se configuró con
memory_extraction_config=MemoryExtractionConfig(extract_memories=False).
Notas
Las sustituciones explícitas por llamada tienen prioridad. Cuando se omiten las sustituciones de tiempo de ejecución, los threads reabiertos utilizan la configuración de tiempo de ejecución persistente cuando está disponible antes de volver a los valores por defecto del SDK.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
created = client.create_thread(thread_id="c2", user_id="u1")
loaded = client.get_thread("c2")
loaded.user_id
'u1'
method get_thread_async (async)
Recuperar un subproceso creado previamente de forma asíncrona.
- Parámetros:
- thread_id
str: identificador que se utiliza al crear el thread. - LLM
ILlm: sustitución de LLM opcional para el subproceso reabierto. Cuando se omite, se utiliza el LLM de nivel de cliente configurado en el momento de la construcción. - max_message_token_length
int: sustitución opcional para el tamaño máximo de mensaje de tiempo de petición de datos antes del truncamiento o el resumen durante la extracción de memoria y las actualizaciones de resumen de contexto. El contenido del mensaje almacenado permanece sin cambios. - message_shortening_input_token_limit
int: sustitución opcional para el tamaño máximo, en tokens, del extracto de mensaje enviado al LLM al acortar las copias de mensajes de tiempo de petición de datos de gran tamaño. - memory_extraction_config
MemoryExtractionConfig: configuración de extracción agrupada opcional para la instanciaOracleThreaddevuelta. Los campos proporcionados sustituyen los valores de thread guardados. Un contexto de imagen omitido utiliza el valor de thread guardado, el valor de cliente y, a continuación,DISABLED. La sustitución solo se aplica a la instanciaOracleThreaddevuelta y no se vuelve a escribir en la configuración del thread de conversación almacenada. - image_input_limit_config
ImageInputLimitConfig: imagen sin formato opcional y sustitución de límite de solicitud de imagen de LLM. Los campos omitidos heredan los límites de thread almacenados. Esta sustitución solo se aplica al thread devuelto y no se mantiene. - search_config
MemorySearchConfig: configuración de búsqueda opcional para elOracleThreaddevuelto. Cuando se omite, se utiliza la configuración almacenada o a nivel de cliente. Esta sustitución sólo se aplica al thread devuelto. - context_card_token_limit
int: sustitución opcional para la instanciaOracleThreaddevuelta. Define el presupuesto de token de entrada de la petición de datos del LLM utilizada para crear el resumen y la lista de temas incluidos en la tarjeta de contexto. - context_card_type_search_concurrency
int: sustitución opcional para la instanciaOracleThreaddevuelta. Define el número de búsquedas de registros similares a la memoria para que se ejecuten simultáneamente al crear una tarjeta contextual conmin_relevant_results_by_type. -
extract_memories
bool:Sustitución opcional para la extracción automática de memoria en el thread reabierto. Cuando se omite, se utiliza el valor
extract_memoriesde nivel de cliente.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_window
int:Sustitución opcional para el número de mensajes recientes utilizados durante la extracción de memoria.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
context_summary_update_frequency:
intSustitución opcional para los mensajes después del último resumen válido antes del refrescamiento automático.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_frequency:
int.Sustitución opcional para la frecuencia de las actualizaciones de extracción de memoria.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_token_limit
int:Sustitución opcional para el tamaño máximo, en tokens, de las peticiones de datos de LLM utilizadas para la extracción de memoria y la ejecución de actualizaciones de resumen.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_custom_instructions
str | None:Sustitución opcional para instrucciones de extracción de memoria personalizadas. Si se transfiere
None, se borran las instrucciones personalizadas de nivel de thread para la instanciaOracleThreaddevuelta sin actualizar la configuración del thread de conversación almacenada; se sigue aplicando un valor por defecto de nivel de cliente cuando se configura.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_inherit_message_metadata
bool | Sequence[str]:Sustitución opcional para metadatos copiados de mensajes de origen en memorias extraídas automáticamente. La sustitución solo se aplica a la instancia
OracleThreaddevuelta.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
enable_context_summary
bool:Sustitución opcional para determinar si el thread reabierto debe mantener un resumen de contexto en ejecución.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar.
- thread_id
- Devoluciones: instancia
OracleThreadreconstruida a partir de los metadatos del almacén. - Tipo de retorno: OracleThread
- Incrementos:
- KeyError: si el ID de subproceso es desconocido para esta instancia de cliente.
- ValueError: si no hay ningún LLM disponible para la extracción automática de memoria y el cliente no se configuró con
memory_extraction_config=MemoryExtractionConfig(extract_memories=False).
Notas
Las sustituciones explícitas por llamada tienen prioridad. Cuando se omiten las sustituciones de tiempo de ejecución, los threads reabiertos utilizan la configuración de tiempo de ejecución persistente cuando está disponible antes de volver a los valores por defecto del SDK.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
import asyncio
created = asyncio.run(client.create_thread_async(
thread_id="c2", user_id="u1"
))
loaded = asyncio.run(client.get_thread_async("c2"))
loaded.user_id
'u1'
método link_records
Cree una relación dirigida entre dos registros almacenados.
Actualmente, ambos puntos finales deben ser registros similares a la memoria: "memory", "fact", "guideline" o "preference". Los tipos de relación incorporados son "supersedes" ("is_superseded_by"), "contradicts", "refines" ("is_refined_by"), "supports" ("is_supported_by") y "duplicates". "contradicts" y "duplicates" utilizan la misma etiqueta a la inversa.
Solo se puede almacenar una orientación para un par de puntos finales. opposite_relation_type nombra la relación al recorrer de destino a origen. Por ejemplo, si new "supersedes" old, el recorrido inverso es old "is_superseded_by" new.
- Parámetros:
- source_record_id
str: identificador del registro de origen. - source_record_type
str: tipo lógico del registro de origen. - target_record_id
str: identificador del registro de destino. - target_record_type
str: tipo lógico del registro de destino. - relation_type
str: etiqueta en la dirección de origen a destino. - opposite_relation_type
str: etiqueta opcional que se usa al recorrer esta relación a la inversa. Para los tipos de relación de memoria incorporados, omita esta opción para almacenar la etiqueta inversa predefinida (por ejemplo,"supports"se convierte en"is_supported_by"). Para los tipos de relación personalizados, la omisión utiliza la misma etiqueta en ambas direcciones. - relation_id
str: identificador de relación estable opcional. Omitirlo para generar uno. - timestamp
str | None: registro de hora opcional asociado con la relación. - metadata
dict[str, Any] | None: metadatos opcionales almacenados en la relación.
- source_record_id
- Devoluciones: identificador de la relación creada.
- Tipo de devolución: str
Ejemplos
client.link_records(
"fact-1", "fact", "memory-1", "memory", "supports"
)
'relation-id'
method link_records_async (async)
Cree de forma asíncrona una relación escrita entre los registros almacenados.
Actualmente, ambos puntos finales deben ser registros similares a la memoria: "memory", "fact", "guideline" o "preference". Los tipos de relación incorporados son "supersedes" ("is_superseded_by"), "contradicts", "refines" ("is_refined_by"), "supports" ("is_supported_by") y "duplicates". "contradicts" y "duplicates" utilizan la misma etiqueta a la inversa.
- Parámetros:
- source_record_id
str - source_record_type
str - target_record_id
str - target_record_type
str - tipo_relación
str - opposite_relation_type
str - ID_relación
str - registro de hora
str | None - metadatos
dict[str, Any] | None
- source_record_id
- Tipo de devolución: str
método list_agents
Enumere los registros de perfil de agente persistentes.
- Parámetros:
- metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del perfil de agente. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los perfiles sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- metadata_filter
- Devoluciones: registros de perfil de agente devueltos por el almacén de copia de seguridad.
- Tipo de devolución: list[AgentProfileRecord]
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_agent("a1", "Support assistant", metadata={"source": "catalog"})
'a1'
[record.id for record in client.list_agents(metadata_filter={"source": "catalog"})]
['a1']
method list_agents_async (async)
Enumere los registros de perfil de agente persistentes de forma asíncrona.
- Parámetros:
- metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del perfil de agente. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los perfiles sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- metadata_filter
- Devoluciones: registros de perfil de agente devueltos por el almacén de copia de seguridad.
- Tipo de devolución: list[AgentProfileRecord]
Ejemplos
import anyio
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
async def main():
await client.add_agent_async(
"a1",
"Support assistant",
metadata={"source": "catalog"},
)
records = await client.list_agents_async(metadata_filter={"source": "catalog"})
return [record.id for record in records]
anyio.run(main)
['a1']
método list_images
Mostrar registros de imágenes independientes persistentes.
- Parámetros:
- image_id
str: identificador de imagen opcional que se utiliza para limitar los registros devueltos por el almacén de copia de seguridad. Cuando se omite, no se aplica ningún filtro de identificador. El filtro de identificador se aplica antes quelimit. - user_id
str | None: filtro de usuario exacto opcional. Cuando se omite, se devuelven las imágenes de cualquier usuario. TransfieraNonepara mostrar solo imágenes sin ámbito de usuario. Se necesita al menos un ámbito de usuario, agente o thread que no seaNone. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven las imágenes de cualquier agente. TransfieraNonepara mostrar solo las imágenes sin ámbito de agente. - thread_id
str | None: filtro de thread exacto opcional. Cuando se omite, se devuelven las imágenes de cualquier thread. TransfieraNonepara mostrar solo las imágenes sin ámbito de thread. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos de imagen. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo las imágenes sin metadatos almacenados. - include_bytes
bool: indica si se deben cargar bytes de imagen en cada registro devuelto. Cuando se omite oFalse, los bytes de imagen no se cargan. Defina esta opción enTruesolo con un filtro de ámbito de usuario, agente o threadimage_idy al menos un filtro de ámbito de thread exacto. - limit
int | None: número máximo opcional de registros solicitados desde el almacén de copia de seguridad. Cuando se omite, el almacén puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- image_id
- Devoluciones: registros de imágenes coincidentes ordenados por el almacén de copia de seguridad.
- Tipo de devolución: list[ImageRecord]
Ejemplos
images = client.list_images(user_id="u1", limit=10)
[image.id for image in images]
['img-1']
method list_images_async (async)
Mostrar registros de imágenes independientes persistentes de forma asíncrona.
- Parámetros:
- image_id
str: identificador de imagen opcional que se utiliza para limitar los registros devueltos por el almacén de copia de seguridad. Cuando se omite, no se aplica ningún filtro de identificador. El filtro de identificador se aplica antes quelimit. - user_id
str | None: filtro de usuario exacto opcional. Cuando se omite, se devuelven las imágenes de cualquier usuario. TransfieraNonepara mostrar solo imágenes sin ámbito de usuario. Se necesita al menos un ámbito de usuario, agente o thread que no seaNone. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven las imágenes de cualquier agente. TransfieraNonepara mostrar solo las imágenes sin ámbito de agente. - thread_id
str | None: filtro de thread exacto opcional. Cuando se omite, se devuelven las imágenes de cualquier thread. TransfieraNonepara mostrar solo las imágenes sin ámbito de thread. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos de imagen. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo las imágenes sin metadatos almacenados. - include_bytes
bool: indica si se deben cargar bytes de imagen en cada registro devuelto. Cuando se omite oFalse, los bytes de imagen no se cargan. Defina esta opción enTruesolo con un filtro de ámbito de usuario, agente o threadimage_idy al menos un filtro de ámbito de thread exacto. - limit
int | None: número máximo opcional de registros solicitados desde el almacén de copia de seguridad. Cuando se omite, el almacén puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- image_id
- Devoluciones: registros de imágenes coincidentes ordenados por el almacén de copia de seguridad.
- Tipo de devolución: list[ImageRecord]
Ejemplos
images = await client.list_images_async(
user_id="u1",
limit=10,
)
[image.id for image in images]
['img-1']
método list_memories
Enumere los registros similares a la memoria persistente.
- Parámetros:
- user_id
str | None: filtro de usuario exacto opcional. Cuando se omite, se devuelven los recuerdos de cualquier usuario. TransfieraNonepara mostrar solo las memorias sin ámbito de usuario. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven los recuerdos de cualquier agente. TransfieraNonepara mostrar solo las memorias sin ámbito de agente. - thread_id
str | None: filtro de thread exacto opcional. Cuando se omite, se devuelven los recuerdos de cualquier thread. TransfieraNonepara mostrar solo las memorias sin ámbito de thread. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos de memoria. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo las memorias sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- user_id
- Devoluciones: registros similares a memoria devueltos por el almacén de copia de seguridad, incluidos los registros
"memory","guideline","fact"y"preference". - Tipo de devolución: list[MemoryRecord]
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_memory("User likes pizza.", user_id="u1", memory_id="mem-1")
'mem-1'
[record.id for record in client.list_memories(user_id="u1", limit=10)]
['mem-1']
method list_memories_async (async)
Mostrar registros similares a memoria persistentes de forma asíncrona.
- Parámetros:
- user_id
str | None: filtro de usuario exacto opcional. Cuando se omite, se devuelven los recuerdos de cualquier usuario. TransfieraNonepara mostrar solo las memorias sin ámbito de usuario. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven los recuerdos de cualquier agente. TransfieraNonepara mostrar solo las memorias sin ámbito de agente. - thread_id
str | None: filtro de thread exacto opcional. Cuando se omite, se devuelven los recuerdos de cualquier thread. TransfieraNonepara mostrar solo las memorias sin ámbito de thread. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos de memoria. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo las memorias sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- user_id
- Devoluciones: registros similares a memoria devueltos por el almacén de copia de seguridad, incluidos los registros
"memory","guideline","fact"y"preference". - Tipo de devolución: list[MemoryRecord]
Ejemplos
import anyio
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
async def main():
await client.add_memory_async("User likes pizza.", user_id="u1", memory_id="mem-1")
records = await client.list_memories_async(user_id="u1", limit=10)
return [record.id for record in records]
anyio.run(main)
['mem-1']
método list_messages
Muestre los registros de mensajes de chat persistentes.
- Parámetros:
- user_id
str | None: filtro de usuario exacto opcional. Cuando se omite, se devuelven mensajes para cualquier usuario. TransfieraNonepara mostrar solo los mensajes sin ámbito de usuario. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven mensajes para cualquier agente. TransfieraNonepara mostrar solo los mensajes sin ámbito de agente. - thread_id
str | None: filtro de thread exacto opcional. Cuando se omite, se devuelven mensajes para cualquier thread. TransfieraNonepara mostrar solo los mensajes sin ámbito de thread. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del mensaje. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los mensajes sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite. - include_image_bytes
bool: indica si las partes de la imagen anexadas a los mensajes devueltos incluyen sus bytes almacenados. Cuando se omite oFalse, los metadatos de imagen asociados se devuelven sin cargar los bytes. Establecido enTruepara cargar los bytes.
- user_id
- Devoluciones: registros de mensajes devueltos por el almacén de copia de seguridad.
- Tipo de devolución: list[MessageRecord]
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
thread = client.create_thread(thread_id="c1", user_id="u1")
message_id = thread.add_messages([{"role": "user", "content": "Hello"}])[0]
[record.id for record in client.list_messages(thread_id="c1", limit=10)] == [message_id]
True
method list_messages_async (async)
Muestra los registros de mensajes de chat persistentes de forma asíncrona.
- Parámetros:
- user_id
str | None: filtro de usuario exacto opcional. Cuando se omite, se devuelven mensajes para cualquier usuario. TransfieraNonepara mostrar solo los mensajes sin ámbito de usuario. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven mensajes para cualquier agente. TransfieraNonepara mostrar solo los mensajes sin ámbito de agente. - thread_id
str | None: filtro de thread exacto opcional. Cuando se omite, se devuelven mensajes para cualquier thread. TransfieraNonepara mostrar solo los mensajes sin ámbito de thread. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del mensaje. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los mensajes sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite. - include_image_bytes
bool: indica si las partes de la imagen anexadas a los mensajes devueltos incluyen sus bytes almacenados. Cuando se omite oFalse, los metadatos de imagen asociados se devuelven sin cargar los bytes. Establecido enTruepara cargar los bytes.
- user_id
- Devoluciones: registros de mensajes devueltos por el almacén de copia de seguridad.
- Tipo de devolución: list[MessageRecord]
Ejemplos
import anyio
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
async def main():
thread = await client.create_thread_async(thread_id="c1", user_id="u1")
message_ids = await thread.add_messages_async(
[{"role": "user", "content": "Hello"}]
)
records = await client.list_messages_async(thread_id="c1", limit=10)
return [record.id for record in records] == message_ids
anyio.run(main)
True
método list_threads
Enumerar los hilos de conversación persistentes.
- Parámetros:
- user_id
str | None: filtro de usuario exacto necesario. TransfieraNonepara mostrar solo los threads sin ámbito de usuario. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven los threads de cualquier agente. TransfieraNonepara mostrar solo los threads sin ámbito de agente. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del thread. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los threads sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- user_id
- Devoluciones: registros de subprocesos devueltos por el almacén de respaldo.
- Tipo de valor devuelto: list[ThreadRecord]
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.create_thread(thread_id="c1", user_id="u1").thread_id
'c1'
[record.thread_id for record in client.list_threads(user_id="u1", limit=10)]
['c1']
method list_threads_async (async)
Enumerar los hilos de conversación persistentes de forma asíncrona.
- Parámetros:
- user_id
str | None: filtro de usuario exacto necesario. TransfieraNonepara mostrar solo los threads sin ámbito de usuario. - agent_id
str | None: filtro de agente exacto opcional. Cuando se omite, se devuelven los threads de cualquier agente. TransfieraNonepara mostrar solo los threads sin ámbito de agente. - metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del thread. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los threads sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- user_id
- Devoluciones: registros de subprocesos devueltos por el almacén de respaldo.
- Tipo de valor devuelto: list[ThreadRecord]
Ejemplos
import anyio
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
async def main():
await client.create_thread_async(thread_id="c1", user_id="u1")
records = await client.list_threads_async(user_id="u1", limit=10)
return [record.thread_id for record in records]
anyio.run(main)
['c1']
método list_users
Muestra los registros de perfil de usuario persistentes.
- Parámetros:
- metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del perfil de usuario. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los perfiles sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- metadata_filter
- Devoluciones: registros de perfil de usuario devueltos por el almacén de copia de seguridad.
- Tipo de devolución: list[UserProfileRecord]
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
client.add_user("u1", "Prefers concise answers.", metadata={"source": "crm"})
'u1'
[record.id for record in client.list_users(metadata_filter={"source": "crm"})]
['u1']
method list_users_async (async)
Mostrar registros de perfil de usuario persistentes de forma asíncrona.
- Parámetros:
- metadata_filter
dict[str, Any] | None: filtro de metadatos aplicado a los metadatos del perfil de usuario. Cuando se omite, no se aplica ningún filtro de metadatos. TransfieraNonepara mostrar solo los perfiles sin metadatos almacenados. - limit
int | None: número máximo opcional de registros que se deben devolver. Cuando se omite, el almacén de copia de seguridad puede aplicar su límite de lista por defecto. TransfieraNonepara desactivar ese límite.
- metadata_filter
- Devoluciones: registros de perfil de usuario devueltos por el almacén de copia de seguridad.
- Tipo de devolución: list[UserProfileRecord]
Ejemplos
import anyio
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
async def main():
await client.add_user_async(
"u1",
"Prefers concise answers.",
metadata={"source": "crm"},
)
records = await client.list_users_async(metadata_filter={"source": "crm"})
return [record.id for record in records]
anyio.run(main)
['u1']
método search
Búsqueda sincrónica de registros relevantes para una consulta.
- Parámetros:
- query
str: cadena de consulta en lenguaje natural. - user_id
str | None: filtro de identificador de usuario. Las búsquedas de cliente OracleAgentMemory necesitan un ámbito de usuario explícito, a menos que se proporcionescopecon uno. Transfiera unuser_idconcreto al destino de ese usuario o transfieraNonesolo a los registros de usuario sin ámbito de destino. - agent_id
str | None: filtro de identificador de agente opcional. Se ignora cuando se proporcionascope. - thread_id
str | None: filtro de identificador de subprocesos opcional. Se ignora cuando se proporcionascope. - exact_user_match
bool: indica si la coincidencia de usuarios debe ser estricta. Las búsquedas del cliente OracleAgentMemory necesitan una coincidencia de usuario exacta y rechazanFalse. Se ignora cuando se proporcionascope. - exact_agent_match
bool: indica si la coincidencia de agentes debe ser estricta. Se ignora cuando se proporcionascope. - exact_thread_match
bool: si la coincidencia de subprocesos debe ser estricta. Se ignora cuando se proporcionascope. - max_results
int: número máximo opcional de resultados para devolver. Cuando se proporciona, debe ser al menos1. La omisión de este argumento utiliza el valor por defecto de10. Este es un límite superior: la llamada puede devolver menos demax_resultsresultados cuando los filtros son demasiado restrictivos, cuando existen menos registros coincidentes no vencidos o debido al comportamiento de búsqueda específico de la implementación. - token_budget
int: límite obligatorio opcional para el recuento de tokens estimado de los resultados con formato final. Cuando se omite, se utiliza la configuración de búsqueda resuelta. Los valores positivos mantienen los resultados completos en orden de clasificación, mientras que su estimación acumulada se ajusta al presupuesto. Si el primer resultado no encaja, no se devolverá ningún resultado. Los valores no positivos desactivan este límite de salida. - soft_token_budget
int: destino opcional para el recuento de tokens estimado de los resultados con formato final. Cuando se omite, se utiliza la configuración de búsqueda resuelta. Se conserva el resultado completo que alcanza o supera este destino. Los valores no positivos desactivan este destino. Definatoken_budgeten un valor mayor cuando la salida también debe tener un límite absoluto. - record_types
list[str]: lista opcional de tipos de registro que se deben incluir, como"memory","message"o"image". -
metadata_filter
dict[str, Any] | None:Asignación de filtro de metadatos opcional utilizada como filtro adicional después del filtrado de ámbito y tipo de registro. Las entradas en
metadata_filterse combinan con la semántica AND. Las entradas cuyo valor no es un diccionario de operador de nivel de campo utilizan semántica de coincidencia exacta: la clave solicitada debe existir en los metadatos de registro almacenados. Los diccionarios anidados coinciden recursivamente con los objetos de metadatos anidados. Los valores escalares y de lista deben coincidir exactamente; el orden y la longitud de la lista también deben coincidir. Omita este argumento o transfieraNonepara buscar sin filtrado de metadatos. Entre los ejemplos se incluyenmetadata_filter={"source": "profile_import"}para un campo escalar,metadata_filter={"prefs": {"category": "travel"}}para un campo anidado ymetadata_filter={"tags": ["survey", "travel"]}para una coincidencia de lista exacta. Combinar condiciones para requerir todas ellas:metadata_filter={ "source": "profile_import", "prefs": {"category": "travel"}, "tags": ["survey", "travel"], }Para probar la pertenencia a una matriz, utilice un diccionario de operador de nivel de campo.
"$array_contains"coincide con un valor o con todos los valores de una lista."$array_contains_any"coincide con al menos un valor de una lista."$not"niega otra expresión de nivel de campo en el mismo campo, incluido un diccionario de operador o un valor de coincidencia exacta sin formato. Las expresiones negativas coinciden cuando la expresión positiva falla, incluidos los campos que faltan; la pertenencia a la matriz negada también coincide con los campos que no son de matriz:metadata_filter={ "source": "profile_import", "tags": { "$array_contains": "travel", "$not": {"$array_contains": "archived"}, }, } - include_invalid_results
bool: indica si los resultados incluyen registros con el estado no válido. Omita este argumento o transfieraTruepara incluirlos. TransfieraFalsepara excluirlos. - num_hops
int: número de bordes de enlace de memoria que se deben seguir de cada resultado de memoria directa. Los valores de0a5están soportados; omita solo los resultados directos. La expansión sigue enlaces en cualquier dirección. - max_linked_results
int: máximo de memorias enlazadas en todos los saltos asociados a cada resultado directo. Omita el valor por defecto de100; transfiera0para no devolver ningún contexto enlazado. - scope
SearchScope: ámbito de búsqueda predefinido opcional. Proporcionescopeo el identificador explícito y los argumentos de coincidencia exacta, no ambos. Las búsquedas de cliente OracleAgentMemory necesitan que el ámbito resuelto incluya unuser_idexplícito conexact_user_match=True. Utiliceuser_id=Nonepara dirigir sólo los registros de usuario sin ámbito.
- query
- Devoluciones: los resultados de búsqueda ordenados por relevancia decreciente. La lista puede contener menos de
max_resultsentradas. - Tipo de devolución: list[SearchResult]
- Problemas: ValueError: si
scopese combina con argumentos de identificador explícito o coincidencia exacta, simax_resultses menor que1, simetadata_filterno es un diccionario niNone, o si la implementación rechaza el ámbito de búsqueda de cliente resuelto. Las búsquedas del cliente OracleAgentMemory rechazan el ámbito de usuario omitido y rechazanexact_user_match=False.
Notas
Los valores de ámbito None explícitos siguen las reglas de coincidencia exacta resueltas: exact_*_match=False deja esa dimensión sin restricciones, mientras que exact_*_match=True solo coincide con los registros sin ámbito en esa dimensión.
method search_async (async)
Busque de forma asíncrona registros relevantes para una consulta.
- Parámetros:
- query
str: cadena de consulta en lenguaje natural. - user_id
str | None: filtro de identificador de usuario. Las búsquedas de cliente OracleAgentMemory necesitan un ámbito de usuario explícito, a menos que se proporcionescopecon uno. Transfiera unuser_idconcreto al destino de ese usuario o transfieraNonesolo a los registros de usuario sin ámbito de destino. - agent_id
str | None: filtro de identificador de agente opcional. Se ignora cuando se proporcionascope. - thread_id
str | None: filtro de identificador de subprocesos opcional. Se ignora cuando se proporcionascope. - exact_user_match
bool: indica si la coincidencia de usuarios debe ser estricta. Las búsquedas del cliente OracleAgentMemory necesitan una coincidencia de usuario exacta y rechazanFalse. Se ignora cuando se proporcionascope. - exact_agent_match
bool: indica si la coincidencia de agentes debe ser estricta. Se ignora cuando se proporcionascope. - exact_thread_match
bool: si la coincidencia de subprocesos debe ser estricta. Se ignora cuando se proporcionascope. - max_results
int: número máximo opcional de resultados para devolver. Cuando se proporciona, debe ser al menos1. La omisión de este argumento utiliza el valor por defecto de10. - token_budget
int: límite obligatorio opcional para el recuento de tokens estimado de los resultados con formato final. Cuando se omite, se utiliza la configuración de búsqueda resuelta. Los valores positivos mantienen los resultados completos en orden de clasificación, mientras que su estimación acumulada se ajusta al presupuesto. Si el primer resultado no encaja, no se devolverá ningún resultado. Los valores no positivos desactivan este límite de salida. - soft_token_budget
int: destino opcional para el recuento de tokens estimado de los resultados con formato final. Cuando se omite, se utiliza la configuración de búsqueda resuelta. Se conserva el resultado completo que alcanza o supera este destino. Los valores no positivos desactivan este destino. Definatoken_budgeten un valor mayor cuando la salida también debe tener un límite absoluto. - record_types
list[str]: lista opcional de tipos de registro que se deben incluir, como"memory","message"o"image". -
metadata_filter
dict[str, Any] | None:Asignación de filtro de metadatos opcional utilizada como filtro adicional después del filtrado de ámbito y tipo de registro. Las entradas en
metadata_filterse combinan con la semántica AND. Las entradas cuyo valor no es un diccionario de operador de nivel de campo utilizan semántica de coincidencia exacta: la clave solicitada debe existir en los metadatos de registro almacenados. Los diccionarios anidados coinciden recursivamente con los objetos de metadatos anidados. Los valores escalares y de lista deben coincidir exactamente; el orden y la longitud de la lista también deben coincidir. Omita este argumento o transfieraNonepara buscar sin filtrado de metadatos. Entre los ejemplos se incluyenmetadata_filter={"source": "profile_import"}para un campo escalar,metadata_filter={"prefs": {"category": "travel"}}para un campo anidado ymetadata_filter={"tags": ["survey", "travel"]}para una coincidencia de lista exacta. Combinar condiciones para requerir todas ellas:metadata_filter={ "source": "profile_import", "prefs": {"category": "travel"}, "tags": ["survey", "travel"], }Para probar la pertenencia a una matriz, utilice un diccionario de operador de nivel de campo.
"$array_contains"coincide con un valor o con todos los valores de una lista."$array_contains_any"coincide con al menos un valor de una lista."$not"niega otra expresión de nivel de campo en el mismo campo, incluido un diccionario de operador o un valor de coincidencia exacta sin formato. Las expresiones negativas coinciden cuando la expresión positiva falla, incluidos los campos que faltan; la pertenencia a la matriz negada también coincide con los campos que no son de matriz:metadata_filter={ "source": "profile_import", "tags": { "$array_contains": "travel", "$not": {"$array_contains": "archived"}, }, } - include_invalid_results
bool: indica si los resultados incluyen registros con el estado no válido. Omita este argumento o transfieraTruepara incluirlos. TransfieraFalsepara excluirlos. - num_hops
int: número de bordes de enlace de memoria que se deben seguir de cada resultado de memoria directa. Los valores de0a5están soportados; omita solo los resultados directos. La expansión sigue enlaces en cualquier dirección. - max_linked_results
int: máximo de memorias enlazadas en todos los saltos asociados a cada resultado directo. Omita el valor por defecto de100; transfiera0para no devolver ningún contexto enlazado. - scope
SearchScope: ámbito de búsqueda predefinido opcional. Proporcionescopeo el identificador explícito y los argumentos de coincidencia exacta, no ambos. Las búsquedas de cliente OracleAgentMemory necesitan que el ámbito resuelto incluya unuser_idexplícito conexact_user_match=True. Utiliceuser_id=Nonepara dirigir sólo los registros de usuario sin ámbito.
- query
- Devoluciones: los resultados de búsqueda ordenados por relevancia decreciente.
- Tipo de devolución: list[SearchResult]
- Problemas: ValueError: si
scopese combina con argumentos de identificador explícito o coincidencia exacta, simax_resultses menor que1, simetadata_filterno es un diccionario niNone, o si la implementación rechaza el ámbito de búsqueda de cliente resuelto. Las búsquedas del cliente OracleAgentMemory rechazan el ámbito de usuario omitido y rechazanexact_user_match=False.
Notas
Los valores de ámbito None explícitos siguen las reglas de coincidencia exacta resueltas: exact_*_match=False deja esa dimensión sin restricciones, mientras que exact_*_match=True solo coincide con los registros sin ámbito en esa dimensión.
método update_image
Actualizar un registro de imagen almacenada por identificador.
- Parámetros:
- image_id
str: identificador del registro de imagen que se debe actualizar. - image
bytes: bytes de imagen de sustitución opcionales. Proporcione bytes para sustituir la imagen almacenada. Cuando se omite, la imagen almacenada se conserva. - description
str | None: descripción de sustitución opcional. Si se omite, la descripción almacenada se conserva. Si se transfiereNone, se genera una nueva descripción con el LLM configurado. Una cadena no nula sustituye directamente la descripción almacenada y el texto que se puede buscar. - mime_type
ImageMimeType: tipo MIME de los bytes de imagen de sustitución. Se deben proporcionarimageymime_typejuntos. Omita ambos para conservar la imagen almacenada y el tipo MIME. - metadata
dict[str, Any] | None: asignación de metadatos de sustitución opcional. Cuando se omite, los metadatos almacenados se conservan. Cuando se proporciona, sustituye el objeto de metadatos almacenado; esta API no fusiona en profundidad los metadatos. - timestamp
str | None: nuevo registro de hora opcional para esta imagen. Cuando se omite, el registro de hora almacenado se conserva. TransfieraNonepara borrarlo. - ttl_days
int | None: refrescamiento de caducidad opcional en días. Omita este argumento junto conttl_anchorpara dejar la caducidad actual sin cambios. TransfieraNonepara borrar la caducidad. La caducidad de una imagen adjunta a un mensaje se debe cambiar mediante el mensaje principal. - ttl_anchor
TimeToLiveAnchor: anclaje de tiempo de vida opcional para un refrescamiento de caducidad. Al proporcionarttl_anchorsinttl_daysse utiliza la duración de tiempo de actividad por defecto del esquema. Cuando se omite durante un refrescamiento, los almacenes utilizanTimeToLiveAnchor.CREATED_AT. - **kwargs (Cualquiera): las implementaciones rechazan los argumentos de palabras clave inesperados.
- image_id
- Devoluciones: identificador del registro de imagen actualizado.
- Tipo de devolución: str
- Incidencias: ValueError: si se proporcionan valores de caducidad para una imagen asociada a un mensaje.
Notas
Los campos omitidos permanecen sin cambios. Esta API no soporta las actualizaciones de ámbito. La sustitución de metadatos es una sustitución de objeto completo, no una fusión JSON recursiva.
method update_image_async (async)
Actualice una imagen independiente a través del almacén configurado.
Omita image para conservar los bytes existentes. Si se proporciona image, se debe proporcionar mime_type. Omita description para conservar la descripción existente. Transfiera None para generar una nueva descripción con el LLM configurado; una descripción no nula la reemplaza directamente. Los metadatos, el registro de hora y la configuración de caducidad se actualizan cuando se proporcionan.
- Parámetros:
- image_id
str: identificador de la imagen que se actualizará. - image
bytes: bytes de imagen sin formato de sustitución opcionales. - description
str | None: descripción de sustitución opcional. Omitirlo para conservar la descripción actual. TransfieraNonepara generar una nueva descripción con el LLM configurado. - mime_type
ImageMimeType: tipo MIME necesario cuando se proporcionan bytes de imágenes de sustitución. - metadata
dict[str, Any] | None: metadatos de sustitución opcionales. - timestamp
str | None: registro de hora de evento de sustitución opcional. - ttl_days
int | None: configuración de caducidad opcional. No se pueden cambiar mediante este método cuando la imagen se adjunta a un mensaje. - ttl_anchor
TimeToLiveAnchor: configuración de caducidad opcional. No se pueden cambiar mediante este método cuando la imagen se adjunta a un mensaje. - kwargs
Any
- image_id
- Devoluciones: identificador de imagen actualizado.
- Tipo de devolución: str
- Incidencias: ValueError: si se proporcionan valores de caducidad para una imagen asociada a un mensaje.
método update_memory
Actualizar un registro similar a la memoria almacenada por identificador.
- Parámetros:
- memory_id
str: identificador del registro similar a la memoria que se actualizará. - content
str– Contenido de reemplazo opcional. Proporcione una cadena para sustituir el contenido almacenado. Cuando se omite, el contenido almacenado se conserva. Omitacontentpara mantener el valor actual o utilicedelete_memory()para eliminar el registro. - metadata
dict[str, Any] | None: asignación de metadatos de sustitución opcional. Cuando se omite, los metadatos almacenados se conservan. Cuando se proporciona, sustituye el objeto de metadatos almacenado; esta API no fusiona en profundidad los metadatos. - timestamp
str | None: nuevo registro de hora opcional para esta memoria. Representa cuándo se creó la memoria. Cuando se omite, el registro de hora almacenado se conserva. TransfieraNonepara borrar el registro de hora guardado y utilice el tiempo que el registro se ha creado en la tienda. Cuandottl_anchoresTimeToLiveAnchor.TIMESTAMP, los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - ttl_days
int | None: refrescamiento de caducidad opcional en días. Omita este argumento para dejar la caducidad actual sin cambios a menos que se proporcionettl_anchor. TransfieraNonepara utilizarMemoryRetentionConfig.max_ttl_dayscuando la configuración de retención defina uno o para borrar la caducidad cuando no lo haga. Los valores por encima deMemoryRetentionConfig.max_ttl_daysse sujetan a ese máximo con una advertencia. Las memorias caducadas no están disponibles para esta API de cliente y no se pueden refrescar. - ttl_anchor
TimeToLiveAnchor: anclaje de tiempo de vida opcional para un refrescamiento de caducidad. UtiliceTimeToLiveAnchor.CREATED_ATpara la hora de creación de memoria oTimeToLiveAnchor.TIMESTAMPpara la sustitucióntimestampproporcionada en la misma actualización, o el registro de hora del evento almacenado cuando se omitetimestamp. Al proporcionarttl_anchorsinttl_daysse utiliza la duración de tiempo de actividad por defecto del esquema. Cuando se omitettl_anchordurante un refrescamiento, el cliente utilizaTimeToLiveAnchor.CREATED_AT. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - status
RecordStatus: estado opcional del ciclo de vida de reemplazo para este registro similar a la memoria. Omitirlo para conservar el estado actual. - **kwargs (Cualquiera): se rechazan los argumentos de palabras clave inesperados.
- memory_id
- Devoluciones: identificador del registro similar a la memoria actualizado.
- Tipo de devolución: str
Notas
Los campos omitidos se conservan del registro almacenado. El ámbito almacenado permanece sin cambios. La sustitución de metadatos es una sustitución de objeto completo, no una fusión JSON recursiva.
method update_memory_async (async)
Actualizar un registro similar a la memoria almacenada por identificador de forma asíncrona.
- Parámetros:
- memory_id
str: identificador del registro similar a la memoria que se actualizará. - content
str– Contenido de reemplazo opcional. Proporcione una cadena para sustituir el contenido almacenado. Cuando se omite, el contenido almacenado se conserva. Omitacontentpara mantener el valor actual o utilicedelete_memory()para eliminar el registro. - metadata
dict[str, Any] | None: asignación de metadatos de sustitución opcional. Cuando se omite, los metadatos almacenados se conservan. Cuando se proporciona, sustituye el objeto de metadatos almacenado; esta API no fusiona en profundidad los metadatos. - timestamp
str | None: nuevo registro de hora opcional para esta memoria. Representa cuándo se creó la memoria. Cuando se omite, el registro de hora almacenado se conserva. TransfieraNonepara borrar el registro de hora guardado y utilice el tiempo que el registro se ha creado en la tienda. Cuandottl_anchoresTimeToLiveAnchor.TIMESTAMP, los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - ttl_days
int | None: refrescamiento de caducidad opcional en días. Omita este argumento para dejar la caducidad actual sin cambios a menos que se proporcionettl_anchor. TransfieraNonepara utilizarMemoryRetentionConfig.max_ttl_dayscuando la configuración de retención defina uno o para borrar la caducidad cuando no lo haga. Los valores por encima deMemoryRetentionConfig.max_ttl_daysse sujetan a ese máximo con una advertencia. Las memorias caducadas no están disponibles para esta API de cliente y no se pueden refrescar. - ttl_anchor
TimeToLiveAnchor: anclaje de tiempo de vida opcional para un refrescamiento de caducidad. UtiliceTimeToLiveAnchor.CREATED_ATpara la hora de creación de memoria oTimeToLiveAnchor.TIMESTAMPpara la sustitucióntimestampproporcionada en la misma actualización, o el registro de hora del evento almacenado cuando se omitetimestamp. Al proporcionarttl_anchorsinttl_daysse utiliza la duración de tiempo de actividad por defecto del esquema. Cuando se omitettl_anchordurante un refrescamiento, el cliente utilizaTimeToLiveAnchor.CREATED_AT. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - status
RecordStatus: estado opcional del ciclo de vida de reemplazo para este registro similar a la memoria. Omitirlo para conservar el estado actual. - **kwargs (Cualquiera): se rechazan los argumentos de palabras clave inesperados.
- memory_id
- Devoluciones: identificador del registro similar a la memoria actualizado.
- Tipo de devolución: str
Notas
Los campos omitidos se conservan del registro almacenado. El ámbito almacenado permanece sin cambios. La sustitución de metadatos es una sustitución de objeto completo, no una fusión JSON recursiva.
Ejemplos
import asyncio
memory_id = asyncio.run(client.add_memory_async("Original memory"))
(
asyncio.run(client.update_memory_async(
memory_id, content="Updated memory"
))
== memory_id
)
True
método update_record_link
Actualización de campos modificables de una relación almacenada.
Los valores omitidos se conservan. Cuando relation_type cambia a un tipo de relación de memoria incorporada, su etiqueta inversa fija sustituye a opposite_relation_type. Transfiera None para timestamp o metadata para borrar ese valor.
- Parámetros:
- relation_id
str: identificador de la relación con la actualización. - relation_type
str: etiqueta de origen a destino de sustitución opcional. - opposite_relation_type
str: etiqueta de reversión de sustitución opcional. Omitirlo para conservar la etiqueta almacenada. - timestamp
str | None: registro de hora de sustitución opcional. TransfieraNonepara borrarlo. - metadata
dict[str, Any] | None: metadatos de sustitución opcionales. Sustituye el objeto almacenado.
- relation_id
- Devoluciones: número de relaciones actualizadas, ya sea
0o1. - Tipo de devolución: int
Ejemplos
client.update_record_link("relation-id", relation_type="supports")
1
method update_record_link_async (async)
Actualizar de forma asíncrona una relación almacenada.
- Parámetros:
- ID_relación
str - tipo_relación
str - opposite_relation_type
str - registro de hora
str | None - metadatos
dict[str, Any] | None
- ID_relación
- Tipo de devolución: int
método update_thread
Conservar metadatos de thread y actualizaciones duraderas de configuración en tiempo de ejecución.
- Parámetros:
- thread_id
str: identificador del thread que se va a actualizar. - metadata
dict[str, Any] | None: actualización de metadatos opcional para el subproceso de conversación. Cuando se omite, los metadatos almacenados no se modifican. Al transferirNone, se borran explícitamente los metadatos almacenados. Cuando se proporciona una asignación, sustituye el objeto de metadatos almacenado. - LLM
ILlm: sustitución de LLM opcional para la instanciaOracleThreaddevuelta. Esto no se mantiene, pero participa en las mismas reglas de validación queget_threadycreate_thread. -
extract_memories
bool:Sustitución duradera opcional para la extracción automática de memoria.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. - max_message_token_length
int: sustitución duradera opcional para el tamaño máximo de mensaje de tiempo de petición de datos utilizado durante la extracción y el resumen. - message_shortening_input_token_limit
int: sustitución duradera opcional para el tamaño máximo de extracto enviado al LLM al acortar mensajes de gran tamaño. -
memory_extraction_window
int:Sustitución duradera opcional para el tamaño de la ventana de extracción.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
context_summary_update_frequency:
intSustitución duradera opcional para mensajes después del último resumen válido antes del refrescamiento automático.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_frequency:
int.Sustitución duradera opcional para el número de mensajes agregados que disparan la extracción automática de memoria.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_token_limit
int:Sustitución duradera opcional para presupuestos de petición de datos de extracción y resumen en ejecución.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. - context_card_token_limit
int: sustitución duradera opcional para el presupuesto de token de entrada de la petición de datos del LLM utilizada para crear el resumen y la lista de temas incluidos en la tarjeta de contexto. -
enable_context_summary
bool:Sustitución duradera opcional para determinar si los resúmenes de contexto en ejecución permanecen activados.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_custom_instructions
str | None:Instrucciones personalizadas duraderas opcionales agregadas a la petición de datos del sistema de extracción de memoria. Al transferir
None, se borran todas las instrucciones personalizadas de nivel de thread almacenadas; se sigue aplicando un valor por defecto de nivel de cliente cuando se configura.En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. -
memory_extraction_inherit_message_metadata
bool | Sequence[str]:Sustitución duradera opcional para metadatos copiados de mensajes de origen en memorias extraídas automáticamente.
En desuso
En desuso desde la versión 26.6.0: este parámetro estaba en desuso en la versión 26.6.0 y se eliminará en la versión 27.1. Utilice
memory_extraction_configen su lugar. - memory_extraction_config
MemoryExtractionConfig: actualización de configuración de extracción duradera agrupada opcional. Los campos proporcionados se escriben en la configuración de thread almacenada y los utilizan las instanciasOracleThreadcargadas posteriormente y los trabajos de extracción en segundo plano posteriores. Los campos omitidos conservan sus valores guardados cuando están presentes. Los threads creados antes de que se mantuvieran los valores de contexto de imagen se vuelven al valor de cliente y, a continuación, aDISABLED, cuando no existe ningún contexto de imagen guardado. - image_input_limit_config
ImageInputLimitConfig: imagen sin formato duradera opcional y actualización del límite de solicitud de imagen del LLM. Los campos omitidos conservan los valores almacenados; siempre que las instancias de thread cargadas posteriormente utilicen los campos. - search_config
MemorySearchConfig: configuración de búsqueda opcional para almacenar el thread. La configuración proporcionada la utilizan las siguientes instancias de thread cargadas. - **kwargs (cualquiera): opciones adicionales específicas de la implementación.
OracleAgentMemoryrechaza actualmente argumentos de palabra clave desconocidos.
- thread_id
- Devoluciones: instancia
OracleThreadactualizada que refleja los metadatos persistentes y la configuración de tiempo de ejecución. - Tipo de retorno: OracleThread
- Incrementos:
- KeyError: si el ID de subproceso es desconocido para esta instancia de cliente.
- ValueError: si no hay ningún LLM disponible para la extracción automática de memoria después de resolver la configuración de tiempo de ejecución efectiva.
Notas
La configuración de tiempo de ejecución se resuelve a partir del thread de conversación almacenado más las sustituciones explícitas transferidas a esta llamada, que coinciden con la semántica get_thread antes de mantener el resultado. Los metadatos omitidos y las actualizaciones de configuración de tiempo de ejecución se resuelven a partir de datos almacenados, no de ninguna instancia OracleThread cargada previamente, y solo se reescriben las actualizaciones de metadatos proporcionadas explícitamente o las sustituciones duraderas de configuración de tiempo de ejecución. La sustitución de metadatos es una sustitución de objeto completo, no una fusión JSON recursiva. La propiedad de los threads no se puede modificar mediante esta API, por lo que user_id y agent_id permanecen sin cambios. El estado de tiempo de ejecución mutable, como los contadores de extracción, se deja sin tocar.
Ejemplos
from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
llm=llm,
)
updated = client.update_thread(
"c1",
metadata={"flags": {"vip": True}},
message_shortening_input_token_limit=12_000,
)
updated.message_shortening_input_token_limit
12000
method update_thread_async (async)
Conservar los metadatos de thread actualizados y la configuración duradera en tiempo de ejecución de forma asíncrona.
- Parámetros:
- thread_id
str: identificador del thread que se va a actualizar. - metadata
dict[str, Any] | None: actualización de metadatos opcional para el subproceso de conversación. Cuando se omite, los metadatos almacenados no se modifican. Al transferirNone, se borran explícitamente los metadatos almacenados. Cuando se proporciona una asignación, sustituye el objeto de metadatos almacenado. - **kwargs (cualquiera): actualizaciones de configuración en tiempo de ejecución duraderas adicionales y sustituciones por llamada aceptadas por
update_thread().
- thread_id
- Devoluciones: instancia
OracleThreadactualizada que refleja los metadatos persistentes y la configuración de tiempo de ejecución. - Tipo de retorno: OracleThread
método wait_for_memory_extraction
Espere a que este cliente inicie una extracción de memoria en segundo plano anterior.
Este método espera a que la extracción en segundo plano ya se haya iniciado a través de esta instancia OracleAgentMemory en todos los threads propiedad de este componente de memoria de agente. No espera a que se inicie la extracción después de que comience esta espera, a que se inicie la extracción por otro componente de memoria de agente o a que se ejecute la extracción en otro proceso. Los fallos de extracción cuentan como finalizados para esta espera.
- Parámetros: timeout
float | None: número máximo opcional de segundos para esperar. El valor por defecto es300. TransfieraNonepara esperar hasta que este componente de memoria de agente no tenga ninguna extracción pendiente. - Subidas: TimeoutError: se genera cuando el timeout caduca antes de que finalice la extracción en segundo plano anterior.
- Tipo de devolución: ninguno
Ejemplos
client = OracleAgentMemory(
connection=db_pool,
embedder=embedder,
memory_extraction_config=MemoryExtractionConfig(extract_memories=False),
)
client.wait_for_memory_extraction(timeout=10)
method wait_for_memory_extraction_async (async)
Espere de forma asíncrona la extracción de memoria en segundo plano anterior.
Este método sigue el mismo comportamiento que wait_for_memory_extraction().
- Parámetros: timeout
float | None: número máximo opcional de segundos para esperar. El valor por defecto es300. TransfieraNonepara esperar indefinidamente. - Subidas: TimeoutError: se genera cuando el timeout caduca antes de que finalice la extracción en segundo plano anterior.
- Tipo de devolución: ninguno
Ejemplos
import asyncio
asyncio.run(client.wait_for_memory_extraction_async(timeout=10))
Límites de entrada de imagen
clase oracleagentmemory.core.ImageInputLimitConfig
Bases: object
Configure los límites de solicitud de imagen raw y de imagen de LLM.
Los campos omitidos heredan del siguiente ámbito de configuración más amplio. Los campos de cliente heredan los valores por defecto del SDK, mientras que los campos por thread heredan la configuración del cliente. La validación no se puede desactivar y los valores resueltos no pueden superar el máximo absoluto del SDK.
- Parámetros:
- max_raw_image_bytes
int: longitud máxima de bytes sin formato de una imagen. El SDK por defecto es de 10 MiB y el máximo absoluto es de 32 MiB. - max_images_per_llm_request
int: número máximo de imágenes en una solicitud de LLM. El SDK por defecto es 100 y el máximo absoluto es 512. - max_total_raw_image_bytes_per_llm_request
int: longitud máxima combinada de bytes sin formato de imágenes en una solicitud de LLM. Se excluyen la expansión de texto, metadatos, marcos JSON y base64. El valor por defecto del SDK es de 100 MiB y el máximo absoluto es de 256 MiB.
- max_raw_image_bytes
Ejemplos
from oracleagentmemory.core import ImageInputLimitConfig
config = ImageInputLimitConfig(
max_raw_image_bytes=16 * 1024 * 1024,
max_images_per_llm_request=200,
)
Extracción de memoria
clase oracleagentmemory.core.MemoryExtractionImageContext
Bases: str, Enum
Seleccione cómo participan las imágenes en la extracción automática de memoria.
DISABLED omite imágenes y descripciones de imágenes de las peticiones de datos de extracción. IMAGE envía partes originales de la imagen. CAPTION envía descripciones de imágenes como texto y requiere que todas las imágenes seleccionadas tengan una descripción que no esté en blanco.
CAPTION = 'CAPTION'
Incluya descripciones como texto y requiera una por cada imagen seleccionada.
DISABLED = 'DISABLED' (Desactivado)
No incluya imágenes ni descripciones de imágenes en las peticiones de datos de extracción.
IMAGEN = 'imagen'
Incluir partes de imagen originales en peticiones de datos de extracción.
MEMORY = 'memoria'
La extracción de memoria específica de la imagen no está soportada actualmente.
clase oracleagentmemory.core.MemoryExtractionConfig
Bases: object
Configuración agrupada para la extracción automática de memoria.
Transfiera este objeto a OracleAgentMemory, create_thread, get_thread o update_thread para configurar la extracción automática. extraction_mode y los valores de la cola en segundo plano también controlan la generación automática de descripciones de imágenes. Cada campo se resuelve de forma independiente. Un valor proporcionado para una operación tiene prioridad, seguido de un valor de thread guardado, el valor de cliente y el valor por defecto de SDK. Los threads nuevos e independientes no tienen ningún valor de thread guardado.
- Parámetros:
- memory_extraction_window
int: ventana de mensajes recientes utilizada para peticiones de datos de extracción.-1significa que la petición de datos de extracción solo utiliza los mensajes recién agregados. Si se omite, utilice el orden de resolución anterior. - context_summary_update_frequency:
intnúmero de mensajes después del último resumen válido antes de refrescarlo automáticamente. Cuando la extracción de memoria está activada, la comprobación se produce después de cada extracción pendiente, por lo que el refrescamiento se puede producir más tarde. Valores inferiores o iguales al refrescamiento de0en cada ticket. Si se omite, utilice el orden de resolución anterior. - memory_extraction_frequency en
int: número de mensajes agregados entre ejecuciones de extracción de memoria. Valores por debajo de la extracción0después de cada adición. Si se omite, utilice el orden de resolución anterior. - memory_extraction_token_limit
int: presupuesto de token de entrada para peticiones de datos de extracción y resumen. Los valores por debajo de1desactivan el límite de presupuesto de petición de datos. Si se omite, utilice el orden de resolución anterior. - extract_memories
bool: indica si la extracción automática de memoria está activada. Defina esta opción enFalsepara desactivar la extracción automática y permitir la operación sin un LLM de extracción. Si se omite, utilice el orden de resolución anterior. - enable_context_summary
bool: indica si las peticiones de datos de extracción mantienen y utilizan un resumen de contexto en ejecución. Si se omite, utilice el orden de resolución anterior. - memory_extraction_custom_instructions
str | None: instrucciones opcionales del emisor de llamada agregadas al indicador del sistema de extracción. TransfieraNoneenupdate_threadpara borrar las instrucciones de nivel de thread almacenadas. Si se omite, utilice el orden de resolución anterior. - memory_link_extraction_custom_instructions
str | None: instrucciones opcionales del emisor de llamada agregadas al indicador automático del sistema de resolución de enlaces. TransfieraNoneenupdate_threadpara borrar las instrucciones de nivel de thread almacenadas. Si se omite, utilice el orden de resolución anterior. Este valor se ignora cuandomemory_link_extraction_modeesMemoryLinkExtractionMode.DISABLED. - memory_extraction_image_context
oracleagentmemory.core.extractors.memoryextractionconfig.MemoryExtractionImageContext: seleccione la representación de imagen utilizada durante la extracción.DISABLEDomite imágenes y descripciones de imágenes de peticiones de datos,IMAGEenvía partes de imágenes sin formato yCAPTIONenvía descripciones de imágenes como texto y requiere que todas las imágenes seleccionadas tengan una descripción que no esté en blanco.MEMORYno está soportado actualmente. Cuando se omite, utilice el valor de thread guardado, el valor de cliente y, a continuación,DISABLED. Omitir este campo nunca permite el procesamiento de imágenes. - memory_extraction_inherit_message_metadata
bool | collections.abc.Sequence[str]: controla los metadatos copiados de los mensajes de origen en las memorias extraídas.Truecopia todos los metadatos del mensaje de origen,Falseno copia ninguno y una secuencia copia solo las claves de metadatos de nivel superior coincidentes. Si se omite, utilice el orden de resolución anterior. - extraction_mode
oracleagentmemory.core.extractors.memoryextractionconfig.MemoryExtractionMode: controla cuándo se ejecuta la extracción automática de memoria y la generación de descripciones de imágenes.MemoryExtractionMode.INLINElos completa antes de que se devuelva el método de escritura.MemoryExtractionMode.BACKGROUNDse devuelve después de que la escritura raw se realice correctamente e intenta poner en cola el trabajo derivado. En el modo de fondo, las descripciones generadas y los recuerdos derivados pueden aparecer más tarde o nunca se pueden escribir si el trabajo no se puede completar. Por ejemplo,update_message()puede volver antes de que una lectura de memoria posterior refleje el contenido del mensaje actualizado. Si se omite, utilice el orden de resolución anterior. El SDK por defecto esBACKGROUND. Al definirextract_memories=False, se desactiva la extracción de memoria, pero no la generación de descripciones de imágenes. - memory_link_extraction_mode
oracleagentmemory.core.extractors.memoryextractionconfig.MemoryLinkExtractionMode: cómo se resuelven los enlaces a las memorias existentes para las memorias recién extraídas.DURING_EXTRACTIONincluye candidatos enlazados en la solicitud de extracción.POST_EXTRACTIONutiliza una solicitud de resolución de enlace adicional para el lote de extracción.DISABLEDno crea enlaces automáticos. Si se omite, utilice el orden de resolución anterior. El SDK por defecto esPOST_EXTRACTION. - memory_link_extraction_token_limit
int: presupuesto total del token de entrada para todas las solicitudes de resolución de enlaces posteriores a la extracción en una sola transferencia de extracción. Los valores por debajo de1desactivan su presupuesto de petición de datos. Este valor se ignora cuandomemory_link_extraction_modeesDURING_EXTRACTIONoDISABLED. Las llamadas aadd_memory(autonomous_linking=True)utilizan el mismo solucionador posterior a la tienda y el mismo presupuesto independientemente del modo de extracción. Si se omite, utilice el orden de resolución anterior. - background_extraction_queue_full_behavior
oracleagentmemory.core.extractors.memoryextractionconfig.BackgroundExtractionQueueFullBehavior: en el modo en segundo plano, controla lo que sucede cuando la extracción automática o la generación de descripciones de imágenes no pueden ponerse en cola inmediatamente.DROPregistra una advertencia y continúa sin esperar.WAIT_THEN_DROPespera la capacidad de cola hasta el timeout configurado y, a continuación, registra una advertencia y continúa.WAIT_THEN_RAISEespera la capacidad de la cola hasta el timeout configurado y, a continuación, emiteTimeoutErrordespués de que la escritura raw se realice correctamente. Si se omite, utilice el orden de resolución anterior. El SDK por defecto esDROP. - background_extraction_queue_put_timeout_seconds
float: en el modo de fondo, el número máximo de segundos de extracción automática o generación de descripciones de imágenes espera la capacidad de la cola cuandobackground_extraction_queue_full_behavioresWAIT_THEN_DROPoWAIT_THEN_RAISE. Si se omite, utilice el orden de resolución anterior. El valor por defecto del SDK es de300.0segundos.
- memory_extraction_window
Ejemplos
from oracleagentmemory.core import (
MemoryExtractionImageContext,
MemoryExtractionConfig,
MemoryExtractionMode,
MemoryLinkExtractionMode,
)
config = MemoryExtractionConfig(
extract_memories=True,
memory_extraction_image_context=MemoryExtractionImageContext.CAPTION,
extraction_mode=MemoryExtractionMode.BACKGROUND,
memory_link_extraction_mode=MemoryLinkExtractionMode.POST_EXTRACTION,
memory_link_extraction_token_limit=8_000,
)
Qué hacer cuando la extracción o las descripciones de imágenes no pueden ponerse en cola inmediatamente.
Los valores omitidos se resuelven en DROP.
Máximo de segundos de espera de trabajo en segundo plano para la capacidad de cola en los modos de espera.
Los valores omitidos se resuelven en 300.0 segundos.
Mensajes después del último resumen válido antes del refrescamiento automático.
Valores inferiores o iguales al refrescamiento de 0 en cada ticket.
Si OAM mantiene resúmenes de contexto para lecturas de thread y peticiones de datos de extracción.
Si las descripciones de extracción e imagen se ejecutan en línea o en segundo plano.
Los valores omitidos se resuelven en BACKGROUND.
Mensajes entre ejecuciones de extracción; valores por debajo de la extracción 0 después de cada adición.
Representación de imagen; la omisión se resuelve en thread, cliente y, a continuación, en DISABLED.
Metadatos de mensajes de origen copiados en memorias extraídas.
Presupuesto de token de entrada para peticiones de datos; los valores por debajo de 1 desactivan el límite.
Ventana de mensajes recientes utilizada para peticiones de datos de extracción; -1 solo utiliza mensajes nuevos.
Instrucciones de llamada opcionales anexadas a peticiones de datos automáticas de resolución de enlaces.
Cómo se resuelven los enlaces automáticos para las memorias extraídas.
Los valores omitidos se resuelven en POST_EXTRACTION.
Presupuesto total de token de entrada para la resolución de enlaces POST_EXTRACTION.
Los valores por debajo de 1 desactivan el límite.
clase oracleagentmemory.core.MemoryExtractionMode
Bases: str, Enum
Controla cuándo se ejecuta la extracción automática y las descripciones de imágenes.
INLINE finaliza el trabajo derivado antes de que se devuelva el método de escritura. BACKGROUND se devuelve después de que la escritura raw se realice correctamente e intenta poner en cola ese trabajo. El trabajo en segundo plano es el mejor esfuerzo: las descripciones generadas y los recuerdos derivados pueden aparecer más tarde o nunca se pueden escribir si no se pueden completar.
FONDO = 'ANTECEDENTES'
Vuelva después de la escritura raw y ejecute el trabajo derivado en segundo plano.
EN LÍNEA = 'EN LÍNEA'
Complete la extracción y las descripciones de las imágenes antes de que se devuelva la escritura.
clase oracleagentmemory.core.BackgroundExtractionQueueFullBehavior
Bases: str, Enum
Controla lo que sucede cuando el trabajo en segundo plano configurado no puede ponerse en cola a tiempo.
A pesar del nombre específico de la extracción, esta configuración también se aplica a la generación automática de descripciones de imágenes en modo de fondo.
BORRAR = 'BORRAR'
Registre una advertencia y continúe inmediatamente cuando la capacidad de la cola no esté disponible.
WAIT_THEN_DROP = 'WAIT_THEN_DROP'
Espere la capacidad de la cola hasta el timeout configurado y, a continuación, registre una advertencia y continúe.
WAIT_THEN_RAISE = 'WAIT_THEN_RAISE'
Espere la capacidad de la cola hasta el timeout configurado y, a continuación, emita TimeoutError.