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 mémoire 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

Une suppression réussie efface l'état thread-summary dérivé afin que les appels de résumé et de carte de contexte ultérieurs soient reconstruits à partir de la transcription restante. Les mémoires dérivées ne sont pas supprimées automatiquement car les mémoires extraites ne persistent pas actuellement par provenance de message.

Exemples 

thread.delete_message("123")
0

méthode get_context_card

Renvoyer une carte de contexte de type XML 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()
True

method get_context_card_async (async)

Renvoie de manière asynchrone une carte de contexte de type XML 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()
len(summary) >= 1
True

method get_summary_async (async)

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

Messages

classe oracleagentmemory.apis.thread.Message

Bases : object