Config - Mem0

Common Configuration Parameters

All rerankers share these common configuration parameters:

Parameter Description Type Default
provider Reranker provider name str Required
top_k Maximum number of results to return after reranking int None
api_key API key for the reranker service str None

Provider-Specific Configuration

Zero Entropy

Parameter Description Type Default
model Model to use: zerank-1 or zerank-1-small str "zerank-1"
api_key Zero Entropy API key str None

Cohere

Parameter Description Type Default
model Cohere rerank model str "rerank-v3.5"
api_key Cohere API key str None
return_documents Whether to return document texts in response bool False
max_chunks_per_doc Maximum chunks per document int None

Sentence Transformer

Parameter Description Type Default
model HuggingFace cross-encoder model name str "cross-encoder/ms-marco-MiniLM-L-6-v2"
device Device to run model on (cpu, cuda, etc.) str None
batch_size Batch size for processing int 32
show_progress_bar Show progress during processing bool False

Hugging Face

Parameter Description Type Default
model HuggingFace reranker model name str "BAAI/bge-reranker-large"
api_key HuggingFace API token str None
device Device to run model on (cpu, cuda, etc.) str None

LLM-based

Parameter Description Type Default
model LLM model to use for scoring str "gpt-4o-mini"
provider LLM provider (openai, anthropic, etc.) str "openai"
api_key API key for LLM provider str None
temperature Temperature for LLM generation float 0.0
max_tokens Maximum tokens for LLM response int 100
scoring_prompt Custom prompt template for scoring str Default scoring prompt

LLM Reranker

Parameter Description Type Default
llm.provider LLM provider for reranking str Required
llm.config LLM configuration object dict Required
top_n Number of results to return int None

Environment Variables

You can set API keys using environment variables:

Basic Configuration Example

Python

config = {
    "vector_store": {
        "provider": "chroma",
        "config": {
            "collection_name": "my_memories",
            "path": "./chroma_db"
        }
    },
    "llm": {
        "provider": "openai",
        "config": {
            "model": "gpt-5-mini"
        }
    },
    "reranker": {
        "provider": "zero_entropy",
        "config": {
            "model": "zerank-1",
            "top_k": 5
        }
    }
}

TypeScript SDK

The self-hosted TypeScript SDK supports the same five providers. Config keys are camelCase (apiKey, topK, maxLength) and each provider’s SDK is a peer dependency you install per reranker.

Provider Install Default model Key config fields
cohere pnpm add cohere-ai rerank-v3.5 apiKey, model, topK
zero_entropy pnpm add zeroentropy zerank-1 apiKey, model, topK
sentence_transformer pnpm add @huggingface/transformers Xenova/ms-marco-MiniLM-L-6-v2 model, device, maxLength, normalize, topK
huggingface pnpm add @huggingface/transformers Xenova/bge-reranker-base model, device, maxLength, normalize, topK
llm_reranker None (uses your LLM provider’s own SDK) openai / gpt-4o-mini provider, model, apiKey, llm (nested override), topK
import { Memory } from "mem0ai/oss";

const memory = new Memory({
  reranker: {
    provider: "zero_entropy",
    config: { apiKey: process.env.ZERO_ENTROPY_API_KEY, topK: 5 },
  },
});

The local cross-encoder providers run on Transformers.js and default to ONNX model mirrors. Python default model strings must be swapped for their ONNX equivalents.