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 type mémoire (par exemple, une mémoire, un fait, une préférence ou une directive) 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 d'un message supprime uniquement la table des messages bruts. 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 l'unité d'exécution ainsi que les messages et mémoires associés.

Exemples

thread.delete_message("123")
0

méthode get_context_card

Retourne un objet de carte de contexte pour l'unité d'exécution.

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

méthode get_context_card_async (asynchrone)

Retourne de manière asynchrone un objet de carte de contexte 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()
bool(summary.content)
True

méthode get_summary_async (asynchrone)

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

Note : delete_message() supprime uniquement la rangée du message brut. Les mémoires dérivées peuvent toujours être recherchées ou apparaître dans des cartes de contexte. Utilisez OracleAgentMemory.delete_thread() pour supprimer l'unité d'exécution ainsi que les messages et mémoires associés.

Messages

classe oracleagentmemory.apis.thread.Message

Bases : object

Cartes de contexte

classe oracleagentmemory.apis.contextcard.ContextCard

Bases : ABC

Objet de carte de contexte abstrait retourné par les API d'unité d'exécution.

bien content (abstrait)

classe oracleagentmemory.core.contextcard.OracleContextCard

Bases : ContextCard

Carte de contexte retournée par une unité d'exécution Oracle.

biens content

Exemples

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

biens formatted_content

Exemples

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

Sommaires

classe oracleagentmemory.apis.summary.Summary

Bases : ABC

Objet de sommaire d'unité d'exécution abstrait retourné par les API d'unité d'exécution.

bien content (abstrait)

classe oracleagentmemory.core.summary.OracleSummary

Bases : Summary

Sommaire retourné par une unité d'exécution Oracle.

Exemples

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

biens content

Exemples

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

biens formatted_content

Exemples

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