Probando un flujo de trabajo en n8n usando Pinecone Vector store - recibiendo error 'DOMMatrix not defined'

Compartí el flujo de trabajo que se muestra a continuación. El problema parece estar en el ‘sub-node Default Data Loader’ y el error devuelto es:
Encountered error:
{
“errorMessage”: “DOMMatrix is not defined”,
“errorDescription”: “DOMMatrix is not defined”,
“errorDetails”: {},
“n8nDetails”: {
“time”: “6/15/2026, 5:38:18 PM”,
“n8nVersion”: “2.25.7 (Self Hosted)”,
“binaryDataMode”: “filesystem”
}
}

Describe the problem/error/question

¿Cuál es el mensaje de error (si hay alguno)?

{

“nodes”: [
{
“parameters”: {
“dataType”: “binary”,
“loader”: “pdfLoader”,
“textSplittingMode”: “custom”,
“options”: {
“metadata”: {
“metadataValues”: [
{
“name”: “doc_source_name”,
“value”: “={{ $json.name }}”
}
]
}
}
},
“type”: “@n8n/n8n-nodes-langchain.documentDefaultDataLoader”,
“typeVersion”: 1.1,
“position”: [
0,
208
],
“id”: “94e61ba6-ff2b-451b-acdb-2ab9c95bc8bb”,
“name”: “Default Data Loader”
}
],
“connections”: {
“Default Data Loader”: {
“ai_document”: [

]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “6b7bae030020701da6f16995313279c534f558d128bf33497924651920013cb9”
}
}

Información sobre tu configuración de n8n

  • versión de n8n:
  • Base de datos (predeterminado: SQLite):
  • Configuración EXECUTIONS_PROCESS de n8n (predeterminado: own, main):
  • Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio):
  • Sistema operativo:

Parece que es el mismo problema que se indica a continuación.

¡Bienvenido @subroto!

Tu error proviene del Default Data Loader que utiliza loader: "pdfLoader" internamente, el cual accede a una dependencia de pdfjs que espera APIs del navegador como DOMMatrix que no están disponibles en servidor/Docker. Este fue un bug conocido relacionado con el cargador de PDF y ha sido corregido en versiones recientes de n8n, así que primero asegúrate de que tu instancia realmente esté ejecutando la imagen más reciente (descarga la etiqueta que esperas y reinicia el contenedor). Como solución alternativa puedes omitir completamente el cargador de PDF: añade un nodo Extract from File antes de tu Default Data Loader, configúralo en “Read Text from File”, luego cambia el Type of Data del Default Data Loader a JSON o Text y mapea el texto extraído en él. De esta manera el cargador solo funciona con texto plano y nunca toca el código problemático de pdfjs. Si ya estás en la versión más reciente y aún ves errores de DOMMatrix después de una descarga limpia, sería útil compartir tu etiqueta exacta de imagen Docker y los nodos justo antes del Data Loader para que podamos verificar nuevamente.

Gracias por tus sugerencias.
Pude solucionar el error de DOMMatrix y el flujo de trabajo se ejecutó correctamente. Puedo ver los 24 elementos en el lado de salida de Pinecone Vector Store
Sin embargo, no veo mi índice actualizado en el sitio web de Pinecone. (Adjunto captura de pantalla)

Lo agradezco,

(attachments)

Me alegra que la solución alternativa haya resuelto el problema de DOMMatrix. Para el índice de Pinecone que no se actualiza, hay algunas cosas que debes verificar: primero, confirma que el Index Name y Namespace en tu nodo Pinecone Vector Store coincidan exactamente con lo que ves en el panel de Pinecone (distinguen mayúsculas de minúsculas). Segundo, verifica que tu clave de API de Pinecone tenga acceso al proyecto/entorno correcto. Tercero, abre el panel de Pinecone y cambia al índice correcto; a veces la vista predeterminada muestra un índice diferente. Si el nodo devolvió 24 elementos en la salida sin errores, el upsert probablemente fue aceptado, así que una discrepancia de namespace es la causa más común de esto.

¡Saludos!
Gracias por tus sugerencias. Como solo tengo un índice y NO creé un namespace al crearlo, utilicé Pinecone Namespace=“default” en mi n8n. Sin embargo, esto no ayudó. Estoy siguiendo la documentación de Pinecone para crear un nuevo namespace e intentaré de nuevo y te lo haré saber. Gracias de nuevo.

Para Pinecone, no pruebes el namespace como la cadena default con espacios. Pinecone usa __default__ para el namespace por defecto; si creas un namespace personalizado, el mismo valor exacto debe utilizarse tanto en el nodo Pinecone de n8n como en el filtro del panel.

La verificación de aceptación ya no es la salida de Data Loader. Ejecuta un upsert con un id fijo como test-001, luego lista/consulta ese id en __default__ y en el namespace que escribiste. Si aparece en un solo lugar, el workflow está escribiendo correctamente y el panel está observando un namespace diferente.

El problema aún no se ha resuelto.

Dado que la parte de DOMMatrix ya está sorteada y n8n muestra 24 elementos de salida, dejaría de usar el panel de Pinecone como primer punto de prueba.

La siguiente división es:

  1. n8n produjo fragmentos pero no los hizo upsert;
  2. Pinecone aceptó el upsert pero terminaron en un namespace/índice/proyecto diferente;
  3. Pinecone los aceptó, pero el filtro del panel no muestra el namespace en el que escribiste.

La prueba más pequeña que ejecutaría:

  • usar una entrada de texto muy pequeña, no el PDF;
  • establecer un id fijo como test-001;
  • establecer el namespace explícitamente en default o en un valor personalizado simple como n8n_test;
  • incluir un campo de metadatos obvio, por ejemplo source: n8n_probe;
  • ejecutar inmediatamente una consulta/búsqueda de Pinecone para test-001 en ese namespace exacto.

Si fetch/query encuentra test-001, el flujo de trabajo está escribiendo correctamente y el problema es la visibilidad del panel/índice/namespace.

Si fetch/query no puede encontrar test-001, el problema está antes o durante el upsert: nombre del índice, alcance del proyecto/clave API, desajuste de dimensión de embedding, o el nodo de almacén vectorial no recibe los elementos que crees que recibe.

También evitaría valores de namespace con espacios o comillas. Prueba con default o n8n_test para eliminar una variable del diagnóstico.