Mem0

Mem0 extrait des mémoires persistantes des conversations de l’agent et retrouve les mémoires pertinentes lors d’exécutions ultérieures. Configurez les étendues de stockage et de récupération lorsque les mémoires doivent être disponibles entre les sessions.

Cette intégration utilise le modèle de mémoire : il extrait et rappelle les informations durables sélectionnées plutôt que de relire la transcription complète de la conversation.

Important

Mem0 est un système tiers. Passez en revue sa gestion, sa rétention, ses limites régionales et ses conditions de service avant d’envoyer des données d’application.

Note

L'intégration de Mem0 n'est actuellement pas disponible pour Agent Framework .NET.

Installer le package

pip install agent-framework-mem0 --pre

Définissez MEM0_API_KEY ou transmettez directement une clé API. Configurez le stockage et la récupération séparément :

  • user_id, agent_idet application_id sont des étendues de stockage. Mem0 les marque sur chaque mémoire stockée.
  • search_user_id, search_agent_id et search_application_id sont des périmètres de récupération. Mem0 les utilise pour sélectionner les souvenirs qu’il recherche.

Les étendues d’application nécessitent le client Mem0 Platform (AsyncMemoryClient). Le client OSS AsyncMemory prend uniquement en charge les étendues utilisateur et agent.

L’étendue de récupération n’hérite pas de l’étendue de stockage. Si vous ne définissez search_* aucune étendue, le fournisseur stocke les souvenirs, mais ne les rappelle pas.

Pour la mémoire par utilisateur, définissez search_user_id et user_id sur le même identifiant stable :

async def main() -> None:
    """Example of memory usage with Mem0 context provider."""
    print("=== Mem0 Context Provider Example ===")
    # Each record in Mem0 should be associated with agent_id or user_id or application_id.
    # In this example, we associate Mem0 records with user_id.
    user_id = str(uuid.uuid4())
    # For Azure authentication, run `az login` command in terminal or replace AzureCliCredential with preferred
    # authentication option.
    # For Mem0 authentication, set Mem0 API key via "api_key" parameter or MEM0_API_KEY environment variable.
    async with (
        AzureCliCredential() as credential,
        Agent(
            client=FoundryChatClient(credential=credential),
            name="FriendlyAssistant",
            instructions="You are a friendly assistant.",
            tools=retrieve_company_report,
            context_providers=[Mem0ContextProvider(source_id="mem0", user_id=user_id, search_user_id=user_id)],
        ) as agent,
    ):

Mem0 traite les mémoires de manière asynchrone. En environnement de production, utilisez une logique de nouvelle tentative ou une gestion de la cohérence adaptée au service au lieu de vous reposer sur un délai fixe.

Note

L’intégration de Mem0 n’est actuellement pas disponible pour Agent Framework Go. Consultez le référentiel Agent Framework Go pour connaître l’état le plus récent.

Étapes suivantes

Aller plus loin :