Hugging Face - Mem0

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

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.

Python

TypeScript

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:

Parameter Description Default Value
model The name of the model to use multi-qa-MiniLM-L6-cos-v1
embedding_dims Dimensions of the embedding model selected_model_dimensions
model_kwargs Additional arguments for the model None
huggingface_base_url URL to connect to Text Embeddings Inference (TEI) API None
Parameter Description Default Value
huggingfaceBaseUrl TEI or OpenAI-compatible endpoint URL. Required; falls back to baseURL, url, then the HUGGINGFACE_BASE_URL env var None
model Model name sent to the endpoint (TEI ignores it) tei
apiKey API key for the endpoint; falls back to the HUGGINGFACE_API_KEY env var "hf"