Back to Mem0

Configure the OSS Stack

docs/open-source/configuration.mdx

2.0.14.2 KB
Original Source

Configure Mem0 OSS Components

<Info> **Prerequisites** - Python 3.10+ with `pip` available - Running vector database (e.g., Qdrant, Postgres + pgvector) or access credentials for a managed store - API keys for your chosen LLM, embedder, and reranker providers </Info> <Tip> Start from the <Link href="/open-source/python-quickstart">Python quickstart</Link> if you still need the base CLI and repository. </Tip>

Install dependencies

<Tabs> <Tab title="Python"> <Steps> <Step title="Install Mem0 OSS"> ```bash pip install mem0ai ``` </Step> <Step title="Add provider SDKs (example: Qdrant + OpenAI)"> ```bash pip install qdrant-client openai ``` </Step> </Steps> </Tab> <Tab title="Docker Compose"> <Steps> <Step title="Clone the repo and copy the compose file"> ```bash git clone https://github.com/mem0ai/mem0.git cd mem0/examples/docker-compose ``` </Step> <Step title="Install dependencies for local overrides"> ```bash pip install -r requirements.txt ``` </Step> </Steps> </Tab> </Tabs>

Define your configuration

<Tabs> <Tab title="Python"> <Steps> <Step title="Create a configuration dictionary"> ```python from mem0 import Memory

config = { "vector_store": { "provider": "qdrant", "config": {"host": "localhost", "port": 6333}, }, "llm": { "provider": "openai", "config": {"model": "gpt-4.1-mini", "temperature": 0.1}, }, "embedder": { "provider": "vertexai", "config": {"model": "textembedding-gecko@003"}, }, "reranker": { "provider": "cohere", "config": {"model": "rerank-english-v3.0"}, }, }

memory = Memory.from_config(config)

</Step>
<Step title="Store secrets as environment variables">
```bash
export QDRANT_API_KEY="..."
export OPENAI_API_KEY="..."
export COHERE_API_KEY="..."
</Step> </Steps> </Tab> <Tab title="config.yaml"> <Steps> <Step title="Create a `config.yaml` file"> ```yaml vector_store: provider: qdrant config: host: localhost port: 6333

llm: provider: azure_openai config: api_key: ${AZURE_OPENAI_KEY} deployment_name: gpt-4.1-mini

embedder: provider: ollama config: model: nomic-embed-text

reranker: provider: zero_entropy config: api_key: ${ZERO_ENTROPY_KEY}

</Step>
<Step title="Load the config file at runtime">
```python
from mem0 import Memory

memory = Memory.from_config_file("config.yaml")
</Step> </Steps> </Tab> </Tabs> <Info icon="check"> Run `memory.add(["Remember my favorite cafe in Tokyo."], user_id="alex")` and then `memory.search("favorite cafe", filters={"user_id": "alex"})`. You should see the Qdrant collection populate and the reranker mark the memory as a top hit. </Info>

Tune component settings

<AccordionGroup> <Accordion title="Vector store collections"> Name collections explicitly in production (`collection_name`) to isolate tenants and enable per-tenant retention policies. </Accordion> <Accordion title="LLM extraction temperature"> Keep extraction temperatures ≤0.2 so advanced memories stay deterministic. Raise it only when you see missing facts. </Accordion> <Accordion title="Reranker depth"> Limit `top_k` to 10–20 results; sending more adds latency without meaningful gains. </Accordion> </AccordionGroup> <Warning> Mixing managed and self-hosted components? Make sure every outbound provider call happens through a secure network path. Managed rerankers often require outbound internet even if your vector store is on-prem. </Warning>

Quick recovery

  • Qdrant connection errors → confirm port 6333 is exposed and API key (if set) matches.
  • Empty search results → verify the embedder model name; a mismatch causes dimension errors.
  • Unknown reranker → update the SDK (pip install --upgrade mem0ai) to load the latest provider registry.
<CardGroup cols={2}> <Card title="Pick Providers" description="Review the LLM, vector store, embedder, and reranker catalogs." icon="sitemap" href="/components/llms/overview" /> <Card title="Deploy with Docker Compose" description="Follow the end-to-end OSS deployment walkthrough." icon="server" href="/open-source/features/rest-api" /> </CardGroup>