Threads

Cette page présente le gestionnaire de threads Oracle concret ainsi que le type d'aide aux messages destiné aux développeurs.

Thread Oracle

classe oracleagentmemory.core.OracleThread

Bases : IThread

Thread soutenu par un magasin Oracle.

Cette implémentation intègre et stocke à la fois les messages de thread et les mémoires ajoutées manuellement, puis prend en charge la recherche de similarité sur tous les enregistrements stockés.

Remarques

Créez un nouveau descripteur de thread.

Exemples 

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

méthode add_memory

Ajoutez une entrée de mémoire manuelle et indexez-la.

Exemples 

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

méthode add_messages

Ajoutez des messages au thread et indexez-les.

Exemples 

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

method add_messages_async (async)

Ajoutez des messages de manière asynchrone au thread et indexez-les.

méthode delete_memory

Supprimer un enregistrement de type mémoire (par exemple, une mémoire, un fait, une préférence ou une consigne) de ce thread exact par identifiant.

Exemples 

thread.delete_memory("456")
0

méthode delete_message

Supprimer un enregistrement de message de ce thread exact par identifiant.

Remarques

La suppression d'un message supprime uniquement l'enregistrement de message brut. Les mémoires dérivées ne sont pas supprimées car les mémoires extraites ne persistent pas par provenance de message, elles peuvent donc rester consultables ou affecter la sortie de la carte de contexte. Utilisez OracleAgentMemory.delete_thread() pour supprimer le thread ainsi que les messages et les mémoires associés.

Exemples 

thread.delete_message("123")
0

méthode get_context_card

Renvoie un objet context-card pour le thread.

Préférez get_context_card_async lorsqu'une implémentation soutenue par un LLM peut effectuer des E/S réseau distantes.

Remarques

Cela utilise la portée de recherche par défaut du thread avec exact_thread_match=False, de sorte que les mémoires pertinentes d'autres threads pour le même utilisateur/agent peuvent être incluses.

Exemples 

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)

Renvoie de manière asynchrone un objet context-card pour le thread.

méthode get_messages

Renvoyer les messages stockés pour ce sujet de discussion.

Exemples 

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

méthode get_summary

Renvoyer un résumé au mieux du thread.

Préférez get_summary_async lorsqu'une implémentation soutenue par un LLM peut effectuer des E/S réseau distantes.

Exemples 

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

method get_summary_async (async)

Renvoie de manière asynchrone un récapitulatif au mieux du thread.

Remarque : delete_message() supprime uniquement la ligne de message brut. Les mémoires dérivées peuvent toujours être consultables ou apparaître dans des cartes de contexte. Utilisez OracleAgentMemory.delete_thread() pour supprimer le thread ainsi que les messages et les mémoires associés.

Messages

classe oracleagentmemory.apis.thread.Message

Bases : object

Fiches contextuelles

classe oracleagentmemory.apis.contextcard.ContextCard

Bases : ABC

Objet de carte de contexte abstrait renvoyé par les API de thread.

property content (résumé)

classe oracleagentmemory.core.contextcard.OracleContextCard

Bases : ContextCard

Carte de contexte renvoyée par un thread Oracle.

propriété content

Exemples 

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

propriété formatted_content

Exemples 

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

Récapitulatifs

classe oracleagentmemory.apis.summary.Summary

Bases : ABC

Objet récapitulatif de thread abstrait renvoyé par les API de thread.

property content (résumé)

classe oracleagentmemory.core.summary.OracleSummary

Bases : Summary

Récapitulatif renvoyé par un thread Oracle.

Exemples 

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

propriété content

Exemples 

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

propriété formatted_content

Exemples 

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