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

Elimina un record simile alla memoria (ad esempio, una memoria, un fatto, una preferenza o una linea guida) da questo thread esatto per 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 di un messaggio comporta la rimozione solo del record di messaggio raw. Le memorie derivate non vengono eliminate perché le memorie estratte non persistono per provenienza messaggio, quindi potrebbero rimanere ricercabili o influenzare ancora l'output della scheda contesto. Utilizzare OracleAgentMemory.delete_thread() per eliminare il thread insieme ai messaggi e alle memorie associati.

Esempi

thread.delete_message("123")
0

metodo get_context_card

Restituisce un oggetto context-card 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().content
True

metodo get_context_card_async (asincrono)

Restituisce in modo asincrono un oggetto context-card 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()
bool(summary.content)
True

metodo get_summary_async (asincrono)

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

Nota: delete_message() elimina solo la riga del messaggio raw. I ricordi derivati possono ancora essere ricercabili o apparire nelle schede contesto. Utilizzare OracleAgentMemory.delete_thread() per eliminare il thread insieme ai messaggi e alle memorie associati.

Messaggi

classe oracleagentmemory.apis.thread.Message

Basi: object

Schede contesto

classe oracleagentmemory.apis.contextcard.ContextCard

Basi: ABC

Oggetto context-card astratto restituito dalle API thread.

proprietà content (abstract)

classe oracleagentmemory.core.contextcard.OracleContextCard

Basi: ContextCard

Scheda contesto restituita da un thread Oracle.

proprietà content

Esempi

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

proprietà formatted_content

Esempi

OracleContextCard(summary="").formatted_content
''
card = OracleContextCard(summary="ctx", topics=["travel"])
"<topics>" in card.formatted_content
True

Riepiloghi

classe oracleagentmemory.apis.summary.Summary

Basi: ABC

Oggetto thread-summary astratto restituito dalle API thread.

proprietà content (abstract)

classe oracleagentmemory.core.summary.OracleSummary

Basi: Summary

Riepilogo restituito da un thread Oracle.

Esempi

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

proprietà content

Esempi

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

proprietà formatted_content

Esempi

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