Thread

Questa pagina presenta l'handle di thread Oracle concreto insieme al tipo di applicazione di supporto messaggi rivolto agli sviluppatori.

Thread Oracle

classe oracleagentmemory.core.OracleThread

Basi: IThread

Thread supportato da un negozio Oracle.

Questa implementazione incorpora e memorizza sia i messaggi thread che le memorie aggiunte manualmente, quindi supporta la ricerca di somiglianza su tutti i record memorizzati.

Note

Crea un nuovo handle di thread.

Esempi

from oracleagentmemory.core import OracleAgentMemory
db_pool = ...
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

metodo add_memory

Aggiungere una voce di memoria manuale e indicizzarla.

Esempi

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

metodo add_messages

Aggiungere i messaggi al thread e indicizzarli.

Esempi

len(thread.add_messages([{"role": "user", "content": "Thread message from docs"}]))
1

metodo add_messages_async (asincrono)

Aggiungere i messaggi al thread in modo asincrono e indicizzarli.

metodo delete_memory

Eliminare un record di memoria da questo thread esatto in base all'identificativo.

Esempi

thread.delete_memory("456")
0

metodo delete_message

Eliminare un record messaggio da questo thread esatto in base all'identificativo.

Note

L'eliminazione riuscita cancella lo stato thread-summary derivato in modo che le chiamate di riepilogo e scheda contesto successive vengano rigenerate dalla trascrizione rimanente. Le memorie derivate non vengono eliminate automaticamente perché le memorie estratte attualmente non persistono per provenienza messaggio.

Esempi

thread.delete_message("123")
0

metodo get_context_card

Restituisce una scheda di contesto simile a XML per il thread.

Preferire get_context_card_async quando un'implementazione supportata da LLM può eseguire I/O di rete remota.

Note

Questo utilizza l'ambito di ricerca predefinito del thread con exact_thread_match=False, quindi è possibile includere memorie rilevanti da altri thread per lo stesso utente/agente.

Esempi

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()
True

metodo get_context_card_async (asincrono)

Restituisce in modo asincrono una scheda di contesto simile a XML per il thread.

metodo get_messages

Restituire salvati i messaggi per questa discussione.

Esempi

len(thread.add_messages([{"role": "user", "content": "Stored message example"}]))
1
messages = thread.get_messages()
messages[-1].content
'Stored message example'

metodo get_summary

Restituisce un riepilogo del thread con il miglior sforzo.

Preferire get_summary_async quando un'implementazione supportata da LLM può eseguire I/O di rete remota.

Esempi

len(thread.add_messages([{"role": "assistant", "content": "Summary source message"}]))
1
summary = thread.get_summary()
len(summary) >= 1
True

metodo get_summary_async (asincrono)

Restituisce in modo asincrono un riepilogo del miglior sforzo del thread.

Messaggi

classe oracleagentmemory.apis.thread.Message

Basi: object