> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# factories • AI Agent SDK

> Memory Adapter Factory Functions

# factories

AI Agent

Memory Adapter Factory Functions

Provides factory functions for heavy memory adapters that replace hardcoded imports
in memory/memory.py. These enable lazy loading of heavy dependencies while maintaining
the protocol-driven architecture.

Each factory function:

1. Lazy imports the required dependencies
2. Creates and returns an adapter instance that implements MemoryProtocol
3. Raises clear ImportError with installation instructions if dependencies missing

This approach follows the protocol-driven core principle by moving heavy implementations
out of the core Memory class while preserving backward compatibility.

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.memory.adapters import factories
```

## Classes

> [card] [Mem0MemoryAdapter](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/Mem0MemoryAdapter.md)
>
> Memory adapter that wraps mem0.Memory to implement MemoryProtocol.

> [card] [ChromaMemoryAdapter](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/ChromaMemoryAdapter.md)
>
> Memory adapter that uses ChromaDB to implement MemoryProtocol.

> [card] [MongoDBMemoryAdapter](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/MongoDBMemoryAdapter.md)
>
> Memory adapter that uses MongoDB to implement MemoryProtocol.

> [card] [DakeraMemoryAdapter](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/DakeraMemoryAdapter.md)
>
> Memory adapter that wraps the Dakera SDK to implement `MemoryProtocol`.

## Functions

> [card] [sanitize\_chroma\_metadata()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/sanitize_chroma_metadata.md)
>
> Sanitize metadata for ChromaDB - convert to acceptable types.

> [card] [safe\_mem0\_search()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/safe_mem0_search.md)
>
> Defensive wrapper for mem0.search() to handle MongoDB vector store compatibility.

> [card] [create\_mem0\_memory\_adapter()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/create_mem0_memory_adapter.md)
>
> Factory function to create Mem0 memory adapter.

> [card] [create\_chroma\_memory\_adapter()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/create_chroma_memory_adapter.md)
>
> Factory function to create ChromaDB memory adapter.

> [card] [create\_mongodb\_memory\_adapter()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/create_mongodb_memory_adapter.md)
>
> Factory function to create MongoDB memory adapter.

> [card] [create\_dakera\_memory\_adapter()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/create_dakera_memory_adapter.md)
>
> Factory function to create a Dakera memory adapter.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.