Mem0

Mem0 utvinner bestående minnen från agentkonversationer och hämtar relevanta minnen vid senare körningar. Konfigurera lagrings- och hämtningsomfång när minnen ska vara tillgängliga mellan sessioner.

Den här integreringen använder minnesmönstret: det extraherar och återkallar vald varaktig information i stället för att spela upp den fullständiga konversationsavskriften igen.

Important

Mem0 är ett system från tredje part. Granska dess datahantering, kvarhållning, regionala gränser och tjänstvillkor innan du skickar programdata.

Anmärkning

Mem0-integrering är för närvarande inte tillgängligt för Agent Framework .NET.

Installera paketet

pip install agent-framework-mem0 --pre

Ange MEM0_API_KEY eller skicka en API-nyckel direkt. Konfigurera lagring och hämtning separat:

  • user_id, agent_idoch application_id är lagringsomfång. Mem0 stämplar dem på varje lagrat minne.
  • search_user_id, search_agent_idoch search_application_id är hämtningsomfång. Mem0 använder dem för att välja vilka minnen den söker efter.

Programomfattningarna kräver Mem0 Platform-klienten (AsyncMemoryClient). OSS-klienten AsyncMemory stöder endast användar- och agentomfång.

Hämtningsomfånget ärver inte från lagringsomfånget. Om du inte anger något search_* omfång lagrar providern minnen men återkallar dem inte.

För minne per användare anger du user_id och search_user_id till samma stabila identifierare:

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 bearbetar minnen asynkront. I produktion använder du återförsök eller tjänstmedveten konsekvenshantering i stället för att förlita dig på en fast fördröjning.

Anmärkning

Mem0-integrering är för närvarande inte tillgängligt för Agent Framework Go. Se Agent Framework Go-lagringsplatsen för den senaste statusen.

Nästa steg

Gå djupare: