Mémoire de l'agent

Cette page présente la mise en oeuvre concrète de la mémoire de l'agent Oracle AI Agent.

Mémoire de l'agent Oracle

Note : OracleAgentMemory.delete_thread() est le chemin pris en charge pour le nettoyage en cascade avec une portée d'unité d'exécution. Il supprime le fil ainsi que les messages associés, les mémoires durables et les données vectorielles ou fragmentées gérées. Cette valeur est supérieure à OracleThread.delete_message(), qui supprime uniquement la rangée du message brut.

classe oracleagentmemory.core.OracleAgentMemory

Bases : IAgentMemory

Client de mémoire d'agent soutenu par Oracle DB ou un magasin fourni par l'appelant.

Créez un client de mémoire.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
read_only_client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    extract_memories=False,
)

méthode add_agent

Ajouter un enregistrement de profil d'agent au magasin.

Notes

Les enregistrements de profil d'agent sont stockés dans le magasin au niveau client et n'ont intentionnellement pas de portée. L'identificateur d'enregistrement retourné est le même identificateur public que celui utilisé par l'application pour agent_id.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_agent("a1", "Support assistant")
'a1'

méthode add_memory

Ajoutez une mémoire dans le système de mémoire, attribuée à l'utilisateur, à l'agent et au thread indiqués.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
memory_id = client.add_memory("User likes pizza", memory_id="mem-1")
memory_id
'mem-1'

méthode add_user

Ajouter un enregistrement de profil d'utilisateur au magasin.

Notes

Les enregistrements de profil d'utilisateur sont stockés dans le magasin au niveau client et n'ont intentionnellement pas de portée. L'identificateur d'enregistrement retourné est le même identificateur public que celui utilisé par l'application pour user_id.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_user("u1", "Prefers concise answers.")
'u1'

méthode create_thread

Créez et enregistrez un thread.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
thread = client.create_thread(thread_id="c1", user_id="u1")
thread.thread_id
'c1'

méthode delete_agent

Sert à supprimer un enregistrement de profil d'agent par code.

Notes

Les suppressions en cascade sont planifiées et exécutées dans le magasin de sauvegarde, de sorte que la suppression du profil et toutes les suppressions enfants ciblées se produisent dans une opération de magasin.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_agent("a-delete", "Support assistant")
'a-delete'
client.delete_agent("a-delete")
1

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) par identificateur.

Exemples

client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
memory_id = client.add_memory("Temporary memory", memory_id="mem-delete")
client.delete_memory(memory_id)
1

méthode delete_thread

Supprimez tous les enregistrements associés à un identificateur d'unité d'exécution.

Notes

Utilisez cette opération lorsque vous devez supprimer une unité d'exécution de conservation complète. Le magasin de sauvegarde supprime l'unité d'exécution ainsi que les messages ciblés par unité d'exécution associés, les mémoires durables et les rangées de vecteurs ou de fragments gérées. Cela diffère de OracleThread.delete_message(), qui supprime uniquement l'enregistrement de message brut et n'est pas transmis en cascade aux mémoires dérivées créées à partir de ce message.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
thread = client.create_thread(thread_id="c-delete")
client.delete_thread(thread.thread_id)
1

méthode delete_user

Supprimer un enregistrement de profil d'utilisateur par identificateur.

Notes

Les suppressions en cascade sont planifiées et exécutées dans le magasin de sauvegarde, de sorte que la suppression du profil et toutes les suppressions enfants ciblées se produisent dans une opération de magasin.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
client.add_user("u-delete", "Prefers concise answers.")
'u-delete'
client.delete_user("u-delete")
1

méthode get_thread

Extraire une unité d'exécution créée précédemment.

Notes

Les remplacements explicites par appel ont priorité. Lorsque les remplacements d'exécution sont omis, les unités d'exécution rouvertes utilisent une configuration d'exécution persistante lorsqu'elles sont disponibles avant de revenir aux valeurs par défaut de la trousse SDK.

Exemples

from oracleagentmemory.core import OracleAgentMemory
client = OracleAgentMemory(
    connection=db_pool,
    embedder=embedder,
    llm=llm,
)
created = client.create_thread(thread_id="c1", user_id="u1")
loaded = client.get_thread("c1")
loaded.user_id
'u1'