Threads
Esta página presenta el identificador de thread de Oracle concreto junto con el tipo de ayuda de mensaje orientado al desarrollador.
Thread de Oracle
clase oracleagentmemory.core.OracleThread
Bases: IThread
Thread respaldado por un almacén de Oracle.
Esta implantación incrusta y almacena tanto mensajes de thread como memorias agregadas manualmente y, a continuación, soporta la búsqueda de similitud en todos los registros almacenados.
Notas
- Los mensajes se almacenan como registros individuales (un registro por mensaje).
- La búsqueda se puede restringir al thread actual o permitir que devuelva resultados de cualquier thread (controlado por el cliente).
Cree una nueva instancia de OracleThread.
- Parámetros:
- store
OracleMemoryStore: backend de almacén compartido utilizado para mantener los registros incrustados. - thread_id
str: identificador de thread. Si no se proporciona, se genera un UUID. - user_id
str: identificador de usuario asociado con el subproceso. Si se omite en un almacén de tiempo de ejecuciónSchemaPolicy.NO_CHECKde base de datos, se utiliza el nombre de usuario del contexto de seguridad de usuario final activo. En caso contrario, se genera un UUID. - agent_id
str: identificador de agente asociado con el thread. Si se omite, se genera un UUID. - metadata
dict[str, Any] | None: metadatos opcionales similares a JSON asociados con el thread. - persist_messages_in_config
bool: indica si_to_configdebe incluir instantáneas de mensajes raw recientes. Se define automáticamente enFalsepara los threads que utilizan el almacén de base de datos para evitar exportar contenido de la tabla de mensajes mediante la configuración de thread. - LLM
ILlm | None: adaptador LLM opcional que se utiliza para la extracción de memoria y las actualizaciones de resumen de contexto. Cuando se proporciona,add_messagesextrae las memorias relevantes de cada mensaje agregado y las almacena como registros de memoria escritos ("memory","guideline","fact"o"preference"). - memory_extraction_config
MemoryExtractionConfig: configuración opcional de extracción de memoria en el nivel de thread. Utilícelo para controlar la configuración de extracción automática, como el modo de extracción, el comportamiento de resumen, los límites de extracción y si la extracción automática está activada. Transfiera esta configuración agrupada o los parámetros de extracción en línea en desuso, no ambos. Cuando se omite,OracleThread()independiente utiliza los valores por defecto del SDK para los campos de extracción y mantiene activados los resúmenes de contexto. Un contexto de imagen omitido esDISABLED. - image_input_limit_config
ImageInputLimitConfig: límites opcionales de imagen sin formato y solicitud de imagen de LLM para este thread independiente. Los campos omitidos utilizan los valores por defecto del SDK. La validación no se puede desactivar. -
memory_extraction_window
int:Número de mensajes más recientes (incluido el recién agregado) que se deben proporcionar como contexto para el LLM durante la extracción. Defina esta opción en
-1para extraer solo una vez por cada llamadaadd_messagesmediante el lote completo de mensajes recién agregados. 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. 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.Número de mensajes tras los cuales se dispara la extracción de memoria. Defina esta opción en
-1para extraer solo una vez por cada llamadaadd_messagesmediante el lote completo de mensajes recién agregados.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. Los campos más largos se truncan. Si es negativo o 0, el truncamiento de petición de datos está desactivado.
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: 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. El valor por defecto es100_000; los valores son menor o igual que 0 para desactivar el truncamiento de petición de datos. - 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. El valor por defecto es5. - max_message_token_length
int: tamaño máximo, en tokens, de la copia de tiempo de petición de datos de cada mensaje utilizado durante la extracción de memoria respaldada por LLM y las actualizaciones de resumen de contexto. El contenido del mensaje almacenado permanece sin cambios. Si es negativo o 0, no se realiza ningún acortamiento de tiempo de solicitud. Si se proporciona un LLM, las copias de petición de datos de gran tamaño se resumen en lugar de truncarse. - message_shortening_input_token_limit
int: tamaño máximo, en tokens, del extracto de mensaje enviado al LLM al acortar las copias de petición de datos de gran tamaño. El valor por defecto es tokens30_000. Si es negativo o 0, no se aplica ningún límite de salida durante el acortamiento basado en LLM. -
enable_context_summary
bool:Si se debe mantener un resumen compacto del hilo. Cuando se activa y se proporciona un valor
llm, OAM lo refresca segúncontext_summary_update_frequencyy utiliza un resumen desde antes de los mensajes de destino como contexto de extracción. El valor por defecto esTrueparaOracleThread()independiente.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 opcionales agregadas a la petición de datos del sistema de extracción automática de memoria 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. -
memory_extraction_inherit_message_metadata
bool | Sequence[str]:Si las memorias extraídas automáticamente heredan metadatos de los mensajes de origen. Transfiera
Truepara heredar todos los metadatos de mensajes, una secuencia no de cadena de claves de metadatos de mensajes de nivel superior para heredar solo esas claves oFalsepara desactivar la herencia. El valor por defecto esTrue. Si una transferencia de extracción utiliza varios mensajes de origen, los metadatos seleccionados deben coincidir entre esos mensajes.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. - search_config
MemorySearchConfig: configuración de búsqueda opcional para este thread. Cuando se omite, las búsquedas utilizan una configuración de búsqueda de top-k fija. - cliente
OracleAgentMemory | None
- store
Ejemplos
from oracleagentmemory.core import MemoryExtractionConfig, OracleAgentMemory
client = OracleAgentMemory(connection=db_pool, embedder=embedder)
thread = client.create_thread(
thread_id="c4",
llm=llm,
memory_extraction_config=MemoryExtractionConfig(enable_context_summary=True),
)
len(thread.add_messages([{"role": "user", "content": "I love pizza."}]))
1
método add_image
Mantener una imagen asociada a este thread.
description se almacena como texto que permite la búsqueda de la imagen. Cuando se omite o None, un LLM asociado genera un título. Los valores de ámbito omitidos heredan los identificadores de usuario, agente y thread correspondientes de este thread.
- 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: afirmaciones de ámbito opcionales. Los valores omitidos heredan el ámbito de este thread; los valores proporcionados deben coincidir exactamente con él. - agent_id
str | None: afirmaciones de ámbito opcionales. Los valores omitidos heredan el ámbito de este thread; los valores proporcionados deben coincidir exactamente con él. - thread_id
str: afirmaciones de ámbito opcionales. Los valores omitidos heredan el ámbito de este thread; los valores proporcionados deben coincidir exactamente con él. - 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
method add_image_async (async)
Mantener una imagen asociada a este thread de forma asíncrona.
description se almacena como texto que permite la búsqueda de la imagen. Cuando se omite o None, un LLM asociado genera un título. Los valores de ámbito omitidos heredan los identificadores de usuario, agente y thread correspondientes de este thread.
- 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: afirmaciones de ámbito opcionales. Los valores omitidos heredan el ámbito de este thread; los valores proporcionados deben coincidir exactamente con él. - agent_id
str | None: afirmaciones de ámbito opcionales. Los valores omitidos heredan el ámbito de este thread; los valores proporcionados deben coincidir exactamente con él. - thread_id
str: afirmaciones de ámbito opcionales. Los valores omitidos heredan el ámbito de este thread; los valores proporcionados deben coincidir exactamente con él. - 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 entrada de memoria manual e indíquela.
- Parámetros:
- content
str: contenido de texto que se va a almacenar como memoria. - 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: sustitución de identificador de usuario opcional. - agent_id
str: sustitución de identificador de agente opcional. - thread_id
str: sustitución de identificador de thread opcional. - 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, proporcione un valor de registro de hora ISO-8601 concreto. 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. La caducidad anclada en el registro de hora requiere un registro de hora ISO-8601 concreto para esta 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 thread. 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 propiedad del thread existente. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. Omita ambos para no crear ningún enlace explícito. - link_type
Literal['supersedes', 'contradicts', 'refines', 'supports', 'duplicates'] | ~oracleagentmemory._notset._NotSetMarker: juntos, cree un enlace dirigido desde la nueva memoria a esta memoria propiedad del thread existente. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. Omita ambos para no crear ningún enlace explícito. - 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
thread.add_memory("Remember this preference", memory_id="mem-thread-docs")
'mem-thread-docs'
method add_memory_async (async)
Agregue una entrada de memoria manual e indíquela de forma asíncrona.
- Parámetros:
- content
str: contenido de texto que se va a almacenar como memoria. - 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: sustitución de identificador de usuario opcional. - agent_id
str: sustitución de identificador de agente opcional. - thread_id
str: sustitución de identificador de thread opcional. - 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, proporcione un valor de registro de hora ISO-8601 concreto. 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. La caducidad anclada en el registro de hora requiere un registro de hora ISO-8601 concreto para esta 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 thread. 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 propiedad del thread existente. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. Omita ambos para no crear ningún enlace explícito. - link_type
Literal['supersedes', 'contradicts', 'refines', 'supports', 'duplicates'] | ~oracleagentmemory._notset._NotSetMarker: juntos, cree un enlace dirigido desde la nueva memoria a esta memoria propiedad del thread existente. Los ámbitos de usuario, agente y thread omitidos heredan de ese destino. Omita ambos para no crear ningún enlace explícito. - 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
import asyncio
asyncio.run(thread.add_memory_async(
"Remember this preference", memory_id="mem-thread-docs-async"
))
'mem-thread-docs-async'
método add_messages
Agregar mensajes al hilo y indexarlos.
En el modo de extracción en segundo plano, este método se devuelve después de insertar los mensajes raw y de intentar la extracción en segundo plano en segundo plano.
Los mensajes raw se almacenan antes de la extracción automática en cualquier modo. Si falla la extracción posterior o el almacenamiento de memoria derivada, los mensajes raw permanecen almacenados mientras faltan las memorias derivadas o las actualizaciones de resumen.
- Parámetros:
- messages
Sequence[Message | ThreadMessageTypedDictT | Mapping[str, str | Sequence[Mapping[str, Any]] | Mapping[str, Any] | None]]: lista de mensajes que se van a agregar. Los mensajes pueden ser objetosMessageo diccionarios conroleycontent(yidopcional). - metadata
dict[str, Any] | None | list[dict[str, Any] | None]: metadatos opcionales compartidos o por mensaje que se conservan. Cuando se omite, se utilizan los metadatos embebidos en cada mensaje. - ttl_days
int | None | list[int | None]: duración opcional del tiempo de vida en días para los mensajes agregados. 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 crear mensajes que no caduquen cuando no lo haga. Los valores por encima deMemoryRetentionConfig.max_ttl_daysse sujetan a ese máximo con una advertencia. Los valores escalares se aplican al lote completo. - ttl_anchor
TimeToLiveAnchor | list[TimeToLiveAnchor]: anclaje de tiempo de vida opcional. UtiliceTimeToLiveAnchor.CREATED_ATpara la hora de creación de la base de datos oTimeToLiveAnchor.TIMESTAMPpara cada registro de hora de mensaje. La caducidad anclada en el registro de hora requiere un registro de hora ISO-8601 concreto para cada mensaje afectado. Cuando se omite, los mensajes caducan en relación conTimeToLiveAnchor.CREATED_AT. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - **store_kwargs (Cualquiera): opciones de escritura específicas del almacén reenviadas al almacén de copia de seguridad.
- messages
- Devoluciones: identificadores de los registros de mensajes insertados. En el modo de extracción en segundo plano, es posible que el trabajo de extracción automática aún se esté ejecutando cuando se devuelvan estos identificadores.
- Tipo de devolución: list[str]
Notas
En MemoryExtractionMode.BACKGROUND, los mensajes raw se mantienen antes de que se almacenen las memorias extraídas. Si la extracción en segundo plano no se pone en cola o si una espera de capacidad de cola configurada alcanza su timeout, los mensajes raw insertados permanecen almacenados y la llamada continúa sin memorias extraídas o emite TimeoutError, según background_extraction_queue_full_behavior.
Ejemplos
len(thread.add_messages([{"role": "user", "content": "Thread message from docs"}]))
1
method add_messages_async (async)
Agregar mensajes al thread de forma asíncrona e indexarlos.
En el modo de extracción en segundo plano, este método se devuelve después de insertar los mensajes raw y de intentar la extracción en segundo plano en segundo plano.
Los mensajes raw se almacenan antes de la extracción automática en cualquier modo. Si falla la extracción posterior o el almacenamiento de memoria derivada, los mensajes raw permanecen almacenados mientras faltan las memorias derivadas o las actualizaciones de resumen.
En MemoryExtractionMode.BACKGROUND, los mensajes raw se mantienen antes de que se almacenen las memorias extraídas. Si la extracción en segundo plano no se pone en cola o si una espera de capacidad de cola configurada alcanza su timeout, los mensajes raw insertados permanecen almacenados y la llamada continúa sin memorias extraídas o emite TimeoutError, según background_extraction_queue_full_behavior.
- Parámetros:
- mensajes
Sequence[Message | ThreadMessageTypedDictT | Mapping[str, str | Sequence[Mapping[str, Any]] | Mapping[str, Any] | None]] - metadatos
dict[str, Any] | None | list[dict[str, Any] | None] - ttl_days
int | None | list[int | None] - ttl_anchor
TimeToLiveAnchor | list[TimeToLiveAnchor] - store_kwargs
Any
- mensajes
- Tipo de devolución: list[str]
método delete_image
Borrar una imagen que pertenece a este tema.
- Parámetros: image_id
str: identificador de la imagen que se va a suprimir. - Devuelve:
1cuando se suprime, de lo contrario,0cuando la imagen no existe o pertenece a otro thread. - 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)
Suprimir una imagen propiedad de este thread de forma asíncrona.
- Parámetros: image_id
str: identificador de la imagen que se va a suprimir. - Devuelve:
1cuando se suprime, de lo contrario,0cuando la imagen no existe o pertenece a otro thread. - 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) de este thread exacto por identificador.
- Parámetros: memory_id
str: identificador de memoria. Solo se suprimen los registros similares a la memoria (memory,guideline,fact,preference) cuyothread_idalmacenado coincida exactamente con este thread. - Devoluciones: número de registros eliminados (0 o 1). Devuelve
0cuando el identificador no existe o pertenece a un thread diferente. - Tipo de devolución: int
- Problemas: TimeoutError: se ha generado sin eliminar el registro cuando la extracción en segundo plano aceptada anteriormente para este thread no finaliza en 300 segundos.
Notas
Antes de suprimir el registro, este método espera a que se acepte una extracción en segundo plano anterior para este thread mediante el componente de memoria del agente asociado. No espera a que se acepte el trabajo después de que comience la espera o al trabajo iniciado por otro componente o proceso.
Ejemplos
thread.delete_memory("456")
0
method delete_memory_async (async)
Eliminar un registro similar a la memoria (por ejemplo, una memoria, un hecho, una preferencia o una directriz) de este thread exacto por identificador de forma asíncrona.
- Parámetros: memory_id
str: identificador de memoria. Solo se suprimen los registros similares a la memoria (memory,guideline,fact,preference) cuyothread_idalmacenado coincida exactamente con este thread. - Devoluciones: número de registros eliminados (0 o 1). Devuelve
0cuando el identificador no existe o pertenece a un thread diferente. - Tipo de devolución: int
- Problemas: TimeoutError: se ha generado sin eliminar el registro cuando la extracción en segundo plano aceptada anteriormente para este thread 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_memory().
Ejemplos
import asyncio
asyncio.run(thread.delete_memory_async("456"))
0
método delete_message
Eliminar un registro de mensaje de este hilo exacto por identificador.
- Parámetros: message_id
str– Identificador de mensaje. Solo se suprimen los mensajes cuyothread_idalmacenado coincida exactamente con este thread. - Devoluciones: número de registros de mensajes eliminados (0 o 1). Devuelve
0cuando el identificador no existe o pertenece a un thread diferente. - Tipo de devolución: int
- Elevaciones: TimeoutError: se ha generado sin suprimir el mensaje cuando la extracción en segundo plano aceptada anteriormente para este thread no finaliza en 300 segundos.
Notas
Antes de suprimir el mensaje, este método espera a que se acepte una extracción en segundo plano anterior para este thread a través del componente de memoria del agente asociado. No espera a que se acepte el trabajo después de que comience la espera o al trabajo iniciado por otro componente o proceso.
Al eliminar un mensaje, solo se elimina el registro de mensaje sin formato. Las memorias derivadas no se eliminan porque todavía no rastreamos qué memorias extraídas provienen de qué mensaje, por lo que pueden seguir siendo buscables o aún afectar la salida de la tarjeta de contexto. Utilice OracleAgentMemory.delete_thread() para suprimir el thread junto con sus mensajes y memorias asociados.
Ejemplos
thread.delete_message("123")
0
method delete_message_async (async)
Eliminar un registro de mensaje de este thread exacto por identificador de forma asíncrona.
- Parámetros: message_id
str– Identificador de mensaje. Solo se suprimen los mensajes cuyothread_idalmacenado coincida exactamente con este thread. - Devoluciones: número de registros de mensajes eliminados (0 o 1). Devuelve
0cuando el identificador no existe o pertenece a un thread diferente. - Tipo de devolución: int
- Elevaciones: TimeoutError: se ha generado sin suprimir el mensaje cuando la extracción en segundo plano aceptada anteriormente para este thread 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_message().
Al eliminar un mensaje, solo se elimina el registro de mensaje sin formato. Las memorias derivadas no se eliminan porque todavía no rastreamos qué memorias extraídas provienen de qué mensaje, por lo que pueden seguir siendo buscables o aún afectar la salida de la tarjeta de contexto. Utilice OracleAgentMemory.delete_thread() para suprimir el thread junto con sus mensajes y memorias asociados.
Ejemplos
import asyncio
asyncio.run(thread.delete_message_async("123"))
0
método delete_record_link
Suprima una relación propiedad de thread por ID o tupla de punto final completa.
Los selectores de tupla de punto final deben utilizar la orientación de origen a destino almacenada.
- Parámetros:
- source_record_id
str: identificador de origen para un selector de tupla de punto final. - source_record_type
str: tipo de registro de origen lógico para un selector de tupla de punto final. - target_record_id
str: identificador de destino para un selector de tupla de punto final. - target_record_type
str: tipo de registro de destino lógico para un selector de tupla de punto final. - relation_type
str: etiqueta de origen a destino para un selector de tupla de punto final. - relation_id
str: identificador de relación que se debe seleccionar directamente. Proporcione este argumento solo.
- source_record_id
- Devoluciones: número de relaciones suprimidas, ya sea
0o1. - Tipo de devolución: int
Ejemplos
thread.delete_record_link(relation_id="relation-id")
1
method delete_record_link_async (async)
Suprima de forma asíncrona una relación que sea propiedad de este thread.
- 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 get_context_card
Devolver un objeto de tarjeta de contexto para el thread.
Preferir get_context_card_async cuando una implementación respaldada por LLM puede realizar E/S de red remota.
- Parámetros:
- fallback_message_count
int: número de mensajes recientes que se utilizarán al derivar el texto de resumen de reserva para la recuperación y la representación. Cuando se omite, se resuelve en5. -
max_relevant_results
int(resultados relevantes máximos):Número máximo de registros relevantes (como, por ejemplo, datos/preferencias, así como mensajes) para incluir en la sección
<relevant_information>de la tarjeta de contexto.- Si se omiten este valor y
min_relevant_results_by_type,max_relevant_resultsse resuelve en5. - Si se proporciona
min_relevant_results_by_type,max_relevant_resultsse resuelve enmax(max_relevant_results, sum(min_relevant_results_by_type.values())).
- Si se omiten este valor y
- token_budget
int | None: límite obligatorio opcional para el recuento de tokens estimado de los resultados relevantes formateados en la tarjeta de contexto. Cuando se omite, se utiliza la configuración de búsqueda de thread. 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 se ajusta, no se incluyen resultados relevantes. Los valores no positivos desactivan el límite. - soft_token_budget
int | None: destino opcional para el recuento de tokens estimado de los resultados relevantes formateados. Cuando se omite, se utiliza la configuración de búsqueda de thread. 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. - max_recent_messages
int: número máximo de mensajes de conversación recientes que se deben incluir en la sección<recent_messages>de la tarjeta contextual. Cuando se omite,max_recent_messagesse resuelve en0. -
excepto_last_messages
int:Número de mensajes finales que se excluirán del resumen generado y la búsqueda de información relevante incluida en la tarjeta de contexto. Esto evita que los mensajes proporcionados por separado en las peticiones de datos del LLM se dupliquen en la tarjeta de contexto. Utilice uno de estos patrones:
-
- Cola raw externa (recomendada para el almacenamiento en caché de peticiones de datos):
get_context_card(except_last_messages=N, max_recent_messages=0)La petición de datos contiene la tarjeta de contexto seguida de los últimos mensajes rawN.
-
- Tarjeta de contexto autónoma:
get_context_card(except_last_messages=N, max_recent_messages=N)La tarjeta de contexto contiene los últimos mensajesNen sí.
Si no es cero,
max_recent_messagesdebe ser0o el mismo valor. -
- min_relevant_results_by_type
Mapping[Literal['message', 'memory', 'guideline', 'fact', 'preference'], int] | None | ~oracleagentmemory._notset._NotSetMarker: mínimos opcionales por tipo para registros relevantes incluidos en la tarjeta de contexto. Los tipos solicitados se buscan primero y las ranurasmax_relevant_resultsrestantes se rellenan a partir de todos los tipos de registro similares a la memoria admitidos. Las claves admitidas son"memory","fact","guideline","preference"y"message". Los resultado del mensaje están limitados al thread actual. -
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 al buscar registros similares a la memoria para incluirlos en la tarjeta de contexto. 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": "chat"}para un campo escalar,metadata_filter={"travel": {"need": "transit"}}para un campo anidado ymetadata_filter={"tags": ["trip", "urgent"]}para una coincidencia de lista exacta. Combinar condiciones para requerir todas ellas:metadata_filter={ "source": "chat", "travel": {"need": "transit"}, "tags": ["trip", "urgent"], }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": "chat", "tags": { "$array_contains": "trip", "$not": {"$array_contains": "archived"}, }, } - include_invalid_results
bool: indica si los registros relevantes en el estado de ciclo de vida no válido se incluyen en la tarjeta contextual. Omita este argumento o transfieraTruepara incluirlos. TransfieraFalsepara excluirlos. - **kwargs (cualquiera): reservado para futuras opciones de tarjeta contextual. Los argumentos de palabra clave inesperados generan
TypeError.
- fallback_message_count
- Devoluciones: objeto de tarjeta de contexto que contiene un resumen de contexto de thread basado en los mensajes más recientes. Utilice
OracleContextCard.contentpara acceder al texto similar a XML presentado. - Tipo De Retorno: OracleContextCard
Notas
Esto utiliza el ámbito de búsqueda predeterminado del thread con exact_thread_match=False, por lo que se pueden incluir memorias relevantes de otros threads para el mismo usuario/agente.
Ejemplos
thread.add_memory("User likes pizza", memory_id="mem-context-docs")
'mem-context-docs'
len(thread.add_messages([{"role": "user", "content": "Tell me about pizza"}]))
1
"User likes pizza" in thread.get_context_card().content
True
card = thread.get_context_card(
max_relevant_results=4,
min_relevant_results_by_type={"memory": 1},
)
len(card.relevant_results or []) <= 4
True
method get_context_card_async (async)
Devolver de forma asíncrona un objeto de tarjeta de contexto para el thread.
- Parámetros:
- fallback_message_count
int: número de mensajes recientes que se utilizarán al derivar el texto de resumen de reserva para la recuperación y la representación. Cuando se omite, se resuelve en5. -
max_relevant_results
int(resultados relevantes máximos):Número máximo de registros relevantes (como, por ejemplo, datos/preferencias, así como mensajes) para incluir en la sección
<relevant_information>de la tarjeta de contexto.- Si se omiten este valor y
min_relevant_results_by_type,max_relevant_resultsse resuelve en5. - Si se proporciona
min_relevant_results_by_type,max_relevant_resultsse resuelve enmax(max_relevant_results, sum(min_relevant_results_by_type.values())).
- Si se omiten este valor y
- token_budget
int | None: límite obligatorio opcional para el recuento de tokens estimado de los resultados relevantes formateados en la tarjeta de contexto. Cuando se omite, se utiliza la configuración de búsqueda de thread. 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 se ajusta, no se incluyen resultados relevantes. Los valores no positivos desactivan el límite. - soft_token_budget
int | None: destino opcional para el recuento de tokens estimado de los resultados relevantes formateados. Cuando se omite, se utiliza la configuración de búsqueda de thread. 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. - max_recent_messages
int: número máximo de mensajes de conversación recientes que se deben incluir en la sección<recent_messages>de la tarjeta contextual. Cuando se omite,max_recent_messagesse resuelve en0. -
excepto_last_messages
int:Número de mensajes finales que se excluirán del resumen generado y la búsqueda de información relevante incluida en la tarjeta de contexto. Esto evita que los mensajes proporcionados por separado en las peticiones de datos del LLM se dupliquen en la tarjeta de contexto. Utilice uno de estos patrones:
-
- Cola raw externa (recomendada para el almacenamiento en caché de peticiones de datos):
get_context_card(except_last_messages=N, max_recent_messages=0)La petición de datos contiene la tarjeta de contexto seguida de los últimos mensajes rawN.
-
- Tarjeta de contexto autónoma:
get_context_card(except_last_messages=N, max_recent_messages=N)La tarjeta de contexto contiene los últimos mensajesNen sí.
Si no es cero,
max_recent_messagesdebe ser0o el mismo valor. -
- min_relevant_results_by_type
Mapping[Literal['message', 'memory', 'guideline', 'fact', 'preference'], int] | None | ~oracleagentmemory._notset._NotSetMarker: mínimos opcionales por tipo para registros relevantes incluidos en la tarjeta de contexto. Los tipos solicitados se buscan primero y las ranurasmax_relevant_resultsrestantes se rellenan a partir de todos los tipos de registro similares a la memoria admitidos. Las claves admitidas son"memory","fact","guideline","preference"y"message". Los resultado del mensaje están limitados al thread actual. -
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 al buscar registros similares a la memoria para incluirlos en la tarjeta de contexto. 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": "chat"}para un campo escalar,metadata_filter={"travel": {"need": "transit"}}para un campo anidado ymetadata_filter={"tags": ["trip", "urgent"]}para una coincidencia de lista exacta. Combinar condiciones para requerir todas ellas:metadata_filter={ "source": "chat", "travel": {"need": "transit"}, "tags": ["trip", "urgent"], }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": "chat", "tags": { "$array_contains": "trip", "$not": {"$array_contains": "archived"}, }, } - include_invalid_results
bool: indica si los registros relevantes en el estado de ciclo de vida no válido se incluyen en la tarjeta contextual. Omita este argumento o transfieraTruepara incluirlos. TransfieraFalsepara excluirlos. - **kwargs (cualquiera): reservado para futuras opciones de tarjeta contextual. Los argumentos de palabra clave inesperados generan
TypeError.
- fallback_message_count
- Devuelve: un objeto de tarjeta de contexto para el thread.
- Tipo De Retorno: OracleContextCard
Ejemplos
import asyncio
card = asyncio.run(thread.get_context_card_async(
min_relevant_results_by_type={"preference": 1, "guideline": 1},
))
len(card.relevant_results or []) <= 5
True
método get_message
Devolver un mensaje propiedad de este hilo.
Las partes de la imagen se devuelven con sus identificadores y descripciones por defecto. Transfiera included_image_ids para cargar bytes para las partes de imagen seleccionadas. Se ignoran los identificadores no relacionados.
- Parámetros:
- message_id
str: identificador del mensaje que se recuperará. El mensaje debe pertenecer a este hilo. - included_image_ids
list[str]: lista opcional de identificadores de imágenes adjuntas cuyos bytes se deben cargar. Omita este argumento o transfieraNonepara devolver metadatos de imagen sin cargar bytes.
- message_id
- Devoluciones: el mensaje solicitado, incluidas las partes de la imagen asociada.
- Tipo de devolución: Mensaje
- Incidencias: KeyError: si el mensaje no existe o pertenece a otro thread.
method get_message_async (async)
Devolver un mensaje propiedad de thread de forma asíncrona.
included_image_ids selecciona opcionalmente partes de imagen adjuntas cuyos bytes se deben cargar; omite o None devuelve sólo metadatos de imagen.
- Parámetros:
- message_id
str: identificador del mensaje que se recuperará. El mensaje debe pertenecer a este hilo. - included_image_ids
list[str]: lista opcional de identificadores de imagen adjuntos para hidratar.
- message_id
- Devoluciones: el mensaje solicitado, incluidas las partes de la imagen asociada.
- Tipo de devolución: Mensaje
- Incidencias: KeyError: si el mensaje no existe o pertenece a otro thread.
método get_messages
Devolver mensajes almacenados para este tema.
- Parámetros:
- start
int | None: índice de inicio (basado en 0). Cuando se omite junto conend, se devuelve la ventana delimitada más reciente. - end
int | None: índice final (exclusivo). Cuando se omite, se devuelve una ventana delimitada de los mensajes más recientes. TransfieraNoneo-1para solicitar explícitamente todos los mensajes destarten adelante. - include_image_bytes
bool: indica si se deben cargar bytes para partes de imágenes asociadas a los mensajes devueltos. Omita este argumento o transfieraFalsepara devolver metadatos de imagen sin cargar valores BLOB.
- start
- Devoluciones: mensajes en orden cronológico.
- Tipo de devolución: list[Mensaje]
Ejemplos
len(thread.add_messages([{"role": "user", "content": "Stored message example"}]))
1
messages = thread.get_messages()
messages[-1].content
'Stored message example'
method get_messages_async (async)
Obtenga los mensajes sin procesar del thread como se han agregado con add_messages de forma asíncrona.
- Parámetros:
- start
int | None: índice de inicio (basado en 0). Cuando se omite junto conend, se devuelve la ventana delimitada más reciente. - end
int | None: índice final (exclusivo). Cuando se omite, se devuelve una ventana delimitada de los mensajes más recientes. TransfieraNoneo-1para solicitar explícitamente todos los mensajes destarten adelante. - include_image_bytes
bool: indica si se deben cargar bytes para partes de imágenes asociadas a los mensajes devueltos. Omita este argumento o transfieraFalsepara devolver metadatos de imagen sin cargar valores BLOB.
- start
- Devoluciones: mensajes en orden cronológico.
- Tipo de devolución: list[Mensaje]
Ejemplos
import asyncio
message_ids = asyncio.run(thread.add_messages_async(
[{"role": "user", "content": "Stored message example"}]
))
len(message_ids)
1
messages = asyncio.run(thread.get_messages_async())
messages[-1].content
'Stored message example'
método get_summary
Devolver un resumen del thread.
Una solicitud de thread completo reutiliza o refresca el resumen duradero. Una solicitud con except_last resume ese prefijo sin cambiar el resumen duradero de thread completo.
Preferir get_summary_async cuando una implementación respaldada por LLM puede realizar E/S de red remota.
- Parámetros:
- excepto_último
int: número de mensajes más recientes que se deben excluir del resumen. - token_budget
int: presupuesto de token de software. Cuando se omite, se aplica un valor por defecto delimitado. Los valores positivos sólo se truncan cuando el resumen con formato supera el presupuesto. Los valores no positivos desactivan el truncamiento basado en presupuestos; las reservas de transcripción permanecen limitadas a 4.000 caracteres. - **kwargs (cualquiera): reservado para opciones de resumen futuras. Los argumentos de palabra clave inesperados generan
TypeError.
- excepto_último
- Devoluciones: objeto de resumen que contiene el texto de resumen del hilo sintetizado.
- Tipo de retorno: OracleSummary
Ejemplos
len(thread.add_messages([{"role": "assistant", "content": "Summary source message"}]))
1
summary = thread.get_summary()
bool(summary.content)
True
method get_summary_async (async)
Devuelve de forma asíncrona un resumen del thread.
Una solicitud de thread completo reutiliza o refresca el resumen duradero. Una solicitud con except_last resume ese prefijo sin cambiar el resumen duradero de thread completo.
- Parámetros:
- excepto_último
int: número de mensajes más recientes que se deben excluir del resumen. - token_budget
int: presupuesto de token de software. Cuando se omite, se aplica un valor por defecto delimitado. Los valores positivos sólo se truncan cuando el resumen con formato supera el presupuesto. Los valores no positivos desactivan el truncamiento basado en presupuestos; las reservas de transcripción permanecen limitadas a 4.000 caracteres. - **kwargs (cualquiera): reservado para opciones de resumen futuras. Los argumentos de palabra clave inesperados generan
TypeError.
- excepto_último
- Devoluciones: objeto de resumen que contiene el texto de resumen del hilo sintetizado.
- Tipo de retorno: OracleSummary
método link_records
Cree una relación dirigida entre dos registros que sean propiedad de este thread.
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.
Ambos puntos finales deben pertenecer a este thread exacto. Solo se puede almacenar una orientación para un par de puntos finales. opposite_relation_type nombra la relación al pasar del destino al origen; por ejemplo, new "supersedes" old se convierte en old "is_superseded_by" new en esa dirección.
- Parámetros:
- source_record_id
str: identificador del registro de origen propiedad del subproceso. - source_record_type
str: tipo lógico del registro de origen. - target_record_id
str: identificador del registro de destino propiedad del subproceso. - target_record_type
str: tipo lógico del registro de destino. - relation_type
str: etiqueta de relación de origen a destino. - opposite_relation_type
str: etiqueta de reversión opcional. Para un tipo de relación de memoria incorporada, la omisión utiliza su etiqueta inversa predefinida; para un tipo de relación personalizada, 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 almacenado en la relación. - metadata
dict[str, Any] | None: metadatos de relación opcionales.
- source_record_id
- Devoluciones: identificador de la relación creada.
- Tipo de devolución: str
Ejemplos
thread.link_records(
"fact-1", "fact", "memory-1", "memory", "supports"
)
'relation-id'
method link_records_async (async)
Cree de forma asíncrona una relación entre los registros que pertenecen a este thread.
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_images
Mostrar registros de imagen propiedad de este thread.
Los registros devueltos contienen metadatos de imagen por defecto. Los bytes sin formato solo se cargan cuando se proporcionan include_bytes=True y image_id.
- Parámetros:
- image_id
str: identificador opcional utilizado para filtrar las imágenes. Cuando se omite, no se aplica ningún filtro de identificador. - metadata_filter
dict[str, Any] | None: filtro opcional aplicado a los metadatos de imagen. - include_bytes
bool: indica si se deben cargar los bytes raw. Esto requiereimage_id. - limit
int | None: número máximo opcional de registros. TransfieraNonepara desactivar el límite por defecto del almacén.
- image_id
- Devoluciones: imágenes coincidentes en orden de tienda.
- Tipo de devolución: list[ImageRecord]
method list_images_async (async)
Mostrar registros de imágenes propiedad de este thread de forma asíncrona.
Los registros devueltos contienen metadatos de imagen por defecto. Los bytes sin formato solo se cargan cuando se proporcionan include_bytes=True y image_id. El ámbito de este thread se aplica automáticamente.
- Parámetros:
- image_id
str: identificador opcional utilizado para filtrar las imágenes. Cuando se omite, no se aplica ningún filtro de identificador. - metadata_filter
dict[str, Any] | None: filtro opcional aplicado a los metadatos de imagen. - include_bytes
bool: indica si se deben cargar los bytes raw. Esto requiereimage_id. - limit
int | None: número máximo opcional de registros. TransfieraNonepara desactivar el límite por defecto del almacén.
- image_id
- Devoluciones: imágenes coincidentes en orden de tienda.
- Tipo de devolución: list[ImageRecord]
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: sustitución de ámbito de usuario opcional. Los valores omitidos heredan el ámbito de usuario por defecto del thread. - agent_id
str | None: sustitución de ámbito de agente opcional. Los valores omitidos heredan el ámbito de agente por defecto del thread. - thread_id
str | None: sustitución de ámbito de thread opcional. Los valores omitidos heredan el identificador de thread actual del thread. - exact_user_match
bool: indica si la coincidencia de usuarios debe ser estricta. - exact_agent_match
bool: indica si la coincidencia de agentes debe ser estricta. - exact_thread_match
bool: si la coincidencia de subprocesos debe ser estricta. - 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. La llamada puede devolver menos demax_resultscuando existen menos registros coincidentes no vencidos. - 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": "chat"}para un campo escalar,metadata_filter={"travel": {"need": "transit"}}para un campo anidado ymetadata_filter={"tags": ["trip", "urgent"]}para una coincidencia de lista exacta. Combinar condiciones para requerir todas ellas:metadata_filter={ "source": "chat", "travel": {"need": "transit"}, "tags": ["trip", "urgent"], }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": "chat", "tags": { "$array_contains": "trip", "$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. Se conservan los resultados de mensajes directos, imágenes y perfiles, pero no se expanden mediante gráficos. - 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.
- 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 que1o simetadata_filterno es un diccionario niNone.
Notas
Los campos de ámbito omitidos heredan el ámbito de búsqueda por defecto de este thread: coincidencia exacta de usuario y agente más los valores user_id, agent_id y thread_id actuales de este thread. La búsqueda de subprocesos predeterminada deja intencionadamente exact_thread_match=False, por lo que puede devolver registros relevantes de otros subprocesos para el mismo usuario/agente. Transfiera exact_thread_match=True para restringir los resultados al thread actual. 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 valores None almacenados.
Los valores max_results explícitos deben ser al menos 1; al omitir el argumento se utiliza el valor por defecto de 10. Este es un límite superior: la llamada puede devolver menos de max_results resultados cuando los filtros son demasiado restrictivos, cuando hay menos registros coincidentes o debido al comportamiento de búsqueda específico de la implementació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: sustitución de ámbito de usuario opcional. Los valores omitidos heredan el ámbito de usuario por defecto del thread. - agent_id
str | None: sustitución de ámbito de agente opcional. Los valores omitidos heredan el ámbito de agente por defecto del thread. - thread_id
str | None: sustitución de ámbito de thread opcional. Los valores omitidos heredan el identificador de thread actual del thread. - exact_user_match
bool: indica si la coincidencia de usuarios debe ser estricta. - exact_agent_match
bool: indica si la coincidencia de agentes debe ser estricta. - exact_thread_match
bool: si la coincidencia de subprocesos debe ser estricta. - 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": "chat"}para un campo escalar,metadata_filter={"travel": {"need": "transit"}}para un campo anidado ymetadata_filter={"tags": ["trip", "urgent"]}para una coincidencia de lista exacta. Combinar condiciones para requerir todas ellas:metadata_filter={ "source": "chat", "travel": {"need": "transit"}, "tags": ["trip", "urgent"], }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": "chat", "tags": { "$array_contains": "trip", "$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. Se conservan los resultados de mensajes directos, imágenes y perfiles, pero no se expanden mediante gráficos. - 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.
- 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 que1o simetadata_filterno es un diccionario niNone.
Notas
Los campos de ámbito omitidos heredan el ámbito de búsqueda por defecto de este thread: coincidencia exacta de usuario y agente más los valores user_id, agent_id y thread_id actuales de este thread. La búsqueda de subprocesos predeterminada deja intencionadamente exact_thread_match=False, por lo que puede devolver registros relevantes de otros subprocesos para el mismo usuario/agente. Transfiera exact_thread_match=True para restringir los resultados al thread actual. 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 valores None almacenados.
Los valores max_results explícitos deben ser al menos 1; al omitir el argumento se utiliza el valor por defecto de 10. Este es un límite superior: la llamada puede devolver menos de max_results resultados cuando los filtros son demasiado restrictivos, cuando hay menos registros coincidentes o debido al comportamiento de búsqueda específico de la implementación.
método update_image
Actualice una imagen que sea propiedad de este thread.
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. La caducidad de una imagen asociada a un mensaje se debe cambiar mediante update_message().
- 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.
- Parámetros:
- ID_imagen
str - imagen
bytes - descripción
str | None - tipo_mime
ImageMimeType - metadatos
dict[str, Any] | None - registro de hora
str | None - ttl_days
int | None - ttl_anchor
TimeToLiveAnchor - kwargs
Any
- ID_imagen
method update_image_async (async)
Actualice una imagen propiedad de este thread de forma asíncrona.
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. La caducidad de una imagen asociada a un mensaje se debe cambiar mediante update_message_async().
- 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.
- Parámetros:
- ID_imagen
str - imagen
bytes - descripción
str | None - tipo_mime
ImageMimeType - metadatos
dict[str, Any] | None - registro de hora
str | None - ttl_days
int | None - ttl_anchor
TimeToLiveAnchor - kwargs
Any
- ID_imagen
método update_memory
Actualice un registro similar a la memoria que sea propiedad de este thread exacto.
- Parámetros:
- memory_id
str: identificador de memoria. Solo se actualizan los registros similares a la memoria (memory,guideline,fact,preference) cuyothread_idalmacenado coincida exactamente con este thread. - 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 de sustitución deben ser cadenas ISO-8601. 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 thread 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 thread utilizaTimeToLiveAnchor.CREATED_AT. Los refrescamientos con registro de hora anclados requieren un registro de hora ISO-8601 de sustitución en la misma llamada o un registro de hora de evento almacenado existente en ese formato. 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
method update_memory_async (async)
Actualice un registro similar a la memoria propiedad de este thread exacto de forma asíncrona.
- Parámetros:
- memory_id
str: identificador de memoria. Solo se actualizan los registros similares a la memoria (memory,guideline,fact,preference) cuyothread_idalmacenado coincida exactamente con este thread. - 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 de sustitución deben ser cadenas ISO-8601. 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 thread 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 thread utilizaTimeToLiveAnchor.CREATED_AT. Los refrescamientos con registro de hora anclados requieren un registro de hora ISO-8601 de sustitución en la misma llamada o un registro de hora de evento almacenado existente en ese formato. 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
Ejemplos
import asyncio
memory_id = asyncio.run(thread.add_memory_async("Original memory"))
(
asyncio.run(thread.update_memory_async(
memory_id, content="Updated memory"
))
== memory_id
)
True
método update_message
Actualizar un registro de mensaje raw propiedad de este thread exacto.
- Parámetros:
- message_id
str: identificador de mensaje. Solo se actualizan los mensajes cuyothread_idalmacenado coincida exactamente con este thread. - content
str | list[Mapping[str, Any]]: contenido del mensaje de sustitución opcional. Proporcione una cadena para sustituir el contenido almacenado o una secuencia ordenada de partes de contenido de texto e imagen. Cuando se omite, el contenido almacenado se conserva. Utilice una cadena vacía para sustituirla por contenido de texto vacío. - 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. - 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. Los mensajes caducados no están disponibles para esta API de thread 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 del mensaje oTimeToLiveAnchor.TIMESTAMPpara el registro de hora del evento almacenado. Al proporcionarttl_anchorsinttl_daysse utiliza la duración de tiempo de actividad por defecto del esquema. Cuando se omitettl_anchordurante un refrescamiento, el thread utilizaTimeToLiveAnchor.CREATED_AT. Los refrescamientos con anclaje de registro de hora requieren un registro de hora de mensaje ISO-8601 almacenado existente. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - **kwargs (Cualquiera): se rechazan los argumentos de palabras clave inesperados.
- message_id
- Devoluciones: identificador del registro de mensaje actualizado.
- Tipo de devolución: str
Notas
Los campos omitidos se conservan del registro almacenado. El rol almacenado y el registro de hora permanecen sin cambios. La edición del contenido actualiza el historial de mensajes raw y, cuando la extracción automática está activada, puede hacer que el SDK vuelva a extraer las memorias del mensaje editado y del historial anterior. En el modo INLINE, esa extracción finaliza antes de que se devuelva este método. En el modo BACKGROUND, este método se devuelve después de que la actualización del mensaje raw se realiza correctamente y se intenta la extracción en segundo plano. Este trabajo de seguimiento no afecta a la frecuencia de extracción normal que utilizan las llamadas add_messages() posteriores. Las memorias extraídas existentes permanecen en su lugar mientras que las memorias recién extraídas del contenido editado pueden agregarse. Debido a que la actualización del mensaje sin formato y las escrituras de memoria extraídas posteriores no se producen atómicamente, las memorias extraídas aún pueden reflejar el contenido del mensaje anterior si el trabajo en segundo plano no se pone en cola, si una espera de capacidad de cola configurada alcanza su timeout o si falla el trabajo de extracción posterior. Además, tenga en cuenta que las memorias extraídas existentes mantienen su caducidad original cuando cambia el TTL de un mensaje de origen.
Ejemplos
message_id = thread.add_messages([{"role": "user", "content": "Draft message"}])[0]
thread.update_message(message_id, content="Edited message") == message_id
True
method update_message_async (async)
Actualice un registro de mensaje raw propiedad de este thread exacto de forma asíncrona.
- Parámetros:
- message_id
str: identificador de mensaje. Solo se actualizan los mensajes cuyothread_idalmacenado coincida exactamente con este thread. - content
str | list[Mapping[str, Any]]: contenido del mensaje de sustitución opcional. Proporcione una cadena para sustituir el contenido almacenado o una secuencia ordenada de partes de contenido de texto e imagen. Cuando se omite, el contenido almacenado se conserva. Utilice una cadena vacía para sustituirla por contenido de texto vacío. - 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. - 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. Los mensajes caducados no están disponibles para esta API de thread 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 del mensaje oTimeToLiveAnchor.TIMESTAMPpara el registro de hora del evento almacenado. Al proporcionarttl_anchorsinttl_daysse utiliza la duración de tiempo de actividad por defecto del esquema. Los refrescamientos con anclaje de registro de hora requieren un registro de hora de mensaje ISO-8601 almacenado existente. Los registros de hora ISO-8601 sin zona horaria se tratan como UTC. - **kwargs (Cualquiera): se rechazan los argumentos de palabras clave inesperados.
- message_id
- Devoluciones: identificador del registro de mensaje actualizado.
- Tipo de devolución: str
Notas
Los campos omitidos se conservan del registro almacenado. El rol almacenado y el registro de hora permanecen sin cambios. La edición del contenido actualiza el historial de mensajes raw y, cuando la extracción automática está activada, puede hacer que el SDK vuelva a extraer las memorias del mensaje editado y del historial anterior. En el modo INLINE, esa extracción finaliza antes de que se devuelva este método. En el modo BACKGROUND, este método se devuelve después de que la actualización del mensaje raw se realiza correctamente y se intenta la extracción en segundo plano. Este trabajo de seguimiento no afecta a la frecuencia de extracción normal que utilizan las llamadas add_messages() posteriores. Las memorias extraídas existentes permanecen en su lugar mientras que las memorias recién extraídas del contenido editado pueden agregarse. Debido a que la actualización del mensaje sin formato y las escrituras de memoria extraídas posteriores no se producen atómicamente, las memorias extraídas aún pueden reflejar el contenido del mensaje anterior si el trabajo en segundo plano no se pone en cola, si una espera de capacidad de cola configurada alcanza su timeout o si falla el trabajo de extracción posterior. Además, tenga en cuenta que las memorias extraídas existentes mantienen su caducidad original cuando cambia el TTL de un mensaje de origen.
Ejemplos
import asyncio
message_ids = asyncio.run(thread.add_messages_async(
[{"role": "user", "content": "Draft message"}]
))
(
asyncio.run(thread.update_message_async(
message_ids[0], content="Edited message"
))
== message_ids[0]
)
True
método update_record_link
Actualizar una relación cuyos puntos finales son propiedad de este thread.
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.
- Parámetros:
- relation_id
str: identificador de la relación propiedad del thread. - 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
thread.update_record_link("relation-id", relation_type="supports")
1
method update_record_link_async (async)
Actualizar de forma asíncrona una relación cuyos puntos finales pertenecen a este thread.
- 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 wait_for_memory_extraction
Espere a una extracción de memoria en segundo plano anterior para este thread.
Este método espera a que se inicie la extracción en segundo plano mediante llamadas add_messages(), add_messages_async(), update_message() o update_message_async() anteriores en este thread a través del mismo componente de memoria de agente. Si una de esas llamadas ya está terminando, este método incluye la extracción que comienza antes de esperar.
El método no espera a que se inicie la extracción después de que comience esta espera, a que se inicie la extracción por un componente de memoria de agente diferente 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 la extracción pendiente para este thread haya finalizado. - 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
thread.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(thread.wait_for_memory_extraction_async(timeout=10))
Nota: delete_message() solo suprime la fila de mensaje raw. Los recuerdos derivados pueden seguir siendo buscables o aparecer en las tarjetas de contexto. Utilice OracleAgentMemory.delete_thread() para suprimir el thread junto con sus mensajes y memorias asociados. La supresión de mensajes y memoria a través de un identificador de thread espera a una extracción en segundo plano anterior ya aceptada por el cliente asociado para ese thread. Esta no es una barrera de simultaneidad global para otras instancias, procesos o trabajos de cliente aceptados después de que comience la espera.
Mensajes y contenido del mensaje
clase oracleagentmemory.apis.message.Message
Bases: object
Mensaje en memoria compartido por threads y adaptadores de LLM.
- Parámetros:
- role
str: el rol de mensaje. Los nombres de rol personalizados están permitidos para los mensajes de thread. - content
str | collections.abc.Sequence[oracleagentmemory.apis.message.MessageContent]: texto del mensaje o una secuencia ordenada de partes de TextContent e ImageContent. Una secuencia de contenido no debe estar vacía y se almacena como una tupla inmutable. - timestamp
str | None: registro de hora opcional asociado con el mensaje. - metadata
dict[str, Any] | None: metadatos opcionales compatibles con JSON asociados con el mensaje. - id
str | None: identificador de mensaje estable opcional. Las tiendas generan una cuando el mensaje se agrega sin un identificador.
- role
clase oracleagentmemory.apis.message.MessageContent
Bases: ABC
Clase base para contenido de mensaje estructurado.
- Parámetros:
- id
str: identificador estable para esta parte de contenido. Se genera automáticamente cuando se omite. - timestamp
str | None: registro de hora opcional asociado a esta parte del contenido.
- id
clase oracleagentmemory.apis.message.TextContent
Bases: MessageContent
Parte de texto de un mensaje multimodal.
- Parámetros:
- text
str: texto que lleva esta parte del contenido. - id
str: identificador estable heredado de MessageContent. Se genera automáticamente cuando se omite. - timestamp
str | None: registro de hora opcional heredado de MessageContent.
- text
clase oracleagentmemory.apis.message.ImageContent
Bases: MessageContent
Parte de una imagen en un mensaje multimodal.
- Parámetros:
- bytes
bytes | None: los datos de la imagen cuando están disponibles.Nonese permite cuando un mensaje contiene metadatos de imagen sin cargar los bytes de imagen. - mime_type
oracleagentmemory.apis.message.ImageMimeType: tipo MIME de la imagen. - description
str | None: texto opcional que describe la imagen. CuandoNone, las API de mensajes e imágenes de alto nivel pueden generar una descripción mediante su LLM configurado. - id
str: identificador estable heredado de MessageContent. Se genera automáticamente cuando se omite. - timestamp
str | None: registro de hora opcional heredado de MessageContent.
- bytes
clase oracleagentmemory.apis.message.ImageMimeType
Bases: str, Enum
Tipos MIME soportados para el contenido de imagen.
No se admiten los formatos PNG y WebP animados.
JPEG = 'image/JPEG'
PNG = 'image/PNG'
WEBP = 'image/WEBP'
Tarjetas de contexto
clase oracleagentmemory.apis.contextcard.ContextCard
Bases: ABC
Objeto abstracto de tarjeta de contexto devuelto por las API de thread.
property content (resumen)
- Tipo de devolución: str
- Descripción: devuelve el texto de la tarjeta contextual representada.
clase oracleagentmemory.core.contextcard.OracleContextCard
Bases: ContextCard
Tarjeta de contexto devuelta por un thread de Oracle.
- Parámetros:
- summary
str: texto de resumen incrustado en la tarjeta. - topics
Sequence[str] | None: temas de recuperación opcionales asociados con el thread. - relevant_results
Sequence[SearchResult] | None: registros duraderos recuperados opcionales incluidos en la tarjeta. - recent_messages
Sequence[Message] | None: mensajes raw recientes opcionales representados en la tarjeta. - message_format
str: plantilla interna que se utiliza al representarrecent_messages.
- summary
propiedad content
- Tipo de devolución: str
-
Descripción: devuelve el texto de la tarjeta contextual representada.
- Devoluciones: texto de tarjeta contextual representado similar a XML adecuado para el ensamblaje de la petición de datos.
- Tipo de devolución: str
Ejemplos
card = OracleContextCard(summary="ctx")
"<summary>" in card.content and "ctx" in card.content
True
propiedad formatted_content
- Tipo de devolución: str
-
Descripción: devuelve el texto de la tarjeta contextual representada utilizado en los flujos de creación de peticiones de datos.
- Devoluciones: texto de tarjeta contextual representado similar a XML.
- Tipo de devolución: str
Ejemplos
OracleContextCard(summary="").formatted_content
''
card = OracleContextCard(summary="ctx", topics=["travel"])
"<topics>" in card.formatted_content
True
Resúmenes
clase oracleagentmemory.apis.summary.Summary
Bases: ABC
Objeto abstracto de resumen de thread devuelto por las API de thread.
property content (resumen)
- Tipo de devolución: str
- Descripción: devuelve el texto de resumen sintetizado.
clase oracleagentmemory.core.summary.OracleSummary
Bases: Summary
Resumen devuelto por un thread de Oracle.
- Parámetros: content
str: texto de resumen sintetizado a partir de la transcripción del hilo.
Ejemplos
summary = OracleSummary(content="Plan the Rome itinerary.")
summary.content
'Plan the Rome itinerary.'
str(summary)
'Plan the Rome itinerary.'
propiedad content
- Tipo de devolución: str
-
Descripción: devuelve el texto de resumen sintetizado.
- Devoluciones: texto de resumen para el thread.
- Tipo de devolución: str
Ejemplos
OracleSummary(content="Keep the tea preference in mind.").content
'Keep the tea preference in mind.'
propiedad formatted_content
- Tipo de devolución: str
-
Descripción: devuelve el texto de resumen representado utilizado en los flujos de creación de peticiones de datos.
- Devoluciones: texto de resumen representado.
- Tipo de devolución: str
Ejemplos
OracleSummary(content="Thread recap").formatted_content
'Thread recap'