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

Cree un nuevo manejador de threads.

Ejemplos

import oracledb

from oracleagentmemory.core import OracleAgentMemory
db_pool = oracledb.SessionPool(
    user="YOUR DB USER",
    password="YOUR DB PASSWORD",
    dsn="YOUR DB CONNECT STRING",
)
client = OracleAgentMemory(connection=db_pool, embedder=embedder)
thread = client.create_thread(
    thread_id="c1",
    llm=llm,
    enable_context_summary=True,
)
len(thread.add_messages([{"role": "user", "content": "I love pizza."}]))
1

método add_memory

Agregue una entrada de memoria manual e indíquela.

Ejemplos

thread.add_memory("Remember this preference", memory_id="mem-thread-docs")
'mem-thread-docs'

method add_memory_async (async)

Agregue una memoria de forma asíncrona.

método add_messages

Agregar mensajes al hilo y indexarlos.

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.

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.

Ejemplos

thread.delete_memory("456")
0

método delete_message

Eliminar un registro de mensaje de este hilo exacto por identificador.

Notas

Al eliminar un mensaje, solo se elimina el registro de mensaje sin formato. Las memorias derivadas no se eliminan porque las memorias extraídas no persisten en la procedencia por mensaje, por lo que pueden seguir siendo buscables o afectar a 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

método get_context_card

Devolver un objeto de tarjeta de contexto para el thread.

Prefiera get_context_card_async cuando una implementación respaldada por LLM puede realizar E/S de red remota.

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

method get_context_card_async (async)

Devolver de forma asíncrona un objeto de tarjeta de contexto para el thread.

método get_messages

Devolver mensajes almacenados para este tema.

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)

Devolver mensajes de thread sin procesar de forma asíncrona.

método get_summary

Devolver un resumen de mejor esfuerzo del hilo.

Prefiera get_summary_async cuando una implementación respaldada por LLM puede realizar E/S de red remota.

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)

Devolver de forma asíncrona un resumen de mejor esfuerzo del thread.

Búsqueda sincrónica de registros relevantes para una consulta.

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.

method search_async (async)

Busque de forma asíncrona registros relevantes para una consulta.

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.

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.

Mensajes

clase oracleagentmemory.apis.thread.Message

Bases: object

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)

clase oracleagentmemory.core.contextcard.OracleContextCard

Bases: ContextCard

Tarjeta de contexto devuelta por un thread de Oracle.

propiedad content

Ejemplos

card = OracleContextCard(summary="ctx")
"<summary>" in card.content and "ctx" in card.content
True

propiedad formatted_content

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)

clase oracleagentmemory.core.summary.OracleSummary

Bases: Summary

Resumen devuelto por un thread de Oracle.

Ejemplos

summary = OracleSummary(content="Plan the Rome itinerary.")
summary.content
'Plan the Rome itinerary.'
str(summary)
'Plan the Rome itinerary.'

propiedad content

Ejemplos

OracleSummary(content="Keep the tea preference in mind.").content
'Keep the tea preference in mind.'

propiedad formatted_content

Ejemplos

OracleSummary(content="Thread recap").formatted_content
'Thread recap'