Unités d'exécution

Cette page présente la poignée concrète des unités d'exécution Oracle ainsi que le type d'aide aux messages destinés aux développeurs.

Fil d'exécution d'Oracle

classe oracleagentmemory.core.OracleThread

Bases : IThread

Fil soutenu par un magasin Oracle.

Cette implémentation intègre et stocke 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.

Notes

Créez un descripteur de fil.

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

méthode add_messages_async (asynchrone)

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

méthode delete_memory

Supprimez un enregistrement de mémoire de ce thread exact par identificateur.

Exemples

thread.delete_memory("456")
0

méthode delete_message

Supprimez un enregistrement de message de ce fil exact par identificateur.

Notes

La suppression réussie efface l'état de sommaire d'unité d'exécution dérivée, de sorte que les appels de sommaire et de carte de contexte ultérieurs soient recréés à 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

Retourne une carte de contexte de type XML pour le thread.

Préférez get_context_card_async lorsqu'une mise en oeuvre soutenue par un LLM peut effectuer des E/S de réseau distant.

Notes

Cela utilise la portée de recherche par défaut de l'unité d'exécution avec exact_thread_match=False, de sorte que des mémoires pertinentes d'autres unités d'exécution 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

méthode get_context_card_async (asynchrone)

Retourne de manière asynchrone une carte de contexte de type XML pour le thread.

méthode get_messages

Retourne les messages stockés pour ce thread.

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

Retourne un résumé du thread.

Préférez get_summary_async lorsqu'une mise en oeuvre soutenue par un LLM peut effectuer des E/S de réseau distant.

Exemples

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

méthode get_summary_async (asynchrone)

Retourne de manière asynchrone un résumé du thread.

Messages

classe oracleagentmemory.apis.thread.Message

Bases : object