Mem0

Mem0 wyodrębnia trwałe informacje z rozmów agentów i przywołuje odpowiednie informacje podczas kolejnych uruchomień. Skonfiguruj zakresy przechowywania i pobierania określające, kiedy wspomnienia mają być dostępne między sesjami.

Ta integracja używa wzorca pamięci: wyodrębnia i przypomina wybrane trwałe informacje, a nie ponownie replikuje kompletną transkrypcję konwersacji.

Important

Mem0 to system innych firm. Przed wysłaniem danych należy przejrzeć jego obsługę, przechowywanie, granice regionalne i warunki usługi.

Uwaga / Notatka

Integracja Mem0 nie jest obecnie dostępna dla platformy Agent Framework .NET.

Instalowanie pakietu

pip install agent-framework-mem0 --pre

Ustaw MEM0_API_KEY lub przekaż klucz API bezpośrednio. Skonfiguruj oddzielnie magazyn i pobieranie:

  • user_id, agent_id i application_id są zakresami magazynowania. Mem0 oznacza je na każdej przechowywanej pamięci.
  • search_user_id, search_agent_idi search_application_id są zakresami pobierania. Mem0 używa ich do wybierania, które wspomnienia wyszukuje.

Zakresy aplikacji wymagają klienta platformy Mem0 (AsyncMemoryClient). Klient OSS AsyncMemory obsługuje tylko zakresy użytkownika i agenta.

Zakres pobierania nie jest dziedziczony z zakresu przechowywania. Jeśli nie ustawisz żadnego search_* zakresu, dostawca przechowuje wspomnienia, ale nie pamięta ich.

W przypadku pamięci dla poszczególnych użytkowników ustaw user_id i search_user_id na ten sam stabilny identyfikator:

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 przetwarza wspomnienia asynchronicznie. W środowisku produkcyjnym należy stosować mechanizm ponawiania prób lub obsługę spójności uwzględniającą specyfikę usługi, zamiast polegać na stałym opóźnieniu.

Uwaga / Notatka

Integracja platformy Mem0 nie jest obecnie dostępna dla platformy Agent Framework Go. Aktualny status znajdziesz w repozytorium Agent Framework dla Go.

Następne kroki

Głębiej: