
Warum ich den Chunk in meinem RAG-System auf 1500 Tokens gesetzt habe
Die Migration auf bge-m3 brachte ein 8192 Tokens Limit. Dennoch habe ich das Chunk-Limit bewusst auf 1500 Tokens gesetzt, um die semantische Schärfe zu bewahren.

Die Migration auf bge-m3 brachte ein 8192 Tokens Limit. Dennoch habe ich das Chunk-Limit bewusst auf 1500 Tokens gesetzt, um die semantische Schärfe zu bewahren.

Ich hatte die Textaufteilung bereits eingebaut und sah trotzdem weiter den Kontextfehler. Erst als ich den Tokenrahmen und die Spezialtoken mitgedacht habe, wurde die Ursache sichtbar.

Ich behandle die Wahl des Embedding-Modells nicht als austauschbare Umgebungsvariable. In Qdrant schreibt sie sich direkt in jede Collection ein. Wer lokal und in Produktion auf unterschiedliche Vektorräume setzt, baut sich eine teure Migration in die Zukunft ein.

OAuth 2.0 und OIDC liefern bei einem Login zwei Tokens, und fast jede Implementierung liest die E-Mail-Adresse aus dem falschen. Warum access_token und id_token grundlegend verschiedene Zwecke haben und wieso der Userinfo-Endpoint die zuverlässigere Quelle für Nutzerprofildaten ist.

Azurite bindet das Projekt an Azure Blob Storage. MinIO spricht dieselbe S3-API wie Hetzner Object Storage. Ein Env-Var-Tausch genügt für den Wechsel in die Produktion. Gleichzeitig: wie der Zitadel-Bootstrap-Container OIDC-Apps automatisch anlegt.

POST /ingest blockierte die Extension, bis Embedding und Qdrant-Upsert fertig waren. Mit BullMQ und Redis wird der Ingest asynchron: 202 sofort, Verarbeitung im Hintergrund, Statusabfrage über GET /captures/:id/status.