Introduction à la mémoire de l'agent

Cet article vous guide tout au long de l'installation de la mémoire d'agent et de l'exécution d'opérations de mémoire de base, notamment le stockage et l'extraction du contexte utilisateur.

Prérequis

Vérifiez que vous disposez des éléments suivants :

Installation du kit SDK

Pour installer la mémoire de l'agent, exécutez :

pip install "oracleagentmemory==26.6.0"

L'installation avec pip tire des roues binaires prédéfinies sur les plates-formes prises en charge.

Journalisation et diagnostics

La mémoire de l'agent Oracle AI émet des messages de diagnostic via la journalisation Python standard sous les noms de journaliseur commençant par oracleagentmemory. Le kit SDK ne configure pas de gestionnaires ou de niveaux de journalisation. Les applications peuvent acheminer ces journaux vers leur console, fichier ou pipeline d'observabilité existant. Certains enregistrements de journal utilisent les champs extra de la journalisation Python pour des diagnostics structurés sécurisés, qui peuvent être capturés par des gestionnaires de journalisation structurés.

import logging

logging.basicConfig(level=logging.INFO)
logging.getLogger("oracleagentmemory").setLevel(logging.INFO)

Pour le dépannage dans les environnements contrôlés, activez les journaux DEBUG :

logging.getLogger("oracleagentmemory").setLevel(logging.DEBUG)

Conservez les déploiements de production à un niveau autre que DEBUG. Les journaux DEBUG sont destinés au développement et à la prise en charge des diagnostics, et le texte des messages de journal ne doit pas être traité comme une API publique stable.

Initialiser l'instance de mémoire

Créez une instance OracleAgentMemory en configurant l'intégrateur, le LLM et la connexion de base de données.

import oracledb

from oracleagentmemory.core.oracleagentmemory import OracleAgentMemory
from oracleagentmemory.apis.searchscope import SearchScope
from oracleagentmemory.core.embedders.embedder import Embedder
from oracleagentmemory.core.llms.llm import Llm

embedder = Embedder(model="YOUR_EMBEDDING_MODEL")
llm = Llm(model="YOUR_LLM")
db_pool = oracledb.SessionPool(
    user="YOUR DB USER",
    password="YOUR DB PASSWORD",
    dsn="YOUR DB CONNECT STRING",
)
memory = OracleAgentMemory(connection=db_pool, embedder=embedder, llm=llm)

Remarque : par défaut, les schémas Oracle Database gérés ne définissent pas de période de conservation pour les messages et les mémoires. Configurez les paramètres de durée de vie MemoryRetentionConfig ou par enregistrement pour utiliser une période de conservation différente. Pour plus d'informations, reportez-vous à Utilisation du délai de vie pour les messages et les mémoires.

Stocker les entrées de mémoire

Commencez par créer un thread, ajouter des messages et stocker une entrée de mémoire pour l'utilisateur.

messages = [
    {
        "role": "user",
        "content": (
            "Orange juice has become my favorite breakfast drink lately, "
            "what can I pair it with?"
        ),
    },
    {
        "role": "assistant",
        "content": (
            "Nice! Orange juice goes great with something savory. "
            "Try eggs and toast, avocado toast, or a breakfast sandwich."
        ),
    },
]

thread = memory.create_thread(user_id="user_123")
#add_messages will add messages to the DB and extract memories automatically
thread.add_messages(messages)
#add_memory adds memory to the DB
thread.add_memory("The user likes orange juice with breakfast.")

Récupérer les entrées de mémoire

Rechercher des mémoires à l'aide d'une requête de portée utilisateur.

results = memory.search(query="orange juice", scope=SearchScope(user_id="user_123"))
for result in results:
    print(f"- [{result.record.record_type}] {result.content}")

Sortie :

- [memory] The user likes orange juice with breakfast.
- [message] Orange juice has become my favorite breakfast drink lately, what can I pair it with?
- [message] Nice! Orange juice goes great with something savory. Try eggs and toast,
            avocado toast, or a breakfast sandwich.

Remarque : La sortie affichée est illustrative. Les versions futures peuvent renvoyer des types de résultats, des champs ou des prescriptions supplémentaires.

Compatibilité des modèles

Depuis avril 2026, les grands modèles de langage (LLM) et les modèles d'intégration suivants sont compatibles avec oracleagentmemory.

LLM

Les grands modèles de langage (LLM) suivants ont été confirmés comme compatibles.

Modèles hébergés par OCI

OpenAI

LLM auto-hébergés

Anthropique

Gemini

Intégrations

Les modèles d'intégration suivants ont été confirmés comme compatibles.

Modèles hébergés par OCI

OpenAI

Gemini