Meilisearch
Configurar Meilisearch para habilitar la búsqueda de conversaciones en LibreChat
Meilisearch es un motor de búsqueda de código abierto que potencia la búsqueda de conversaciones de LibreChat, añadiendo búsqueda de texto completo, tolerancia a errores tipográficos y resultados instantáneos en todas las conversaciones pasadas. Para obtener una descripción general de la función, consulta Search in LibreChat.
Cómo se conecta
LibreChat se comunica con Meilisearch a través de HTTP utilizando algunas variables de entorno. La configuración de Docker incluye Meilisearch como un servicio para usted. Una instalación desde el código fuente apunta LibreChat a un proceso de Meilisearch que usted mismo ejecuta.
Configurar Meilisearch
El docker-compose.yml predeterminado ya incluye un servicio de meilisearch, por lo que solo necesitas habilitar la búsqueda y establecer una clave maestra en tu archivo .env.
Genera una clave maestra. Utiliza cualquier cadena aleatoria lo suficientemente larga (16 bytes o más). Por ejemplo:
Agregue las variables de búsqueda a .env. El archivo Compose establece MEILI_HOST en la dirección del servicio interno para el contenedor api, por lo que no debe configurar el host aquí. Mantenga la clave maestra idéntica a la que utiliza el servicio meilisearch.
Pasa la clave maestra al servicio de Meilisearch. El servicio meilisearch incluido no lee el archivo .env, por lo que debes añadirla a través de docker-compose.override.yml. Esto mantiene tanto a LibreChat como a Meilisearch utilizando la misma clave.
Consulta Docker Override para saber cómo se combinan los archivos de anulación.
Inicie la pila. Compose combina la anulación automáticamente e inicia Meilisearch junto con LibreChat.
Mantener el puerto interno
Los contenedores acceden a Meilisearch a través de la red interna de Docker, por lo que no es necesario publicar el puerto 7700 en el host. Exponerlo públicamente puede dejar sus datos de búsqueda vulnerables.
Una vez configurado, LibreChat indexa las conversaciones y los mensajes en Meilisearch, y la barra de búsqueda devuelve resultados de texto completo con tolerancia a errores tipográficos.
Variables de entorno
| Variable | Description |
|---|---|
SEARCH | Habilita la función de búsqueda de conversaciones. Establézcalo en true. |
MEILI_HOST | URL donde LibreChat accede a Meilisearch. En Docker es http://meilisearch:7700 (configurado por Compose); desde el código fuente suele ser http://localhost:7700. |
MEILI_MASTER_KEY | Secreto compartido utilizado para autenticarse con Meilisearch. Debe coincidir con la clave con la que se inicia Meilisearch. |
MEILI_NO_ANALYTICS | Deshabilita la telemetría anónima de Meilisearch. Establézcalo en true. |
MEILI_NO_SYNC | Ver configuraciones de múltiples nodos. |
Deshabilitar la sincronización en una configuración de múltiples nodos
Si ejecuta LibreChat como un clúster de nodos o una implementación de múltiples nodos, establezca MEILI_NO_SYNC en true para que solo una instancia maneje la indexación. Esto evita la sincronización redundante de documentos de la base de datos entre instancias y el uso innecesario de recursos que esto conlleva.
Restablecer sincronización
Si los datos de Meilisearch se eliminan o corrompen, o si LibreChat trata todo como sincronizado cuando no lo está (por ejemplo, después de actualizar Meilisearch o eliminar sus archivos de datos), utilice el script de restablecimiento para forzar una resincronización completa. Esto restablece las banderas de sincronización en MongoDB, lo que hace que LibreChat vuelva a indexar todas las conversaciones y mensajes en el siguiente inicio o verificación de sincronización.
Ejecuta el script de reinicio. Usa el comando que corresponda a tu configuración.
Reinicia LibreChat. La resincronización comienza una vez que la aplicación se reinicia.
El script restablece la bandera _meiliIndex a false para todos los mensajes y conversaciones en MongoDB, luego informa cuántos documentos fueron restablecidos y cuántos quedan por sincronizar.
Cuándo usarlo:
- Después de eliminar los archivos de datos de Meilisearch
- Al actualizar Meilisearch a una versión que requiere reindexación
- Cuando LibreChat muestra las conversaciones como totalmente sincronizadas pero a Meilisearch le faltan datos
- Después de restaurar una copia de seguridad de MongoDB sin los datos correspondientes de Meilisearch
Opciones de sincronización avanzadas. Después de restablecer, controle el comportamiento de sincronización con estas variables de entorno:
| Variable | Default | Description |
|---|---|---|
MEILI_SYNC_BATCH_SIZE | 100 | Número de documentos sincronizados por lote. |
MEILI_SYNC_DELAY_MS | 100 | Retraso entre lotes de sincronización, en milisegundos. |
MEILI_SYNC_THRESHOLD | 1000 | Número mínimo de documentos no sincronizados antes de que se active una sincronización. |
¿Qué te parece esta guía?