Mem0

Mem0 extrahiert dauerhafte Erinnerungen aus Agentunterhaltungen und ruft relevante Erinnerungen in späteren Läufen ab. Konfigurieren Sie Speicher- und Abrufbereiche, wenn Erinnerungen sitzungsübergreifend verfügbar sein sollen.

Diese Integration verwendet das Speichermuster: Es extrahiert und ruft ausgewählte dauerhafte Informationen zurück, anstatt das vollständige Unterhaltungstranskript wiederzugeben.

Important

Mem0 ist ein Drittanbietersystem. Überprüfen Sie die Datenverarbeitung, Aufbewahrung, regionale Grenzen und Dienstbedingungen, bevor Sie Anwendungsdaten senden.

Note

Mem0-Integration ist derzeit nicht für Agent Framework-.NET verfügbar.

Installiere das Paket

pip install agent-framework-mem0 --pre

Legen Sie MEM0_API_KEY fest oder übergeben Sie einen API-Schlüssel direkt. Konfigurieren Sie Speicher und Abruf separat:

  • user_id, agent_idund application_id sind Speicherbereiche. Mem0 stempelt sie auf jedem gespeicherten Speicher.
  • search_user_id, search_agent_idund search_application_id sind Abrufbereiche. Mem0 verwendet sie, um auszuwählen, welche Erinnerungen sie durchsucht.

Die Anwendungsbereiche erfordern den Mem0 Platform-Client (AsyncMemoryClient). Der OSS-Client AsyncMemory unterstützt nur Benutzer- und Agentbereiche.

Der Abrufumfang wird nicht vom Speicherumfang geerbt. Wenn Sie keinen Bereich festlegen search_* , speichert der Anbieter Erinnerungen, ruft sie aber nicht zurück.

Für den Arbeitsspeicher pro Benutzer legen Sie user_id und search_user_id auf denselben stabilen Bezeichner fest:

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 verarbeitet Erinnerungen asynchron. Verwenden Sie in der Produktion Wiederholungsversuche oder eine dienstspezifische Konsistenzbehandlung, anstatt sich auf eine feste Wartezeit zu verlassen.

Note

Mem0-Integration ist derzeit nicht für Agent Framework Go verfügbar. Den neuesten Status finden Sie im Agent Framework Go-Repository .

Nächste Schritte

Gehen Sie tiefer: