> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mem0.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Persistent Eliza Characters

> Bring persistent personality to Eliza OS agents using Mem0.

You can create a personalized Eliza OS Character using Mem0. This guide will walk you through the necessary steps and provide the complete code to get you started.

## Overview

ElizaOS is a powerful AI agent framework for autonomy and personality. It is a collection of tools that help you create a personalized AI agent.

## Setup

You can start by cloning the eliza-os repository:

```bash theme={null}
git clone https://github.com/elizaOS/eliza.git
```

Change the directory to the eliza-os repository:

```bash theme={null}
cd eliza
```

Install the dependencies:

```bash theme={null}
pnpm install
```

Build the project:

```bash theme={null}
pnpm build
```

## Setup ENVs

Create a `.env` file in the root of the project and add the following (you can use the `.env.example` file as a reference):

```bash theme={null}
# Mem0 Configuration
MEM0_API_KEY= # Mem0 API Key (get from https://app.mem0.ai/dashboard/api-keys?utm_source=oss&utm_medium=cookbook-eliza-os)
MEM0_USER_ID= # Default: eliza-os-user
MEM0_PROVIDER= # Default: openai
MEM0_PROVIDER_API_KEY= # API Key for the provider (OpenAI, Anthropic, etc.)
SMALL_MEM0_MODEL= # Default: gpt-4.1-nano
MEDIUM_MEM0_MODEL= # Default: gpt-4o
LARGE_MEM0_MODEL= # Default: gpt-4o
```

## Make the default character use Mem0

By default, there is a character called `eliza` that uses the Ollama model. You can make this character use Mem0 by changing the config in the `agent/src/defaultCharacter.ts` file.

```ts theme={null}
modelProvider: ModelProviderName.MEM0,
```

This will make the character use Mem0 to generate responses.

## Run the project

```bash theme={null}
pnpm start
```

## Conclusion

You have now created a personalized Eliza OS Character using Mem0. You can now start interacting with the character by running the project and talking to the character.

This is a simple example of how to use Mem0 to create a personalized AI agent. You can use this as a starting point to create your own AI agent.

***

<CardGroup cols={2}>
  <Card title="Partition Memories by Entity" icon="layers" href="/cookbooks/essentials/entity-partitioning-playbook">
    Keep character personas isolated by tagging user, agent, and session identifiers.
  </Card>

  <Card title="AI Tutor with Mem0" icon="graduation-cap" href="/cookbooks/companions/ai-tutor">
    Build another type of personalized companion with memory capabilities.
  </Card>
</CardGroup>
