Google AI - Mem0

Documentation Index

Fetch the complete documentation index at: /llms.txt

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

To use Google AI embedding models, set the GOOGLE_API_KEY environment variables. You can obtain the Gemini API key from here.

Usage

Python

TypeScript

import os
from mem0 import Memory

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

config = {
    "embedder": {
        "provider": "gemini",
        "config": {
            "model": "models/gemini-embedding-001",
        }
    }
}

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")
import { Memory } from 'mem0ai/oss';

const config = {
  embedder: {
      provider: "google",
      config: {
        apiKey: process.env["GOOGLE_API_KEY"],
        model: "gemini-embedding-001",
        embeddingDims: 1536,
      },
    },
};

const memory = new Memory(config);
const 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."}\
]
await memory.add(messages, { userId: "john" });

Config

Here are the parameters available for configuring Gemini embedder:

Parameter Description Default Value
model The name of the embedding model to use models/gemini-embedding-001
embedding_dims Dimensions of the embedding model 768
api_key The Google API key None
output_dimensionality Output dimensionality for the embedding model (Gemini-specific; used when embedding_dims is not set) None
Parameter Description Default Value
model The name of the embedding model to use gemini-embedding-001
embeddingDims Dimensions of the embedding model. When not set, uses the model’s native output dimensionality (3072 for gemini-embedding-001; MRL truncation to 768, 1536, or 3072 is supported) None
apiKey Google API key None