Mem0

Mem0 extrae memorias duraderas de las conversaciones del agente y recupera las memorias relevantes en ejecuciones futuras. Configure ámbitos de almacenamiento y recuperación cuando los recuerdos deben estar disponibles en todas las sesiones.

Esta integración usa el patrón de memoria: extrae y recupera información duradera seleccionada en lugar de reproducir la transcripción de conversación completa.

Important

Mem0 es un sistema de terceros. Revise su control de datos, retención, límites regionales y términos de servicio antes de enviar datos de aplicación.

Note

La integración de Mem0 no está disponible actualmente para el .NET de Agent Framework.

Instalar el paquete

pip install agent-framework-mem0 --pre

Establezca MEM0_API_KEY o pase una clave de API directamente. Configure el almacenamiento y la recuperación por separado:

  • user_id, agent_idy application_id son ámbitos de almacenamiento. Mem0 los marca en cada memoria almacenada.
  • search_user_id, search_agent_idy search_application_id son ámbitos de recuperación. Mem0 los usa para seleccionar qué recuerdos busca.

Los ámbitos de aplicación requieren el cliente mem0 Platform (AsyncMemoryClient). El cliente OSS AsyncMemory solo admite ámbitos de usuario y de agente.

El ámbito de recuperación no hereda del ámbito de almacenamiento. Si no establece ningún search_* ámbito, el proveedor almacena memorias, pero no las recuerda.

Para la memoria por usuario, establezca user_id y search_user_id en el mismo identificador estable:

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 procesa memorias de forma asincrónica. En producción, utiliza reintentos o un manejo de la consistencia sensible al servicio en lugar de depender de un retraso fijo.

Note

La integración de Mem0 no está disponible actualmente para Agent Framework Go. Consulte el repositorio de Agent Framework Go para obtener el estado más reciente.

Pasos siguientes

Vaya más profundamente: