Den Workflow unten geteilt. Das Problem scheint im „sub-node Default Data Loader
Scheint das gleiche Problem wie unten zu sein.
Willkommen @subroto !
Dein Fehler stammt vom Standard-Data-Loader, der loader: "pdfLoader" im Hintergrund nutzt, was eine pdfjs-Abhängigkeit auslöst, die Browser-APIs wie DOMMatrix erwartet, die auf dem Server/in Docker nicht verfügbar sind. Dies war ein bekannter Bug beim PDF-Loader und wurde in neueren n8n-Versionen behoben. Stelle daher zunächst sicher, dass deine Instanz wirklich das neueste Image ausführt (pull den erwarteten Tag und starte den Container neu). Als Workaround kannst du den PDF-Loader komplett umgehen: Füge einen „Extract from File"-Node vor deinen Standard-Data-Loader ein, stelle ihn auf „Read Text from File" ein, ändere dann den Data Loader Type of Data auf JSON oder Text und mappe den extrahierten Text hinein. Auf diese Weise arbeitet der Loader nur mit Klartext und berührt niemals den problematischen pdfjs-Code. Falls du bereits die neueste Version hast und nach einem sauberen Pull immer noch DOMMatrix-Fehler siehst, wäre es hilfreich, dein exaktes Docker-Image-Tag und die Nodes direkt vor dem Data Loader zu teilen, damit wir das überprüfen können.
Danke für deine Vorschläge.
Ich konnte das DOMMatrix-Fehler umgehen und der Workflow lief erfolgreich. Ich kann die 24 Elemente auf der Ausgabeseite des Pinecone Vector Store sehen
Allerdings sehe ich meinen Index auf der Pinecone-Website nicht aktualisiert. (Screenshot anbei)
Ich schätze es sehr,
Freut mich, dass die Workaround das DOMMatrix-Problem gelöst hat. Beim Problem mit dem nicht aktualisierenden Pinecone-Index gibt es ein paar Dinge zu überprüfen: Erstens, bestätige, dass der Index Name und der Namespace in deinem Pinecone Vector Store Node exakt dem entsprechen, was du im Pinecone-Dashboard siehst (sie sind case-sensitive). Zweitens, überprüfe, dass dein Pinecone API Key auf das richtige Projekt/die richtige Umgebung begrenzt ist. Drittens, öffne das Pinecone-Dashboard und wechsle zum richtigen Index – manchmal zeigt die Standardansicht einen anderen Index. Wenn der Node 24 Elemente in der Ausgabe ohne Fehler zurückgegeben hat, wurde der Upsert wahrscheinlich akzeptiert, also ist ein Namespace-Mismatch die häufigste Ursache dafür.
Grüße!
Danke für deine Vorschläge. Da ich nur einen Index habe und beim Erstellen keinen Namespace angelegt habe, habe ich in meinem n8n Pinecone Namespace=“default” verwendet. Das hat aber nicht geholfen. Ich folge der Pinecone-Dokumentation, um einen neuen Namespace zu erstellen, und werde es erneut versuchen und mich bei dir melden. Danke nochmal.
Für Pinecone darf der Namespace nicht mit Leerzeichen als String default getestet werden. Pinecone verwendet __default__ für den Standard-Namespace. Wenn du einen benutzerdefinierten Namespace erstellst, muss der exakt gleiche Wert sowohl im n8n-Pinecone-Node als auch im Dashboard-Filter verwendet werden.
Die Akzeptanzprüfung ist nicht mehr die Ausgabe des Data Loaders. Führe einen Upsert mit einer festen ID wie test-001 aus, liste dann diese ID in __default__ und in dem Namespace auf, den du eingegeben hast, oder frage sie ab. Wenn sie nur an einer Stelle auftaucht, schreibt der Workflow korrekt und das Dashboard betrachtet einen anderen Namespace.
Problem immer noch nicht gelöst.
Da der DOMMatrix-Teil bereits umgangen wurde und n8n 24 Output-Elemente anzeigt, würde ich aufhören, das Pinecone-Dashboard als ersten Nachweis zu verwenden.
Die nächste Aufspaltung ist:
- n8n hat Chunks erstellt, aber sie nicht hochgeladen;
- Pinecone hat das Hochladen akzeptiert, aber sie sind in einem anderen Namespace/Index/Projekt gelandet;
- Pinecone hat sie akzeptiert, aber der Dashboard-Filter zeigt den Namespace, in den du geschrieben hast, nicht an.
Den kleinsten Proof-Test würde ich ausführen:
- Verwende eine kleine Texteingabe, nicht das PDF;
- Setze eine feste ID wie test-001;
- Setze den Namespace explizit auf default oder auf einen einfachen benutzerdefinierten Wert wie n8n_test;
- Füge ein offensichtliches Metadatenfeld ein, zum Beispiel source: n8n_probe;
- Führe sofort eine Pinecone-Abfrage/einen Abruf für test-001 in genau diesem Namespace aus.
Wenn fetch/query test-001 findet, schreibt der Workflow korrekt und das Problem ist Dashboard-/Index-/Namespace-Sichtbarkeit.
Wenn fetch/query test-001 nicht findet, liegt das Problem vor oder während des Hochladens: Index-Name, Project/API-Key-Bereich, Embedding-Dimensions-Mismatch oder der Vector-Store-Node empfängt nicht die Elemente, die du denkst, dass er sie empfängt.
Ich würde auch Namespace-Werte mit Leerzeichen oder Anführungszeichen vermeiden. Teste entweder mit default oder n8n_test, um eine Variable aus der Diagnose zu entfernen.
