Skip to main content
You can use embedding models from Huggingface to run Mem0 locally.
The TypeScript SDK supports Hugging Face only through a hosted Text Embeddings Inference (TEI) endpoint, or any OpenAI-compatible Hugging Face endpoint. The local sentence-transformers mode shown first is Python-only.

Usage

import os
from mem0 import Memory

os.environ["OPENAI_API_KEY"] = "your_api_key" # For LLM

config = {
    "embedder": {
        "provider": "huggingface",
        "config": {
            "model": "multi-qa-MiniLM-L6-cos-v1"
        }
    }
}

m = Memory.from_config(config)
messages = [
    {"role": "user", "content": "I'm planning to watch a movie tonight. Any recommendations?"},
    {"role": "assistant", "content": "How about thriller movies? They can be quite engaging."},
    {"role": "user", "content": "I'm not a big fan of thriller movies but I love sci-fi movies."},
    {"role": "assistant", "content": "Got it! I'll avoid thriller recommendations and suggest sci-fi movies in the future."}
]
m.add(messages, user_id="john")

Using Text Embeddings Inference (TEI)

You can also use Hugging Face’s Text Embeddings Inference service for faster and more efficient embeddings. This is the mode the TypeScript SDK uses.
import os
from mem0 import Memory

os.environ["OPENAI_API_KEY"] = "your_api_key" # For LLM

# Using HuggingFace Text Embeddings Inference API
config = {
    "embedder": {
        "provider": "huggingface",
        "config": {
            "huggingface_base_url": "http://localhost:3000/v1"
        }
    }
}

m = Memory.from_config(config)
m.add("This text will be embedded using the TEI service.", user_id="john")
import { Memory } from 'mem0ai/oss';

// Point at a running TEI server, or any OpenAI-compatible HF endpoint
const config = {
  embedder: {
    provider: 'huggingface',
    config: {
      huggingfaceBaseUrl: 'http://localhost:3000/v1',
    },
  },
};

const memory = new Memory(config);
await memory.add("This text will be embedded using the TEI service.", { userId: "john" });
To run the TEI service, you can use Docker:
docker run -d -p 3000:80 -v huggingfacetei:/data --platform linux/amd64 \
    ghcr.io/huggingface/text-embeddings-inference:cpu-1.6 \
    --model-id BAAI/bge-small-en-v1.5

Config

Here are the parameters available for configuring the Hugging Face embedder:
ParameterDescriptionDefault Value
modelThe name of the model to usemulti-qa-MiniLM-L6-cos-v1
embedding_dimsDimensions of the embedding modelselected_model_dimensions
model_kwargsAdditional arguments for the modelNone
huggingface_base_urlURL to connect to Text Embeddings Inference (TEI) APINone