Mem0

Mem0 estrae memorie durevoli dalle conversazioni dell'agente e recupera i ricordi pertinenti nelle esecuzioni successive. Configurare gli ambiti di archiviazione e recupero quando le memorie devono essere disponibili tra le sessioni.

Questa integrazione usa il modello di memoria: estrae e richiama le informazioni durevoli selezionate anziché riprodurre la trascrizione completa della conversazione.

Importante

Mem0 è un sistema di terze parti. Esaminare la gestione dei dati, la conservazione, i limiti regionali e le condizioni di servizio prima di inviare i dati dell'applicazione.

Annotazioni

L'integrazione mem0 non è attualmente disponibile per agent Framework .NET.

Installare il pacchetto

pip install agent-framework-mem0 --pre

Impostare MEM0_API_KEY o passare direttamente una chiave API. Configurare l'archiviazione e il recupero separatamente:

  • user_id, agent_ide application_id sono ambiti di archiviazione. Mem0 li stampa su ogni memoria archiviata.
  • search_user_id, search_agent_ide search_application_id sono ambiti di recupero. Mem0 li usa per selezionare i ricordi cercati.

Gli ambiti dell'applicazione richiedono il client Mem0 Platform (AsyncMemoryClient). Il client OSS AsyncMemory supporta solo ambiti utente e agente.

L'ambito di recupero non eredita dall'ambito di archiviazione. Se non si imposta alcun search_* ambito, il provider archivia i ricordi, ma non li richiama.

Per la memoria per utente, impostare user_id e search_user_id sullo stesso identificatore stabile:

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 elabora i ricordi in modo asincrono. In produzione, usare nuovi tentativi o una gestione della coerenza che tenga conto del servizio anziché fare affidamento su un ritardo fisso.

Annotazioni

L'integrazione mem0 non è attualmente disponibile per Agent Framework Go. Vedere il repository di Agent Framework Go per lo stato più aggiornato.

Passaggi successivi

Approfondimento: