# Zep Memory

[Zep](https://github.com/getzep/zep) es un almacén de memoria a largo plazo para aplicaciones LLM. Almacena, resume, incrusta, indexa y enriquece los historiales de aplicaciones/chatbots LLM, y los expone a través de APIs simples y de baja latencia.

## Guía para Desplegar Zep en Render

Puedes desplegar fácilmente Zep en servicios en la nube como [Render](https://render.com/), [Flyio](https://fly.io/). Si prefieres probarlo localmente, también puedes iniciar un contenedor docker siguiendo su [guía rápida](https://github.com/getzep/zep#quick-start).

En este ejemplo, vamos a desplegar en Render.

1. Dirígete al [Repositorio de Zep](https://github.com/getzep/zep#quick-start) y haz clic en **Deploy to Render**
2. Esto te llevará a la página Blueprint de Render y simplemente haz clic en **Create New Resources**

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-18bdf929b8aa58a19b662efc201a787ab6a26886%2Fimage%20(21)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

3. Cuando el despliegue esté completo, deberías ver 3 aplicaciones creadas en tu panel

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-42228062a2f14c7e37f7b86df3312ed05653e59b%2Fimage%20(1)%20(2).png?alt=media" alt=""><figcaption></figcaption></figure>

4. Simplemente haz clic en la primera llamada **zep** y copia la URL desplegada

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-32c0f035977d89184808b560e4e5736244d50d4d%2Fimage%20(38)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

## Guía para Desplegar Zep en Digital Ocean (vía Docker)

1. Clona el Repositorio

```bash
git clone https://github.com/getzep/zep.git
cd zep
nano .env

```

2. Agrega tu OpenAI API Key en .ENV

```bash
ZEP_OPENAI_API_KEY=

```

```bash
docker compose up -d --build
```

3. Permite el acceso del firewall al puerto 8000

```bash
sudo ufw allow from any to any port 8000 proto tcp
ufw status numbered
```

Si estás usando el firewall separado del panel de Digital Ocean, asegúrate de que el puerto 8000 también esté agregado allí

## Uso en la UI de Flowise

1. De vuelta en la aplicación Flowise, simplemente crea un nuevo lienzo o usa una de las plantillas del marketplace. En este ejemplo, vamos a usar **Simple Conversational Chain**

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-36ea61940d0dffa66cccadf185aba430e50890a2%2FUntitled%20(3)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

2. Reemplaza **Buffer Memory** con **Zep Memory**. Luego reemplaza la **Base URL** con la URL de Zep que has copiado anteriormente

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-062bbf38fe80bf71a783f3aee55b0bfab98b71ea%2FUntitled%20(5).png?alt=media" alt=""><figcaption></figcaption></figure>

3. Guarda el chatflow y pruébalo para ver si las conversaciones son recordadas.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-26be80999cf465c51749a3c5653978e561dbf290%2Fimage%20(27).png?alt=media" alt=""><figcaption></figcaption></figure>

4. Ahora intenta limpiar el historial del chat, deberías ver que ahora no puede recordar las conversaciones anteriores.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-b2bf4e1d0314404cba1c138568dac088a1d85b94%2Fimage%20(8)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

## Autenticación de Zep

Zep te permite asegurar tu instancia usando autenticación JWT. Usaremos la utilidad de línea de comandos `zepcli` [aquí](https://github.com/getzep/zepcli/releases).

#### 1. Generar un secreto y el token JWT <a href="#id-1-generate-a-secret-and-the-jwt-token" id="id-1-generate-a-secret-and-the-jwt-token"></a>

Después de descargar ZepCLI:

En Linux o MacOS

```
./zepcli -i
```

En Windows

```
zepcli.exe -i
```

Primero obtendrás tu Token SECRETO:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-3d7f3708c1e004adc25e628bc46a37d09f11cfe4%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Luego obtendrás el Token JWT:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-e4476d4ae2ba174d4fca9657ca32d62973d97d51%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 2. Configurar variables de entorno de autenticación <a href="#id-2-configure-auth-environment-variables" id="id-2-configure-auth-environment-variables"></a>

Establece las siguientes variables de entorno en tu entorno del servidor Zep:

```
ZEP_AUTH_REQUIRED=true
ZEP_AUTH_SECRET=<el secreto que generaste arriba>
```

#### 3. Configurar Credencial en Flowise <a href="#id-2-configure-auth-environment-variables" id="id-2-configure-auth-environment-variables"></a>

Agrega una nueva credencial para Zep, y coloca el Token JWT en el campo API Key:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-6d23847f1112376e204b91ac0c7cc3069289b6d6%2Fimage%20(2)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

#### 4. Usar la credencial creada en el nodo Zep <a href="#id-2-configure-auth-environment-variables" id="id-2-configure-auth-environment-variables"></a>

En Connect Credential del nodo Zep, selecciona la credencial que acabas de crear. ¡Y eso es todo!

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-faa434419943ca2b87d97afd9cca339a644d1c34%2Fimage%20(3)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>
