{"id":5306,"date":"2026-03-30T05:55:15","date_gmt":"2026-03-30T05:55:15","guid":{"rendered":"https:\/\/www.markus-schall.de\/?p=5306"},"modified":"2026-09-01T06:16:30","modified_gmt":"2026-09-01T06:16:30","slug":"dallesportazione-di-dati-chatgpt-alla-propria-conoscenza-ki-passo-dopo-passo-con-ollama-e-qdrant","status":"publish","type":"post","link":"https:\/\/www.markus-schall.de\/it\/2026\/03\/vom-chatgpt-datenexport-zur-eigenen-wissens-ki-schritt-fuer-schritt-mit-ollama-und-qdrant\/","title":{"rendered":"Dall'esportazione dei dati ChatGPT alla propria conoscenza AI: passo dopo passo con Ollama e Qdrant"},"content":{"rendered":"<p>Im ersten Teil dieser Artikelserie haben wir gesehen, dass der ChatGPT-Datenexport weit mehr ist als nur eine technische Funktion. In Deinen exportierten Daten steckt eine Sammlung aus Gedanken, Ideen, Analysen und Gespr\u00e4chen, die sich \u00fcber l\u00e4ngere Zeit angesammelt haben. Doch solange diese Daten nur als Archiv auf der Festplatte liegen, bleiben sie genau das: ein Archiv. Der entscheidende Schritt besteht darin, diese Informationen wieder nutzbar zu machen. Genau hier beginnt der Aufbau einer pers\u00f6nlichen Wissens-KI.<\/p>\n<p>Die Idee ist eigentlich erstaunlich einfach: Eine KI soll nicht nur mit allgemeinem Wissen arbeiten, sondern auch auf Deine eigenen Daten zugreifen k\u00f6nnen. Sie soll fr\u00fchere Gespr\u00e4che durchsuchen, passende Inhalte finden und diese in neue Antworten einbeziehen. Damit wird aus einer gew\u00f6hnlichen KI eine Art digitales Ged\u00e4chtnis. Dies ist der zweite Teil der Artikelserie, in dem es nun um die Praxis geht.<!--more--><\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-151 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 9px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-151 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\" dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Gesellschaftsthemen der Gegenwart<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-151\" class=\"dpt-wrapper dpt-mag1 land1 dpt-cropped dpt-flex-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"cloud-act, datenhoheit und die schweiz: ein wendepunkt f\u00fcr europ\u00e4ische it-strategien?\" data-id=\"3727\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"datenbanken datenschutz digitales eigentum eu-gesetze europa\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/cloud-act-datenhoheit-und-die-schweiz-ein-wendepunkt-fuer-europaeische-it-strategien\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">CLOUD-Act, Datenhoheit und die Schweiz: Ein Wendepunkt f\u00fcr europ\u00e4ische IT-Strategien?<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Was bedeutet die Schweizer Cloud-Resolution f\u00fcr Europa\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/schweiz-cloud-resolution-eu.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/schweiz-cloud-resolution-eu.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/schweiz-cloud-resolution-eu-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/schweiz-cloud-resolution-eu-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/schweiz-cloud-resolution-eu-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/cloud-act-datenhoheit-und-die-schweiz-ein-wendepunkt-fuer-europaeische-it-strategien\/\" rel=\"bookmark\">CLOUD-Act, Datenhoheit und die Schweiz: Ein Wendepunkt f\u00fcr europ\u00e4ische IT-Strategien?<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"k\u00fcnstliche intelligenz: welche jobs in gefahr sind, und wie wir uns jetzt wappnen k\u00f6nnen\" data-id=\"2940\"  data-category=\"allgemein b\u00fccher gesellschaft ki-systeme\" data-post_tag=\"buch k\u00fcnstliche intelligenz llama llm mistral mlx ollama ratgeber sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/09\/kuenstliche-intelligenz-welche-jobs-in-gefahr-sind-und-wie-wir-uns-jetzt-wappnen-koennen\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">K\u00fcnstliche Intelligenz: Welche Jobs in Gefahr sind, und wie wir uns jetzt wappnen k\u00f6nnen<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Welche Jobs entfallen k\u00fcnftig durch KI\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/welche-jobs-fallen-durch-ki-weg-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/09\/kuenstliche-intelligenz-welche-jobs-in-gefahr-sind-und-wie-wir-uns-jetzt-wappnen-koennen\/\" rel=\"bookmark\">K\u00fcnstliche Intelligenz: Welche Jobs in Gefahr sind, und wie wir uns jetzt wappnen k\u00f6nnen<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"die krimtataren &#8211; geschichte, herkunft und gegenwart eines vergessenen volkes\" data-id=\"4154\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"europa geopolitik krisen meinungsfreiheit\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/12\/die-krimtataren-geschichte-herkunft-und-gegenwart-eines-vergessenen-volkes\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Die Krimtataren &#8211; Geschichte, Herkunft und Gegenwart eines vergessenen Volkes<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Krimtartaren-Steppe\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Krimtartaren-Steppe.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Krimtartaren-Steppe.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Krimtartaren-Steppe-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Krimtartaren-Steppe-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Krimtartaren-Steppe-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/12\/die-krimtataren-geschichte-herkunft-und-gegenwart-eines-vergessenen-volkes\/\" rel=\"bookmark\">Die Krimtataren &#8211; Geschichte, Herkunft und Gegenwart eines vergessenen Volkes<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"deine meinung z\u00e4hlt &#8211; neue umfragen zu aktuellen themen\" data-id=\"3383\"  data-category=\"allgemein b\u00fccher gesellschaft\" data-post_tag=\"buch cmd erfahrungen gesundheit krisen meinungsfreiheit\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/deine-meinung-zaehlt-neue-umfragen-zu-aktuellen-themen\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Deine Meinung z\u00e4hlt &#8211; Neue Umfragen zu aktuellen Themen<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Umfragen zu aktuellen Themen\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/umfragen-aktuell.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/umfragen-aktuell.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/umfragen-aktuell-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/umfragen-aktuell-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/umfragen-aktuell-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/deine-meinung-zaehlt-neue-umfragen-zu-aktuellen-themen\/\" rel=\"bookmark\">Deine Meinung z\u00e4hlt &#8211; Neue Umfragen zu aktuellen Themen<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<h2>Teil 1 der Serie: Der untersch\u00e4tzte Schatz im ChatGPT-Datenexport<\/h2>\n<p>W\u00e4hrend wir in diesem zweiten Teil konkret in die Praxis einsteigen, lohnt sich ein Blick auf den <a href=\"https:\/\/www.markus-schall.de\/2026\/03\/chatgpt-datenexport-erklaert-wie-deine-ki-chats-zu-einem-persoenlichen-wissenssystem-werden\/\"><strong>ersten Artikel dieser Serie<\/strong><\/a>. Dort geht es um die grundlegende Frage, warum der ChatGPT-Datenexport \u00fcberhaupt so interessant ist &#8211; und weshalb viele Nutzer sein Potenzial noch untersch\u00e4tzen. Der Artikel zeigt, welche Daten tats\u00e4chlich im Export enthalten sind, wie daraus ein pers\u00f6nliches Wissensarchiv entstehen kann und warum genau dieser Schritt die Grundlage f\u00fcr eine eigene KI mit Ged\u00e4chtnis bildet. Wenn Du verstehen m\u00f6chtest, warum wir diese Pipeline \u00fcberhaupt aufbauen und welchen strategischen Wert Deine eigenen Chatverl\u00e4ufe haben, solltest Du mit Teil 1 beginnen.<\/p>\n<p>Bevor wir im n\u00e4chsten Kapitel mit der konkreten Umsetzung beginnen, schauen wir uns zun\u00e4chst an, wie ein solches System grunds\u00e4tzlich aufgebaut ist.<\/p>\n<hr \/>\n<h2>Die Grundidee eines RAG-Systems<\/h2>\n<p>Die technische Grundlage unseres Systems ist ein Konzept, das in der KI-Welt inzwischen weit verbreitet ist: RAG, also Retrieval Augmented Generation. Hinter diesem Begriff verbirgt sich ein sehr praktisches Prinzip.<\/p>\n<p>Normalerweise beantwortet ein Sprachmodell Fragen ausschlie\u00dflich mit dem Wissen, das w\u00e4hrend seines Trainings gelernt wurde. Dieses Wissen ist zwar umfangreich, aber es hat zwei entscheidende Einschr\u00e4nkungen:<\/p>\n<ul>\n<li>Erstens kennt das Modell keine individuellen Informationen \u00fcber Deine eigenen Projekte oder Gedanken.<\/li>\n<li>Zweitens kann es nicht auf neue Daten zugreifen, die nach dem Training entstanden sind.<\/li>\n<\/ul>\n<p>Genau hier setzt ein RAG-System an. Statt eine Antwort direkt zu generieren, passiert zun\u00e4chst etwas anderes: Das System durchsucht eine Datenbank nach Inhalten, die zur gestellten Frage passen. Diese Inhalte werden anschlie\u00dfend als Kontext an das Sprachmodell \u00fcbergeben. Erst danach formuliert die KI ihre Antwort. Der Ablauf sieht vereinfacht so aus:<\/p>\n<ol>\n<li>Du stellst eine Frage \u2192<\/li>\n<li>das System durchsucht eine Wissensdatenbank \u2192<\/li>\n<li>relevante Inhalte werden gefunden \u2192<\/li>\n<li>diese Inhalte werden der KI als Kontext \u00fcbergeben \u2192<\/li>\n<li>die KI erzeugt eine Antwort.<\/li>\n<\/ol>\n<p>Der entscheidende Vorteil liegt auf der Hand: Die KI kann Informationen nutzen, die nicht Teil ihres urspr\u00fcnglichen Trainings waren.<\/p>\n<p>Und genau hier kommen Deine ChatGPT-Daten ins Spiel. Wenn wir diese Gespr\u00e4che in eine Wissensdatenbank integrieren, kann die KI sp\u00e4ter darauf zugreifen. Sie kann fr\u00fchere Ideen wiederfinden, Argumente aus alten Dialogen nutzen oder Analysen aus vergangenen Gespr\u00e4chen ber\u00fccksichtigen. Das System beginnt also, sich an Deine eigenen Gedanken zu \u201eerinnern\u201c.<\/p>\n<h3>Die Bausteine unseres Systems<\/h3>\n<p>Damit das funktioniert, ben\u00f6tigen wir mehrere Komponenten, die zusammenarbeiten. Zum Gl\u00fcck ist die technische Infrastruktur daf\u00fcr heute deutlich einfacher zug\u00e4nglich als noch vor wenigen Jahren. Unser System besteht im Kern aus vier zentralen Bausteinen.<\/p>\n<ol>\n<li>Der erste Baustein ist der <strong>ChatGPT-Datenexport<\/strong>. Hier liegen unsere Rohdaten. Diese enthalten alle Gespr\u00e4che, die wir zuvor mit der KI gef\u00fchrt haben.<\/li>\n<li>Der zweite Baustein ist ein <strong>Embedding-Modell<\/strong>. Dieses Modell \u00fcbersetzt Text in mathematische Vektoren. Dadurch wird es m\u00f6glich, Texte nach ihrer Bedeutung zu vergleichen.<\/li>\n<li>Der dritte Baustein ist eine <strong>Vektordatenbank<\/strong>. In unserem Fall verwenden wir Qdrant. Diese Datenbank speichert die mathematischen Repr\u00e4sentationen der Texte und erm\u00f6glicht eine schnelle semantische Suche.<\/li>\n<li>Der vierte Baustein ist ein <strong>lokales Sprachmodell<\/strong>, das \u00fcber Ollama l\u00e4uft. Dieses Modell formuliert sp\u00e4ter die eigentlichen Antworten.<\/li>\n<\/ol>\n<p>Diese vier Komponenten arbeiten eng zusammen.<\/p>\n<ol>\n<li>Der Datenexport liefert die Inhalte.<\/li>\n<li>Das Embedding-Modell macht sie maschinenlesbar.<\/li>\n<li>Die Vektordatenbank speichert und durchsucht sie.<\/li>\n<li>Das Sprachmodell erzeugt schlie\u00dflich verst\u00e4ndliche Antworten.<\/li>\n<\/ol>\n<p>Zusammen bilden sie die Grundlage f\u00fcr eine pers\u00f6nliche Wissens-KI.<\/p>\n<h3>Der Datenfluss im \u00dcberblick<\/h3>\n<p>Damit das System funktioniert, m\u00fcssen die Daten mehrere Schritte durchlaufen. Am Anfang steht der ChatGPT-Datenexport, den wir bereits im ersten Artikel erstellt haben. Die darin enthaltenen Gespr\u00e4che werden zun\u00e4chst aus den JSON-Dateien extrahiert. Diese Texte m\u00fcssen anschlie\u00dfend vorbereitet werden. Gro\u00dfe Chatverl\u00e4ufe werden in kleinere Abschnitte zerlegt, sogenannte Text-Chunks. Dadurch wird die sp\u00e4tere Suche deutlich effizienter.<\/p>\n<p>Im n\u00e4chsten Schritt erzeugen wir aus diesen Textabschnitten Embeddings. Dabei wird jeder Text mathematisch beschrieben. Texte mit \u00e4hnlicher Bedeutung erhalten \u00e4hnliche Vektoren. Diese Vektoren speichern wir anschlie\u00dfend in unserer Vektordatenbank Qdrant.<\/p>\n<p>Damit ist der wichtigste Teil der Infrastruktur bereits aufgebaut. Wenn sp\u00e4ter eine Frage gestellt wird, passiert Folgendes:<\/p>\n<ol>\n<li>Die Frage wird ebenfalls in einen Vektor umgewandelt.<\/li>\n<li>Die Datenbank sucht nach Texten mit \u00e4hnlicher Bedeutung.<\/li>\n<li>Diese Textstellen werden als Kontext an das Sprachmodell \u00fcbergeben.<\/li>\n<li>Das Modell nutzt diese Informationen und formuliert daraus eine Antwort.<\/li>\n<\/ol>\n<p>Dieser Ablauf sorgt daf\u00fcr, dass die KI nicht nur allgemeines Wissen verwendet, sondern auch auf Deine eigenen Daten zugreifen kann.<\/p>\n<h3>Was am Ende m\u00f6glich sein wird<\/h3>\n<p>Wenn das System einmal eingerichtet ist, ver\u00e4ndert sich der Umgang mit KI sp\u00fcrbar. Du arbeitest dann nicht mehr nur mit einem allgemeinen Sprachmodell, sondern mit einer KI, die auf Deine eigenen Daten zugreifen kann. Das er\u00f6ffnet v\u00f6llig neue M\u00f6glichkeiten. Du kannst zum Beispiel Fragen stellen wie:<\/p>\n<blockquote><p><em>\u201eHabe ich \u00fcber dieses Thema schon einmal mit der KI gesprochen?\u201c<\/em><br \/>\n<em>\u201eWelche Ideen hatte ich fr\u00fcher zu diesem Projekt?\u201c<\/em><br \/>\n<em>\u201eWelche Argumente habe ich in fr\u00fcheren Gespr\u00e4chen entwickelt?\u201c<\/em><\/p><\/blockquote>\n<p>Die KI durchsucht dann Deine eigenen Gespr\u00e4che und findet passende Inhalte. Statt nur eine allgemeine Antwort zu geben, kann sie auf fr\u00fchere Gedanken Bezug nehmen, alte Analysen zusammenfassen oder Zusammenh\u00e4nge zwischen verschiedenen Gespr\u00e4chen erkennen.<\/p>\n<p>Mit anderen Worten: Die KI beginnt, mit Deinem eigenen Wissensarchiv zu arbeiten. Damit wird aus einem einfachen Chatwerkzeug ein System, das Dich langfristig beim Denken unterst\u00fctzen kann. Und genau dieses System werden wir in den n\u00e4chsten Kapiteln Schritt f\u00fcr Schritt aufbauen. Im n\u00e4chsten Abschnitt beginnen wir mit der praktischen Arbeit und schauen uns zuerst den ChatGPT-Datenexport genauer an. Denn bevor wir eine Wissensdatenbank aufbauen k\u00f6nnen, m\u00fcssen wir verstehen, wie unsere Daten eigentlich aufgebaut sind.<\/p>\n<h3>Vom pers\u00f6nlichen Wissensarchiv zum Unternehmenswissen<\/h3>\n<p><a href=\"https:\/\/www.markus-schall.de\/ki-beratung\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-6402\" src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Beratung-Mittelstand-300x169.jpg\" alt=\"KI-Beratung, Unternehmensberatung,. ERP-Software, Magazin und Redaktion\" width=\"300\" height=\"169\" srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Beratung-Mittelstand-300x169.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Beratung-Mittelstand-1024x576.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Beratung-Mittelstand-768x432.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Beratung-Mittelstand-18x10.jpg 18w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Beratung-Mittelstand.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Was mit einem eigenen ChatGPT-Export funktioniert, wird im Unternehmen schnell noch interessanter. Dort liegen wertvolle Informationen allerdings selten an einem einzigen Ort: Wissen steckt in ERP- und CRM-Systemen, Datenbanken, Dokumenten, E-Mails, Projektunterlagen und nicht zuletzt in den Erfahrungen der Mitarbeiter. Eine eigene Wissens-KI kann solche Quellen grunds\u00e4tzlich zusammenf\u00fchren und gezielt verf\u00fcgbar machen. Bevor daf\u00fcr jedoch Vektordatenbanken, RAG-Systeme oder lokale Sprachmodelle eingerichtet werden, sollte gekl\u00e4rt werden, welches Wissen tats\u00e4chlich ben\u00f6tigt wird und welche Prozesse damit verbessert werden sollen.<\/p>\n<p>In meiner <a href=\"https:\/\/www.markus-schall.de\/ki-beratung\/\"><strong>KI-Beratung f\u00fcr mittelst\u00e4ndische Unternehmen<\/strong><\/a> beginnt die Analyse deshalb bei Daten, Abl\u00e4ufen und konkreten Anwendungsf\u00e4llen. Erst anschlie\u00dfend wird entschieden, ob eine lokale Wissens-KI, eine Cloudl\u00f6sung oder eine hybride Architektur sinnvoll ist. So entsteht nicht zun\u00e4chst eine technisch beeindruckende Wissensdatenbank, f\u00fcr die sp\u00e4ter ein Einsatzzweck gesucht wird \u2013 sondern eine KI-L\u00f6sung, die aus einem tats\u00e4chlichen betrieblichen Bedarf heraus entwickelt wird.<\/p>\n<hr \/>\n<h3>Aktuelle Umfrage zur Nutzung lokaler KI-Systeme<\/h3>\n<div class='bootstrap-yop yop-poll-mc'>\n\t\t\t\t\t\t\t<div class=\"basic-yop-poll-container\" style=\"background-color:#ffffff; border:0px; border-style:solid; border-color:#000000; border-radius:5px; padding:0px 5px;\" data-id=\"9\" data-temp=\"basic-pretty\" data-skin=\"square\" data-cscheme=\"blue\" data-cap=\"0\" data-access=\"guest\" data-tid=\"\" data-uid=\"58c16aa2acc411f67706078012e711be\" data-pid=\"3383\" data-resdet=\"votes-number,percentages\" data-show-results-to=\"guest\" data-show-results-moment=\"after-vote\" data-show-results-only=\"false\" data-show-message=\"true\" data-show-results-as=\"bar\" data-sort-results-by=\"as-defined\" data-sort-results-rule=\"asc\"data-is-ended=\"0\" data-percentages-decimals=\"2\" data-gdpr=\"no\" data-gdpr-sol=\"consent\" data-css=\".basic-yop-poll-container[data-uid] .basic-vote {\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\" data-counter=\"0\" data-load-with=\"1\" data-notification-section=\"top\"><div class=\"row\"><div class=\"col-md-12\"><div class=\"basic-inner\"><div class=\"basic-message hide\" style=\"border-left: 10px solid #008000; padding: 0px 10px;\" data-error=\"#ff0000\" data-success=\"#008000\"><p class=\"basic-message-text\" style=\"color:#000000; font-size:14px; font-weight:normal;\"><\/p><\/div><div class=\"basic-overlay hide\"><div class=\"basic-vote-options\"><\/div><div class=\"basic-preloader\"><div class=\"basic-windows8\"><div class=\"basic-wBall basic-wBall_1\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_2\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_3\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_4\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_5\"><div class=\"basic-wInnerBall\"><\/div><\/div><\/div><\/div><\/div><form class=\"basic-form\"><input type=\"hidden\" name=\"_token\" value=\"6ed9fb1741\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"44103567a1837ae93a297315d531449b\" data-type=\"question\" data-question-type=\"text\" data-required=\"yes\" data-allow-multiple=\"no\" data-min=\"1\" data-max=\"7\" data-display=\"vertical\" data-colnum=\"\" data-display-others=\"no\" data-others-color=\"\" data-others=\"\" data-others-max-chars=\"0\"><div class=\"basic-question-title\"><h5 style=\"color:#000000; font-size:16px; font-weight:normal; text-align:left;\">Wie stehst Du zu lokal laufender KI-Software wie MLX oder Ollama?<\/h5><\/div><ul class=\"basic-answers\"><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"45\" data-type=\"text\" data-vn=\"191\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[45]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[45]\" name=\"answer[9]\" value=\"45\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Genial \u2013 endlich unabh\u00e4ngig von der Cloud<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"46\" data-type=\"text\" data-vn=\"36\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[46]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[46]\" name=\"answer[9]\" value=\"46\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Interessant, aber (noch) zu kompliziert<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"47\" data-type=\"text\" data-vn=\"41\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[47]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[47]\" name=\"answer[9]\" value=\"47\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Werde ich bald ausprobieren<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"48\" data-type=\"text\" data-vn=\"6\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[48]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[48]\" name=\"answer[9]\" value=\"48\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Brauche ich nicht \u2013 Cloud reicht mir<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"49\" data-type=\"text\" data-vn=\"8\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[49]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[49]\" name=\"answer[9]\" value=\"49\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Wei\u00df ich nicht genau, worum es da geht<\/span><\/label><\/div><\/li><\/ul><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"basic-vote\"><a href=\"#\" class=\"button basic-vote-button\" role=\"button\" style=\"background:#027bb8; border:0px; border-style: solid; border-color:#000000; border-radius:5px; padding:10px 10px; color:#ffffff; font-size:14px; font-weight:normal;\">Abstimmen<\/a><\/div><\/form><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n<hr \/>\n<h2>Vorbereitung: ChatGPT-Datenexport verstehen<\/h2>\n<p>Im ersten Artikel dieser Serie haben wir den ChatGPT-Datenexport bereits erstellt und als ZIP-Datei heruntergeladen. Auf den ersten Blick wirkt diese Datei vielleicht etwas unspektakul\u00e4r &#8211; ein Archiv mit einigen technischen Dateien, das zun\u00e4chst eher wie ein Backup aussieht als wie ein wertvoller Datensatz. Doch genau in diesem Archiv steckt die Grundlage f\u00fcr unser gesamtes Wissenssystem.<\/p>\n<p>Bevor wir damit beginnen k\u00f6nnen, diese Daten in eine Datenbank zu laden oder mit einer KI zu verbinden, m\u00fcssen wir zun\u00e4chst verstehen, wie der Export aufgebaut ist. Denn nur wenn wir wissen, welche Informationen enthalten sind und wie sie strukturiert sind, k\u00f6nnen wir sie sp\u00e4ter sinnvoll weiterverarbeiten. In diesem Kapitel schauen wir uns deshalb an, wie der Datenexport aufgebaut ist, welche Dateien wirklich relevant sind und wie wir aus diesem technischen Archiv eine brauchbare Grundlage f\u00fcr unser KI-Wissenssystem machen.<\/p>\n<h3>ZIP-Datei entpacken<\/h3>\n<p>Der erste Schritt ist trivial, aber dennoch wichtig: Wir m\u00fcssen das heruntergeladene Archiv entpacken. Die Datei liegt normalerweise als klassische ZIP-Datei vor. Je nach Umfang Deiner bisherigen Nutzung kann sie unterschiedlich gro\u00df sein. Manche Nutzer erhalten ein Archiv von wenigen hundert Megabyte, andere mehrere Gigabyte.<\/p>\n<p>Nachdem Du die Datei entpackt hast, entsteht ein Ordner mit mehreren Dateien und Unterordnern. Die genaue Struktur kann sich leicht unterscheiden, doch typischerweise findest Du darin eine Reihe von JSON-Dateien sowie eventuell weitere Dateien mit erg\u00e4nzenden Informationen.<\/p>\n<p>F\u00fcr viele Nutzer wirkt diese Struktur zun\u00e4chst etwas technisch. Doch wenn man sich einen Moment Zeit nimmt, erkennt man schnell ein Muster: Die Daten sind relativ sauber organisiert und folgen einer klaren Struktur. Das ist eine gute Nachricht, denn genau diese Struktur macht es sp\u00e4ter m\u00f6glich, die Inhalte automatisiert zu verarbeiten.<\/p>\n<h3>Aufbau der Chatdaten<\/h3>\n<p>Der wichtigste Bestandteil des Exports sind die eigentlichen Chatdaten. Diese Gespr\u00e4che sind in der Regel in einer oder mehreren JSON-Dateien gespeichert. JSON ist ein weit verbreitetes Datenformat, das h\u00e4ufig verwendet wird, um strukturierte Informationen zu speichern.<\/p>\n<p>Eine solche Datei enth\u00e4lt nicht einfach nur einen langen Text. Stattdessen ist ein Gespr\u00e4ch in einzelne Elemente aufgeteilt. Typischerweise besteht ein Dialog aus mehreren Nachrichten. Jede Nachricht enth\u00e4lt Informationen wie:<\/p>\n<ul>\n<li>den eigentlichen Text der Nachricht<\/li>\n<li>die Rolle des Absenders (Nutzer oder KI)<\/li>\n<li>einen Zeitstempel<\/li>\n<li>teilweise weitere Metadaten<\/li>\n<\/ul>\n<p>Dadurch l\u00e4sst sich der gesamte Gespr\u00e4chsverlauf rekonstruieren. Ein Dialog beginnt beispielsweise mit einer Frage des Nutzers. Darauf folgt eine Antwort der KI. Anschlie\u00dfend k\u00f6nnen weitere R\u00fcckfragen und Antworten folgen. Jede dieser Nachrichten wird einzeln gespeichert.<\/p>\n<p>Das hat einen gro\u00dfen Vorteil: Wir k\u00f6nnen sp\u00e4ter genau erkennen, wer was gesagt hat und wie sich ein Gespr\u00e4ch entwickelt hat. F\u00fcr unser Wissenssystem ist das besonders wichtig, denn wir wollen sp\u00e4ter genau diese Inhalte durchsuchen und analysieren.<\/p>\n<h3>Welche Daten wir wirklich brauchen<\/h3>\n<p>Obwohl der Export viele Informationen enth\u00e4lt, ben\u00f6tigen wir f\u00fcr unser Wissenssystem nicht alles. Der wichtigste Bestandteil sind die Texte der Gespr\u00e4che. Diese Texte enthalten die eigentlichen Inhalte: Ideen, Analysen, Fragen und Antworten. Genau diese Inhalte wollen wir sp\u00e4ter durchsuchen.<\/p>\n<p>Zus\u00e4tzlich k\u00f6nnen einige Metadaten sinnvoll sein. Dazu geh\u00f6ren zum Beispiel:<\/p>\n<ul>\n<li>Zeitstempel<\/li>\n<li>Gespr\u00e4chstitel<\/li>\n<li>eventuell interne Identifikationsnummern<\/li>\n<\/ul>\n<p>Diese Informationen helfen uns sp\u00e4ter dabei, Inhalte besser zu sortieren oder ein Gespr\u00e4ch zeitlich einzuordnen. Andere Bestandteile des Exports sind f\u00fcr unser Projekt weniger relevant. Dazu geh\u00f6ren beispielsweise bestimmte technische Metadaten, die nur f\u00fcr die interne Funktionsweise der Plattform interessant sind.<\/p>\n<p>F\u00fcr den Aufbau unserer Wissensbasis konzentrieren wir uns deshalb bewusst auf das Wesentliche: die Texte der Gespr\u00e4che und einige grundlegende Kontextinformationen. Je klarer wir diese Daten strukturieren, desto besser kann unsere KI sp\u00e4ter damit arbeiten.<\/p>\n<h3>Erste Sichtung der Daten<\/h3>\n<p>Bevor wir mit automatisierten Skripten arbeiten, lohnt sich ein kurzer Blick in die Daten selbst. \u00d6ffne dazu eine der JSON-Dateien mit einem einfachen Texteditor oder einem Programm, das JSON-Dateien gut darstellen kann. Viele Codeeditoren wie Visual Studio Code eignen sich daf\u00fcr sehr gut, aber auch einfache Texteditoren funktionieren.<\/p>\n<p>Beim ersten Blick in die Datei wirst Du vermutlich eine relativ gro\u00dfe Menge strukturierter Daten sehen. JSON-Dateien bestehen aus verschachtelten Elementen &#8211; also Datenfeldern, die wiederum andere Felder enthalten. Das wirkt zun\u00e4chst etwas komplex, doch mit etwas Geduld erkennt man schnell die grundlegende Struktur. Du wirst beispielsweise sehen, dass ein Gespr\u00e4ch aus mehreren Nachrichten besteht und dass jede Nachricht ein eigenes Objekt darstellt. Der eigentliche Text steht meist in einem klar erkennbaren Feld.<\/p>\n<p>Diese erste Sichtung hat einen wichtigen Zweck: Sie hilft Dir zu verstehen, wie Deine Daten aufgebaut sind. Denn im n\u00e4chsten Kapitel werden wir genau diese Struktur nutzen, um die Gespr\u00e4che automatisiert auszulesen und f\u00fcr unser Wissenssystem aufzubereiten. Mit anderen Worten: Wir verwandeln jetzt ein technisches Datenarchiv Schritt f\u00fcr Schritt in eine nutzbare Wissensbasis. Und genau damit beginnen wir im n\u00e4chsten Kapitel. Dort geht es darum, die Chatdaten zu extrahieren und so aufzubereiten, dass sie sp\u00e4ter effizient durchsucht werden k\u00f6nnen.<\/p>\n<h2>Daten aufbereiten: Von Gespr\u00e4chen zu analysierbaren Texten<\/h2>\n<p>Nachdem wir im vorherigen Kapitel den ChatGPT-Datenexport entpackt und uns einen ersten \u00dcberblick \u00fcber die Struktur verschafft haben, beginnt nun der eigentliche technische Teil unseres Projekts. Die exportierten Daten sind zwar vollst\u00e4ndig vorhanden &#8211; aber in dieser Form noch nicht optimal f\u00fcr unser Wissenssystem geeignet.<\/p>\n<p>Der Grund ist einfach: Chatverl\u00e4ufe sind meist lang, enthalten viele Themen und sind in einer Struktur gespeichert, die f\u00fcr Menschen lesbar ist, aber nicht ideal f\u00fcr semantische Suche oder Vektordatenbanken. Damit unsere KI sp\u00e4ter gezielt relevante Inhalte finden kann, m\u00fcssen wir diese Rohdaten zuerst aufbereiten. Das bedeutet im Kern drei Dinge:<\/p>\n<ol>\n<li>die Gespr\u00e4che aus den JSON-Dateien extrahieren<\/li>\n<li>die Texte sinnvoll strukturieren<\/li>\n<li>die Inhalte in kleinere Abschnitte aufteilen<\/li>\n<\/ol>\n<p>Dieser Prozess ist ein ganz normaler Schritt in modernen KI-Systemen und wird h\u00e4ufig als Preprocessing bezeichnet.<\/p>\n<h3>Warum Rohdaten nicht direkt geeignet sind<\/h3>\n<p>Wenn Du einen Blick in eine der JSON-Dateien wirfst, wirst Du feststellen, dass ein einzelner Chat oft aus vielen Nachrichten besteht. Ein typischer Dialog kann zum Beispiel so aussehen:<\/p>\n<ul>\n<li>Frage<\/li>\n<li>Antwort<\/li>\n<li>R\u00fcckfrage<\/li>\n<li>neue Erkl\u00e4rung<\/li>\n<li>weiteres Detail<\/li>\n<li>Zusammenfassung<\/li>\n<\/ul>\n<p>Manche Gespr\u00e4che k\u00f6nnen hunderte oder sogar tausende W\u00f6rter enthalten. F\u00fcr Menschen ist das kein Problem. Wir lesen einen Dialog einfach von oben nach unten.<\/p>\n<p>F\u00fcr eine KI-Suche funktioniert das jedoch schlechter. Der Grund liegt darin, dass ein einzelner Chat oft mehrere Themen enth\u00e4lt. Wenn wir sp\u00e4ter eine semantische Suche durchf\u00fchren, soll das System m\u00f6glichst pr\u00e4zise Textstellen finden &#8211; nicht ganze Gespr\u00e4che mit vielen unterschiedlichen Inhalten.<\/p>\n<p>Deshalb werden gro\u00dfe Texte in kleinere Abschnitte zerlegt. Diese Abschnitte nennt man Chunks. Ein Chunk ist einfach ein kleiner Textblock, der einen zusammenh\u00e4ngenden Gedanken enth\u00e4lt. Diese Methode verbessert sp\u00e4ter die Qualit\u00e4t der Suche erheblich.<\/p>\n<h3>Chatverl\u00e4ufe extrahieren<\/h3>\n<p>Der erste praktische Schritt besteht darin, die Inhalte aus den JSON-Dateien auszulesen. Daf\u00fcr verwenden wir ein kleines Python-Skript. Python eignet sich besonders gut f\u00fcr solche Aufgaben, weil es viele Bibliotheken f\u00fcr Datenverarbeitung und KI enth\u00e4lt.<\/p>\n<p>Erstelle zun\u00e4chst eine neue Datei, zum Beispiel:<\/p>\n<p><code class=\"notranslate\">extract_chats.py<\/code><\/p>\n<p>Dann f\u00fcgen wir ein einfaches Skript hinzu, das die Chatdaten l\u00e4dt.<\/p>\n<pre class=\"notranslate\">import json\r\nwith open(\"conversations.json\", \"r\", encoding=\"utf-8\") as f:\r\n  data = json.load(f)\r\nprint(\"Anzahl der Gespr\u00e4che:\", len(data))<\/pre>\n<p>Wenn Du dieses Skript ausf\u00fchrst, solltest Du sehen, wie viele Gespr\u00e4che in Deinem Export enthalten sind. Jetzt wollen wir die eigentlichen Texte extrahieren.<\/p>\n<pre class=\"notranslate\">texts = []\r\nfor conversation in data:\r\n  if \"mapping\" in conversation:\r\n    for node in conversation[\"mapping\"].values():\r\n      message = node.get(\"message\")\r\n      if message:\r\n        content = message.get(\"content\")\r\n        if content and \"parts\" in content:\r\n          text = \" \".join(content[\"parts\"])\r\n          texts.append(text)\r\nprint(\"Extrahierte Textabschnitte:\", len(texts))<\/pre>\n<p>Dieses Skript durchl\u00e4uft die JSON-Struktur und sammelt alle Textteile aus den Gespr\u00e4chen. Damit haben wir bereits den wichtigsten Teil geschafft: Wir haben die Inhalte aus dem technischen Exportformat herausgel\u00f6st.<\/p>\n<h3>Text-Chunks erzeugen<\/h3>\n<p>Nun kommt der n\u00e4chste wichtige Schritt: das Chunking. Statt komplette Gespr\u00e4che zu speichern, teilen wir die Texte in kleinere Abschnitte.<br \/>\nEine typische Gr\u00f6\u00dfe f\u00fcr solche Textabschnitte liegt zwischen 300 und 800 W\u00f6rtern oder ungef\u00e4hr 500 Tokens. Im folgenden ein einfaches Beispiel, wie man Texte in Chunks aufteilen kann.<\/p>\n<pre class=\"notranslate\">def split_text(text, chunk_size=500):\r\n    words = text.split()\r\n    chunks = []\r\n    for i in range(0, len(words), chunk_size):\r\n        chunk = \" \".join(words[i:i+chunk_size])\r\n        chunks.append(chunk)\r\n    return chunks<\/pre>\n<p>Jetzt k\u00f6nnen wir diese Funktion auf unsere Texte anwenden.<\/p>\n<pre class=\"notranslate\">all_chunks = []\r\nfor text in texts:\r\n    chunks = split_text(text)\r\n    all_chunks.extend(chunks)\r\nprint(\"Gesamtzahl der Chunks:\", len(all_chunks))<\/pre>\n<p>Jetzt haben wir aus unseren Chatverl\u00e4ufen viele kleinere Textabschnitte erzeugt. Diese Textbl\u00f6cke sind ideal f\u00fcr die sp\u00e4tere Suche in einer Vektordatenbank.<\/p>\n<h3>Metadaten erg\u00e4nzen<\/h3>\n<p>Neben dem eigentlichen Text k\u00f6nnen zus\u00e4tzliche Informationen sehr hilfreich sein. Diese sogenannten Metadaten helfen uns sp\u00e4ter dabei, Inhalte besser zu sortieren oder zu filtern. Typische Metadaten k\u00f6nnten sein:<\/p>\n<ul>\n<li>Datum des Gespr\u00e4chs<\/li>\n<li>Gespr\u00e4chstitel<\/li>\n<li>Quelle (ChatGPT Export)<\/li>\n<li>ID des Gespr\u00e4chs<\/li>\n<\/ul>\n<p>Wir k\u00f6nnen diese Informationen gemeinsam mit dem Text speichern, zum Beispiel so:<\/p>\n<pre class=\"notranslate\">documents = []\r\nfor conversation in data:\r\n    title = conversation.get(\"title\", \"Unbekannt\")\r\n    if \"mapping\" in conversation:\r\n        for node in conversation[\"mapping\"].values():\r\n            message = node.get(\"message\")\r\n            if message:\r\n                content = message.get(\"content\")\r\n                if content and \"parts\" in content:\r\n                    text = \" \".join(content[\"parts\"])\r\n                    chunks = split_text(text)\r\n                    for chunk in chunks:\r\n                        documents.append({\r\n                            \"text\": chunk,\r\n                            \"title\": title\r\n                         })<\/pre>\n<p>Damit haben wir unsere Daten bereits in eine deutlich bessere Struktur gebracht. Statt eines un\u00fcbersichtlichen Chatarchivs besitzen wir nun eine Sammlung aus vielen kleinen Textabschnitten, die jeweils mit Kontextinformationen versehen sind.<\/p>\n<p>Genau diese Struktur wird im n\u00e4chsten Schritt entscheidend sein. Denn jetzt k\u00f6nnen wir beginnen, aus diesen Texten Embeddings zu erzeugen &#8211; also mathematische Repr\u00e4sentationen der Inhalte, die sp\u00e4ter in unserer Vektordatenbank gespeichert werden. Und genau darum geht es im n\u00e4chsten Kapitel.<\/p>\n<h2>Embeddings erzeugen<\/h2>\n<p>Im vorherigen Kapitel haben wir unsere ChatGPT-Daten bereits in eine brauchbare Form gebracht. Wir haben die Gespr\u00e4che aus den JSON-Dateien extrahiert, die Texte bereinigt und in kleinere Abschnitte &#8211; sogenannte Chunks &#8211; aufgeteilt.<\/p>\n<p>Doch damit unsere KI sp\u00e4ter wirklich sinnvoll nach Inhalten suchen kann, fehlt noch ein entscheidender Schritt. Die Texte m\u00fcssen in eine Form \u00fcbersetzt werden, die Maschinen vergleichen k\u00f6nnen. Hier kommen Embeddings ins Spiel.<\/p>\n<p>Embeddings sind mathematische Repr\u00e4sentationen von Texten. Sie erm\u00f6glichen es Computern, die Bedeutung von Texten zu vergleichen. Zwei Texte mit \u00e4hnlichem Inhalt erhalten \u00e4hnliche Vektoren &#8211; selbst wenn sie unterschiedliche Worte verwenden. Genau diese Eigenschaft brauchen wir f\u00fcr unser Wissenssystem. Denn unsere KI soll sp\u00e4ter nicht nur nach identischen W\u00f6rtern suchen, sondern nach inhaltlich passenden Texten.<\/p>\n<h3>Was Embeddings sind<\/h3>\n<p>Ein Embedding ist im Grunde eine Liste von Zahlen. Diese Zahlen beschreiben die Bedeutung eines Textes in einem mathematischen Raum. Jeder Text wird in einen sogenannten Vektor umgewandelt. Ein solcher Vektor kann zum Beispiel so aussehen:<\/p>\n<p><code>[0.134, -0.876, 0.442, 0.921, -0.223, ...]<\/code><\/p>\n<p>Ein einzelner Vektor kann mehrere hundert oder sogar tausend Zahlen enthalten. Diese Zahlen sind f\u00fcr Menschen nat\u00fcrlich nicht direkt verst\u00e4ndlich. F\u00fcr Maschinen sind sie jedoch ideal geeignet, um \u00c4hnlichkeiten zwischen Texten zu berechnen. Wenn zwei Texte \u00e4hnliche Inhalte haben, liegen ihre Vektoren im mathematischen Raum n\u00e4her beieinander. Ein Beispiel:<\/p>\n<ul>\n<li><strong>Text A<\/strong>: \u201eWie kann ich meine ChatGPT-Daten exportieren?\u201c<\/li>\n<li><strong>Text B<\/strong>: \u201eWie lade ich meine ChatGPT-Gespr\u00e4che herunter?\u201c<\/li>\n<\/ul>\n<p>Obwohl die Formulierungen unterschiedlich sind, beschreiben beide Texte im Grunde dasselbe Thema. Ein gutes Embedding-Modell erkennt diese \u00c4hnlichkeit. Die beiden Texte erhalten daher \u00e4hnliche Vektoren. Genau dieses Prinzip nutzen wir sp\u00e4ter f\u00fcr unsere semantische Suche.<\/p>\n<h3>Embedding-Modelle mit Ollama<\/h3>\n<p>F\u00fcr die Erzeugung von Embeddings ben\u00f6tigen wir ein spezielles Modell. Zum Gl\u00fcck m\u00fcssen wir daf\u00fcr keine externen Cloud-Dienste verwenden. Viele Embedding-Modelle lassen sich heute lokal betreiben &#8211; und genau hier kommt Ollama ins Spiel.<\/p>\n<p>Da Ollama bereits auf Deinem System l\u00e4uft, k\u00f6nnen wir dort ein Embedding-Modell installieren. Ein sehr gutes Modell ist zum Beispiel:<\/p>\n<p><code>nomic-embed-text<\/code><\/p>\n<p>Du kannst es mit folgendem Befehl installieren:<\/p>\n<pre class=\"notranslate\">ollama pull nomic-embed-text<\/pre>\n<p>Weitere beliebte Modelle sind:<\/p>\n<ul>\n<li>mxbai-embed-large<\/li>\n<li>bge-large<\/li>\n<li>all-minilm<\/li>\n<\/ul>\n<p>F\u00fcr unsere Zwecke ist <em>nomic-embed-text<\/em> ein sehr guter Startpunkt. Dieses Modell erzeugt hochwertige Embeddings und l\u00e4uft problemlos lokal.<\/p>\n<h3>Embeddings lokal erzeugen<\/h3>\n<p>Jetzt wollen wir unser Python-Skript erweitern, damit es Embeddings erzeugen kann. Zuerst installieren wir eine Bibliothek, mit der Python mit Ollama kommunizieren kann.<\/p>\n<p>pip install ollama<\/p>\n<p>Jetzt k\u00f6nnen wir das Embedding-Modell direkt aus Python ansprechen. Im folgenden\u00a0ein einfaches Beispiel:<\/p>\n<pre class=\"notranslate\">import ollama\r\nresponse = ollama.embeddings(\r\n    model=\"nomic-embed-text\",\r\n    prompt=\"Wie exportiere ich meine ChatGPT-Daten?\"\r\n)\r\nprint(len(response[\"embedding\"]))<\/pre>\n<p>Wenn alles funktioniert hat, erh\u00e4ltst Du einen Vektor mit mehreren hundert Zahlen.<br \/>\nJetzt wenden wir das auf unsere Chat-Chunks an.<\/p>\n<pre class=\"notranslate\">embeddings = []\r\nfor doc in documents:\r\n    text = doc[\"text\"]\r\n    result = ollama.embeddings(\r\n        model=\"nomic-embed-text\",\r\n        prompt=text\r\n    )\r\n    vector = result[\"embedding\"]\r\n    embeddings.append({\r\n        \"text\": text,\r\n        \"embedding\": vector,\r\n        \"title\": doc[\"title\"]\r\n    })<\/pre>\n<p>Damit erzeugen wir f\u00fcr jeden Textabschnitt einen Vektor. Diese Vektoren werden sp\u00e4ter in unserer Datenbank gespeichert.<\/p>\n<h3>Warum dieser Schritt entscheidend ist<\/h3>\n<p>Embeddings sind das Herzst\u00fcck moderner Wissenssysteme. Ohne Embeddings k\u00f6nnten wir Texte nur \u00fcber klassische Stichwortsuche durchsuchen. Das w\u00fcrde bedeuten, dass das System nur Inhalte findet, die exakt dieselben W\u00f6rter enthalten. Doch Sprache funktioniert selten so einfach. Ein Nutzer k\u00f6nnte zum Beispiel fragen:<\/p>\n<blockquote><p><em>\u201eWie habe ich meine ChatGPT-Daten verarbeitet?\u201c<\/em><\/p><\/blockquote>\n<p>Die urspr\u00fcngliche Unterhaltung k\u00f6nnte jedoch formuliert sein als:<\/p>\n<blockquote><p><em>\u201eWie kann ich meinen ChatGPT-Datenexport analysieren?\u201c<\/em><\/p><\/blockquote>\n<p>Eine einfache Suche w\u00fcrde diese Verbindung m\u00f6glicherweise nicht erkennen. Mit Embeddings ist das anders. Da beide Texte \u00e4hnliche Bedeutungen haben, liegen ihre Vektoren im mathematischen Raum nahe beieinander. Unsere Datenbank kann deshalb passende Inhalte finden, selbst wenn die Formulierungen unterschiedlich sind. Genau diese F\u00e4higkeit macht semantische Suche so leistungsf\u00e4hig. Sie erlaubt es einer KI, nicht nur nach Worten zu suchen, sondern nach Bedeutung.<\/p>\n<p>Und genau deshalb sind Embeddings der zentrale Baustein unseres Systems. Im n\u00e4chsten Kapitel bauen wir darauf auf und installieren unsere Vektordatenbank. Dort werden wir die erzeugten Vektoren speichern &#8211; und damit die Grundlage f\u00fcr unsere pers\u00f6nliche Wissens-KI schaffen.<\/p>\n<h2>Qdrant installieren und konfigurieren<\/h2>\n<p>Nachdem wir im vorherigen Kapitel die Embeddings f\u00fcr unsere Chatdaten erzeugt haben, besitzen wir nun eine Sammlung von Textabschnitten und zugeh\u00f6rigen Vektoren. Diese Vektoren beschreiben die Bedeutung der Texte mathematisch und bilden damit die Grundlage f\u00fcr eine semantische Suche. Doch aktuell liegen diese Daten nur im Arbeitsspeicher unseres Skripts oder in einfachen Listen vor. Damit unsere KI sp\u00e4ter effizient darauf zugreifen kann, ben\u00f6tigen wir einen spezialisierten Speicher.<\/p>\n<p>Genau hier kommt eine Vektordatenbank ins Spiel. Eine Vektordatenbank ist darauf optimiert, gro\u00dfe Mengen solcher Embeddings zu speichern und schnell nach \u00e4hnlichen Vektoren zu suchen. F\u00fcr unser Projekt verwenden wir Qdrant, eine moderne Open-Source-Datenbank, die speziell f\u00fcr KI-Anwendungen entwickelt wurde.<\/p>\n<p>In diesem Kapitel installieren wir Qdrant, starten den Server und bereiten die Datenbank so vor, dass wir unsere Chatdaten sp\u00e4ter problemlos importieren k\u00f6nnen.<\/p>\n<h3>Was Qdrant ist<\/h3>\n<p>Qdrant ist eine spezialisierte Datenbank f\u00fcr sogenannte Vektorsuchen. W\u00e4hrend klassische Datenbanken Informationen in Tabellen speichern &#8211; etwa Namen, Zahlen oder Texte &#8211; arbeitet eine Vektordatenbank mit mathematischen Repr\u00e4sentationen von Daten.<\/p>\n<p>Das bedeutet: Statt nur Text zu speichern, speichert Qdrant die zugeh\u00f6rigen Embeddings. Der gro\u00dfe Vorteil liegt in der Suche. Wenn sp\u00e4ter eine Frage gestellt wird, wandelt unser System diese Frage ebenfalls in einen Vektor um. Qdrant kann dann blitzschnell berechnen, welche gespeicherten Texte diesem Vektor am \u00e4hnlichsten sind. Damit l\u00e4sst sich beispielsweise herausfinden:<\/p>\n<ul>\n<li>welche Chatpassagen thematisch zur Frage passen<\/li>\n<li>welche fr\u00fcheren Gespr\u00e4che \u00e4hnliche Inhalte enthalten<\/li>\n<li>welche Ideen in Deinem Archiv relevant sein k\u00f6nnten<\/li>\n<\/ul>\n<p>Genau deshalb wird Qdrant heute in vielen modernen KI-Systemen eingesetzt &#8211; von Dokumentensuchen bis hin zu komplexen Wissensassistenten. Ein weiterer Vorteil: Qdrant ist Open Source, schnell installiert und l\u00e4uft problemlos auf einer normalen lokalen Maschine.<\/p>\n<h3>Installation von Qdrant<\/h3>\n<p>Der einfachste Weg, Qdrant zu installieren, f\u00fchrt \u00fcber Docker. Falls Docker auf Deiner Maschine vorhanden ist, kannst Du den Server mit einem einzigen Befehl starten. Hier kannst Du <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\"><strong>Docker herunterladen<\/strong><\/a>, falls Du es noch nicht auf Deinem Computer installiert haben solltest.<\/p>\n<pre class=\"notranslate\">docker run -p 6333:6333 qdrant\/qdrant<\/pre>\n<p>Dieser Befehl startet den Qdrant-Server und \u00f6ffnet den Standard-Port 6333. \u00dcber diesen Port k\u00f6nnen sp\u00e4ter unsere Skripte mit der Datenbank kommunizieren.<\/p>\n<p>Falls Du Docker nicht verwenden m\u00f6chtest, gibt es auch andere M\u00f6glichkeiten, Qdrant zu installieren, etwa \u00fcber ein lokales Binary oder \u00fcber Paketmanager. In vielen Praxisprojekten hat sich jedoch Docker als die einfachste und stabilste Variante erwiesen.<\/p>\n<p>Nachdem der Server gestartet wurde, l\u00e4uft Qdrant im Hintergrund und wartet auf Anfragen. Du kannst nun testen, ob der Server erreichbar ist. \u00d6ffne dazu im Browser folgende Adresse:<\/p>\n<p><code>http:\/\/localhost:6333<\/code><\/p>\n<p>Wenn alles funktioniert hat, sollte eine einfache Statusmeldung erscheinen. Damit ist der Server bereit f\u00fcr die n\u00e4chsten Schritte.<\/p>\n<h3>Erste Schritte mit Qdrant<\/h3>\n<p>Bevor wir unsere Chatdaten importieren k\u00f6nnen, m\u00fcssen wir eine sogenannte Collection erstellen. Eine Collection ist in Qdrant vergleichbar mit einer Tabelle in einer klassischen Datenbank. Sie enth\u00e4lt unsere Vektoren und die dazugeh\u00f6rigen Daten.<\/p>\n<p>Zuerst installieren wir die Python-Bibliothek f\u00fcr Qdrant:<\/p>\n<pre class=\"notranslate\">pip install qdrant-client<\/pre>\n<p>Jetzt k\u00f6nnen wir in unserem Python-Skript eine Verbindung zur Datenbank herstellen.<\/p>\n<pre class=\"notranslate\">from qdrant_client import QdrantClient\r\nclient = QdrantClient(\"localhost\", port=6333)<\/pre>\n<p>Wenn dieser Code ohne Fehlermeldung ausgef\u00fchrt wird, ist die Verbindung erfolgreich. Nun erstellen wir eine Collection f\u00fcr unsere Chatdaten.<\/p>\n<pre class=\"notranslate\">from qdrant_client.models import VectorParams, Distance\r\nclient.recreate_collection(\r\ncollection_name=\"chatgpt_archive\",\r\nvectors_config=VectorParams(size=768, distance=Distance.COSINE),\r\n)<\/pre>\n<p>Die wichtigsten Parameter sind hier:<\/p>\n<ul>\n<li><strong>collection_name<\/strong> &#8211; der Name unserer Datenbank<\/li>\n<li><strong>size<\/strong> &#8211; die L\u00e4nge der Embedding-Vektoren<\/li>\n<li><strong>distance<\/strong> &#8211; die Methode zur \u00c4hnlichkeitsberechnung<\/li>\n<\/ul>\n<p>Die Vektorgr\u00f6\u00dfe h\u00e4ngt vom verwendeten Embedding-Modell ab. Viele Modelle arbeiten mit Vektoren von 768 oder 1024 Dimensionen. Die Distanzfunktion Cosine ist eine der g\u00e4ngigsten Methoden, um \u00c4hnlichkeiten zwischen Texten zu berechnen. Damit ist unsere Datenbank bereits einsatzbereit.<\/p>\n<h3>Datenstruktur planen<\/h3>\n<p>Bevor wir unsere Daten importieren, lohnt sich ein kurzer Blick auf die Struktur, die wir speichern wollen. Jeder Eintrag in unserer Vektordatenbank wird aus mehreren Bestandteilen bestehen:<\/p>\n<ul>\n<li><strong>ID<\/strong> &#8211; eine eindeutige Kennung<\/li>\n<li><strong>Embedding<\/strong> &#8211; der Vektor des Textes<\/li>\n<li><strong>Payload<\/strong> &#8211; zus\u00e4tzliche Informationen \u00fcber den Text<\/li>\n<\/ul>\n<p>Die Payload kann zum Beispiel enthalten:<\/p>\n<ul>\n<li>den Originaltext<\/li>\n<li>den Titel des Gespr\u00e4chs<\/li>\n<li>das Datum<\/li>\n<li>andere Metadaten<\/li>\n<\/ul>\n<p>Ein Beispiel f\u00fcr einen Datensatz k\u00f6nnte so aussehen:<\/p>\n<p><code>{<br \/>\n\"id\": 1,<br \/>\n\"vector\": [0.123, -0.452, 0.889, ...],<br \/>\n\"payload\": {<br \/>\n\"text\": \"Wie kann ich meinen ChatGPT-Datenexport analysieren?\",<br \/>\n\"title\": \"Datenanalyse\"<br \/>\n}<br \/>\n}<\/code><\/p>\n<p>Diese Struktur hat einen gro\u00dfen Vorteil. Die Vektoren werden f\u00fcr die semantische Suche verwendet, w\u00e4hrend die Payload alle Informationen enth\u00e4lt, die wir sp\u00e4ter anzeigen oder analysieren m\u00f6chten. Dadurch bleibt unser System flexibel und l\u00e4sst sich sp\u00e4ter leicht erweitern.<\/p>\n<p>Damit ist der wichtigste Teil der Infrastruktur bereits vorbereitet. Unser Qdrant-Server l\u00e4uft, die Datenbank ist eingerichtet und wir wissen, welche Struktur unsere Daten haben werden. Im n\u00e4chsten Kapitel beginnen wir mit dem entscheidenden Schritt: Wir importieren unsere ChatGPT-Daten in die Datenbank und verwandeln unser Archiv aus Gespr\u00e4chen in eine echte, durchsuchbare Wissensbasis.<\/p>\n<h2>ChatGPT-Daten in Qdrant importieren<\/h2>\n<p>Nachdem wir im vorherigen Kapitel Qdrant installiert und eine Collection angelegt haben, ist die technische Grundlage f\u00fcr unsere Wissensdatenbank geschaffen. Unsere Embeddings existieren bereits &#8211; wir haben sie aus den ChatGPT-Daten erzeugt &#8211; und Qdrant l\u00e4uft als Datenbankserver auf unserer Maschine.<\/p>\n<p>Jetzt folgt der entscheidende Schritt: Wir laden unsere Daten in die Datenbank. Dabei speichern wir nicht nur die Vektoren selbst, sondern auch die zugeh\u00f6rigen Texte und Metadaten. Diese Kombination erlaubt es unserer KI sp\u00e4ter, relevante Inhalte zu finden und sie in Antworten zu verwenden. In diesem Kapitel bauen wir also die eigentliche Wissensbasis unseres Systems auf.<\/p>\n<h3>Embeddings speichern<\/h3>\n<p>Zun\u00e4chst m\u00fcssen wir unsere erzeugten Embeddings in die Datenbank \u00fcbertragen. Jeder Eintrag in Qdrant besteht aus drei Bestandteilen:<\/p>\n<ul>\n<li>einer ID<\/li>\n<li>einem Vektor (Embedding)<\/li>\n<li>einer Payload mit zus\u00e4tzlichen Daten<\/li>\n<\/ul>\n<p>Die Payload enth\u00e4lt in unserem Fall beispielsweise:<\/p>\n<ul>\n<li>den Textabschnitt<\/li>\n<li>den Titel des Gespr\u00e4chs<\/li>\n<li>eventuell weitere Metadaten<\/li>\n<\/ul>\n<p>In Python k\u00f6nnen wir diese Struktur relativ einfach vorbereiten. Ein Beispiel:<\/p>\n<pre class=\"notranslate\">points = []\r\nfor idx, item in enumerate(embeddings):\r\npoints.append({\r\n\"id\": idx,\r\n\"vector\": item[\"embedding\"],\r\n\"payload\": {\r\n\"text\": item[\"text\"],\r\n\"title\": item[\"title\"]\r\n}\r\n})<\/pre>\n<p>Damit erzeugen wir eine Liste von Datenpunkten, die wir anschlie\u00dfend in Qdrant speichern k\u00f6nnen. Jeder Datenpunkt enth\u00e4lt also einen Textabschnitt, den zugeh\u00f6rigen Vektor und zus\u00e4tzliche Kontextinformationen. Diese Struktur bildet sp\u00e4ter die Grundlage unserer semantischen Suche.<\/p>\n<h3>Import-Skript erstellen<\/h3>\n<p>Jetzt verbinden wir unser Python-Skript mit Qdrant und \u00fcbertragen die Daten. Dazu nutzen wir den Qdrant Python Client, den wir im vorherigen Kapitel installiert haben. Der Import kann beispielsweise so aussehen:<\/p>\n<pre class=\"notranslate\">from qdrant_client import QdrantClient\r\nfrom qdrant_client.models import PointStruct\r\nclient = QdrantClient(\"localhost\", port=6333)\r\npoints = []\r\nfor idx, item in enumerate(embeddings):\r\npoint = PointStruct(\r\nid=idx,\r\nvector=item[\"embedding\"],\r\npayload={\r\n\"text\": item[\"text\"],\r\n\"title\": item[\"title\"]\r\n}\r\n)\r\npoints.append(point)\r\nclient.upsert(\r\ncollection_name=\"chatgpt_archive\",\r\npoints=points\r\n)\r\nprint(\"Import abgeschlossen:\", len(points), \"Datens\u00e4tze gespeichert.\")<\/pre>\n<p>Der Befehl upsert sorgt daf\u00fcr, dass die Daten in der Collection gespeichert werden. Falls eine ID bereits existiert, wird der Eintrag aktualisiert. Andernfalls wird ein neuer Datensatz angelegt. Je nach Gr\u00f6\u00dfe Deines ChatGPT-Exports kann dieser Import einige Sekunden oder Minuten dauern. Bei gr\u00f6\u00dferen Datens\u00e4tzen &#8211; etwa mehreren tausend Textabschnitten &#8211; ist das v\u00f6llig normal.<\/p>\n<h3>Datenbank testen<\/h3>\n<p>Nachdem der Import abgeschlossen ist, sollten wir \u00fcberpr\u00fcfen, ob unsere Daten korrekt gespeichert wurden. Der einfachste Test besteht darin, eine Vektorsuche durchzuf\u00fchren. Dazu erzeugen wir zun\u00e4chst ein Embedding f\u00fcr eine Testfrage.<\/p>\n<pre class=\"notranslate\">query = \"Wie kann ich ChatGPT-Daten analysieren?\"\r\nquery_vector = ollama.embeddings(\r\nmodel=\"nomic-embed-text\",\r\nprompt=query\r\n)[\"embedding\"]<\/pre>\n<p>Jetzt k\u00f6nnen wir Qdrant nach \u00e4hnlichen Vektoren durchsuchen.<\/p>\n<pre class=\"notranslate\">search_result = client.search(\r\ncollection_name=\"chatgpt_archive\",\r\nquery_vector=query_vector,\r\nlimit=3\r\n)<\/pre>\n<p>Dieser Befehl gibt uns die drei \u00e4hnlichsten Textabschnitte aus unserer Datenbank zur\u00fcck. Wir k\u00f6nnen sie beispielsweise so ausgeben:<\/p>\n<pre class=\"notranslate\">for result in search_result:\r\nprint(result.payload[\"text\"])\r\nprint(\"---\")<\/pre>\n<p>Wenn alles funktioniert hat, erscheinen jetzt Chatabschnitte aus Deinem Archiv, die thematisch zur Suchanfrage passen. Damit wissen wir: Unsere Datenbank funktioniert.<\/p>\n<h3>Erste Erfolgskontrolle<\/h3>\n<p>Dieser Moment ist einer der spannendsten Punkte des gesamten Projekts. Zum ersten Mal wird sichtbar, dass unser Chatarchiv tats\u00e4chlich als Wissensquelle genutzt werden kann. Du kannst jetzt verschiedene Suchanfragen ausprobieren. Zum Beispiel:<\/p>\n<ul>\n<li>\u201eKI Artikel\u201c<\/li>\n<li>\u201eRAG System\u201c<\/li>\n<li>\u201eChatGPT Datenexport\u201c<\/li>\n<li>\u201eStrategie Idee\u201c<\/li>\n<\/ul>\n<p>Je nach Inhalt Deiner Chatverl\u00e4ufe wird Qdrant passende Textstellen finden. Manchmal wirst Du \u00fcberrascht sein, welche Inhalte wieder auftauchen. Gespr\u00e4che, die Du l\u00e4ngst vergessen hast, k\u00f6nnen pl\u00f6tzlich wieder relevant werden. Das zeigt sehr deutlich, warum ein solcher Ansatz so interessant ist. Deine alten KI-Gespr\u00e4che sind nicht mehr nur ein Archiv. Sie werden zu einer durchsuchbaren Wissensbasis.<\/p>\n<p>Damit haben wir einen wichtigen Meilenstein erreicht. Unsere ChatGPT-Daten sind jetzt vollst\u00e4ndig in der Vektordatenbank gespeichert und k\u00f6nnen semantisch durchsucht werden. Im n\u00e4chsten Kapitel gehen wir noch einen Schritt weiter: Wir verbinden unsere Wissensdatenbank mit der KI selbst. Dadurch kann das Sprachmodell k\u00fcnftig auf diese Daten zugreifen und sie direkt in Antworten einbauen.<\/p>\n<figure id=\"attachment_5470\" aria-describedby=\"caption-attachment-5470\" style=\"width: 2550px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5470\" src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-scaled.jpg\" alt=\"Qdrant Dashboard unter http:\/\/localhost:6333\/dashboard\" width=\"2560\" height=\"1786\" srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-scaled.jpg 2560w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-300x209.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-1024x714.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-768x536.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-1536x1071.jpg 1536w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-2048x1429.jpg 2048w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Qdrant-Collections-18x12.jpg 18w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-5470\" class=\"wp-caption-text\">Qdrant Dashboard unter http:\/\/localhost:6333\/dashboard<\/figcaption><\/figure>\n<h2>Die KI mit der Wissensdatenbank verbinden<\/h2>\n<p>Bis hierhin haben wir bereits einen gro\u00dfen Teil der Infrastruktur aufgebaut. Unsere ChatGPT-Daten wurden aus dem Export extrahiert, in kleinere Textabschnitte zerlegt, mit Embeddings versehen und schlie\u00dflich in der Vektordatenbank Qdrant gespeichert.<\/p>\n<p>Doch bisher arbeitet unsere KI noch nicht mit diesen Daten. Wir k\u00f6nnen zwar \u00fcber Python eine Vektorsuche durchf\u00fchren und passende Textabschnitte finden &#8211; aber die KI selbst wei\u00df davon noch nichts. Wenn wir ihr eine Frage stellen, nutzt sie weiterhin nur ihr allgemeines Sprachwissen.<\/p>\n<p>Der n\u00e4chste Schritt besteht also darin, diese beiden Welten zu verbinden. Wir bauen jetzt einen Ablauf, bei dem die KI zuerst relevante Inhalte aus der Wissensdatenbank erh\u00e4lt und diese anschlie\u00dfend in ihre Antwort einbezieht. Genau das ist der Kern eines RAG-Systems.<\/p>\n<h3>Anfrageprozess<\/h3>\n<p>Der Ablauf einer Anfrage ver\u00e4ndert sich durch unser Wissenssystem leicht. Bisher lief ein Gespr\u00e4ch mit einer KI normalerweise so ab:<\/p>\n<ol>\n<li>Du stellst eine Frage \u2192<\/li>\n<li>die KI verarbeitet die Frage \u2192<\/li>\n<li>die KI erzeugt eine Antwort.<\/li>\n<\/ol>\n<p>Mit einer Wissensdatenbank kommt ein zus\u00e4tzlicher Schritt hinzu. Der neue Ablauf sieht so aus:<\/p>\n<ol>\n<li>Du stellst eine Frage \u2192<\/li>\n<li>die Frage wird in ein Embedding umgewandelt \u2192<\/li>\n<li>die Vektordatenbank sucht nach \u00e4hnlichen Texten \u2192<\/li>\n<li>diese Texte werden der KI als Kontext \u00fcbergeben \u2192<\/li>\n<\/ol>\n<p>die KI formuliert eine Antwort. Das bedeutet: Die KI arbeitet nicht mehr nur mit ihrem trainierten Wissen, sondern zus\u00e4tzlich mit Deinen eigenen Daten. Dieser Kontext macht Antworten oft deutlich pr\u00e4ziser und pers\u00f6nlicher.<\/p>\n<h3>Retrieval-Schritt<\/h3>\n<p>Der erste Teil dieses Prozesses wird als Retrieval bezeichnet. Retrieval bedeutet einfach \u201eAbrufen\u201c. In diesem Schritt sucht unser System in der Datenbank nach Inhalten, die thematisch zur Frage passen. Zuerst erzeugen wir wieder ein Embedding f\u00fcr die aktuelle Frage.<\/p>\n<pre class=\"notranslate\">query = \"Welche Ideen hatte ich zur Nutzung meines ChatGPT-Datenexports?\"\r\nquery_vector = ollama.embeddings(\r\nmodel=\"nomic-embed-text\",\r\nprompt=query\r\n)[\"embedding\"]<\/pre>\n<p>Dieses Embedding beschreibt die Bedeutung der Frage in mathematischer Form. Nun kann Qdrant nach \u00e4hnlichen Vektoren suchen.<\/p>\n<pre class=\"notranslate\">results = client.search(\r\ncollection_name=\"chatgpt_archive\",\r\nquery_vector=query_vector,\r\nlimit=5\r\n)<\/pre>\n<p>Die Datenbank gibt jetzt die f\u00fcnf Textabschnitte zur\u00fcck, die am besten zur Frage passen. Diese Textstellen bilden den Kontext f\u00fcr die KI. Wir sammeln sie in einer Liste.<\/p>\n<pre class=\"notranslate\">context_texts = []\r\nfor r in results:\r\ncontext_texts.append(r.payload[\"text\"])<\/pre>\n<p>Jetzt besitzen wir eine Sammlung relevanter Inhalte aus unserem Chatarchiv.<\/p>\n<h3>Kontext an Ollama \u00fcbergeben<\/h3>\n<p>Nun kommt der entscheidende Schritt. Wir \u00fcbergeben diesen Kontext gemeinsam mit der urspr\u00fcnglichen Frage an unser Sprachmodell. Das Modell kann diese Informationen nun nutzen, um eine Antwort zu formulieren.<\/p>\n<p>Zuerst bauen wir einen sogenannten Prompt. Ein Prompt ist einfach der Text, den wir an die KI senden.<\/p>\n<pre class=\"notranslate\">context = \"\\n\\n\".join(context_texts)\r\nprompt = f\"\"\"\r\nDu bist ein KI-Assistent, der mit meinem pers\u00f6nlichen Wissensarchiv arbeitet.\r\nNutze die folgenden Textausschnitte als Kontext:\r\n{context}\r\nBeantworte nun diese Frage:\r\n{query}\r\n\"\"\"<\/pre>\n<p>Jetzt senden wir diesen Prompt an unser Sprachmodell in Ollama.<\/p>\n<pre class=\"notranslate\">response = ollama.chat(\r\nmodel=\"llama3\",\r\nmessages=[\r\n{\"role\": \"user\", \"content\": prompt}\r\n]\r\n)\r\nprint(response[\"message\"][\"content\"])<\/pre>\n<p>Die KI erh\u00e4lt nun sowohl die Frage als auch die relevanten Textstellen aus unserer Datenbank. Dadurch kann sie Antworten erzeugen, die auf unseren eigenen Daten basieren.<\/p>\n<h3>Antwortgenerierung<\/h3>\n<p>Der letzte Schritt ist die eigentliche Antwortgenerierung. Das Sprachmodell kombiniert jetzt zwei Wissensquellen:<\/p>\n<p>sein eigenes trainiertes Wissen<\/p>\n<p>den Kontext aus unserer Wissensdatenbank<\/p>\n<p>Diese Kombination ist besonders leistungsf\u00e4hig. Das Modell kann allgemeine Zusammenh\u00e4nge erkl\u00e4ren und gleichzeitig konkrete Inhalte aus unserem Archiv einbeziehen. Ein Beispiel: Wenn Du fragst:<\/p>\n<blockquote><p><em>\u201eWelche Ideen hatte ich zur Nutzung meines ChatGPT-Datenexports?\u201c<\/em><\/p><\/blockquote>\n<p>kann die KI jetzt auf fr\u00fchere Gespr\u00e4che zugreifen und daraus eine strukturierte Zusammenfassung erstellen. Sie k\u00f6nnte beispielsweise antworten:<\/p>\n<ul>\n<li>Du hast dar\u00fcber gesprochen, ein pers\u00f6nliches Wissensarchiv aufzubauen<\/li>\n<li>Du wolltest eine lokale KI mit RAG-System entwickeln<\/li>\n<li>Du hast die Idee einer Artikelserie entwickelt<\/li>\n<\/ul>\n<p>Ohne den Retrieval-Schritt h\u00e4tte die KI diese Informationen gar nicht gekannt. Mit unserem System wird Dein Chatarchiv zu einer echten Wissensquelle. Damit ist der wichtigste Teil unseres Systems vollst\u00e4ndig aufgebaut. Wir haben jetzt:<\/p>\n<ul>\n<li>eine lokale KI \u00fcber Ollama<\/li>\n<li>eine Vektordatenbank mit unseren Chatdaten<\/li>\n<li>eine semantische Suche<\/li>\n<li>einen RAG-Workflow<\/li>\n<\/ul>\n<p>Im n\u00e4chsten Kapitel werden wir dieses System in der Praxis testen und sehen, wie gut unsere pers\u00f6nliche Wissens-KI tats\u00e4chlich funktioniert.<\/p>\n<figure id=\"attachment_5469\" aria-describedby=\"caption-attachment-5469\" style=\"width: 1408px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5469\" src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen.jpg\" alt=\"Terminal nach erfolgreichem Import der ChatGPT-Daten\" width=\"1418\" height=\"994\" srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen.jpg 1418w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-300x210.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-1024x718.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-768x538.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Terminal-Import-abgeschlossen-18x12.jpg 18w\" sizes=\"auto, (max-width: 1418px) 100vw, 1418px\" \/><figcaption id=\"caption-attachment-5469\" class=\"wp-caption-text\">Terminal nach erfolgreichem Import der ChatGPT-Daten<\/figcaption><\/figure>\n<h2>Erste Abfragen mit Deiner pers\u00f6nlichen Wissens-KI<\/h2>\n<p>Nachdem wir im vorherigen Kapitel die Verbindung zwischen unserer KI und der Wissensdatenbank hergestellt haben, ist das System technisch vollst\u00e4ndig aufgebaut. Unsere ChatGPT-Daten befinden sich in der Vektordatenbank, die KI kann relevante Inhalte abrufen, und der gesamte Ablauf eines RAG-Systems funktioniert.<\/p>\n<p>Jetzt kommt der spannendste Teil des Projekts: die ersten echten Abfragen. Denn erst jetzt zeigt sich, ob unser System tats\u00e4chlich das tut, was wir uns erhofft haben &#8211; n\u00e4mlich fr\u00fchere Gespr\u00e4che zu finden, Inhalte zu analysieren und daraus sinnvolle Antworten zu erzeugen. In diesem Kapitel testen wir unsere Wissens-KI, schauen uns typische Anwendungsf\u00e4lle an und werfen einen Blick auf m\u00f6gliche Optimierungen.<\/p>\n<h3>Beispielabfragen<\/h3>\n<p>Beginnen wir mit einigen einfachen Fragen. Eine gute Strategie besteht darin, zun\u00e4chst Fragen zu stellen, von denen Du wei\u00dft, dass sie in Deinem Chatarchiv vorkommen. Zum Beispiel:<\/p>\n<blockquote><p><em>\u201eWelche Ideen hatte ich zur Nutzung meines ChatGPT-Datenexports?\u201c<\/em><br \/>\n<em>\u201eWas habe ich \u00fcber RAG-Systeme geschrieben?\u201c<\/em><br \/>\n<em>\u201eWelche Strategien habe ich zur Nutzung von KI diskutiert?\u201c<\/em><\/p><\/blockquote>\n<p>Diese Fragen enthalten bewusst offene Formulierungen. Das Ziel ist nicht, einen bestimmten Text wiederzufinden, sondern thematisch passende Inhalte zu entdecken. Wenn Du nun eine solche Frage an Dein System stellst, passiert im Hintergrund der Ablauf, den wir im vorherigen Kapitel aufgebaut haben:<\/p>\n<ol>\n<li>Die Frage wird in ein Embedding umgewandelt.<\/li>\n<li>Die Vektordatenbank sucht nach \u00e4hnlichen Textabschnitten.<\/li>\n<li>Diese Textstellen werden als Kontext an die KI \u00fcbergeben.<\/li>\n<li>Die KI erzeugt eine Antwort auf Basis dieses Kontextes.<\/li>\n<\/ol>\n<p>Das Ergebnis kann \u00fcberraschend sein.\u00a0Oft tauchen dabei Gespr\u00e4che auf, die Du l\u00e4ngst vergessen hast. Alte Ideen erscheinen pl\u00f6tzlich wieder auf dem Bildschirm &#8211; manchmal sogar in einem v\u00f6llig neuen Zusammenhang.<\/p>\n<p>Genau darin liegt die St\u00e4rke dieses Ansatzes. Dein Chatarchiv wird zu einer durchsuchbaren Wissensquelle.<\/p>\n<h3>Qualit\u00e4t der Antworten<\/h3>\n<p>Wenn Du einige Abfragen ausprobierst, wirst Du feststellen, dass die Qualit\u00e4t der Antworten variieren kann. Das ist v\u00f6llig normal. Die Qualit\u00e4t eines solchen Systems h\u00e4ngt von mehreren Faktoren ab. Ein wichtiger Faktor ist die Gr\u00f6\u00dfe der Text-Chunks. Wenn die Abschnitte zu gro\u00df sind, enthalten sie m\u00f6glicherweise mehrere Themen. Dadurch wird die Suche ungenauer.<\/p>\n<p>Sind die Chunks hingegen zu klein, fehlt manchmal der notwendige Kontext. Ein weiterer Faktor ist das Embedding-Modell. Verschiedene Modelle erkennen Bedeutungszusammenh\u00e4nge unterschiedlich gut. Manche sind besonders gut f\u00fcr technische Texte geeignet, andere f\u00fcr allgemeine Sprache.<\/p>\n<p>Auch die Anzahl der abgerufenen Ergebnisse spielt eine Rolle. Wenn Du beispielsweise nur zwei Textstellen abrufst, kann es sein, dass wichtige Informationen fehlen. Werden hingegen zu viele Texte geladen, kann die KI Schwierigkeiten haben, den relevanten Kontext zu erkennen.<\/p>\n<p>Diese Parameter lassen sich sp\u00e4ter leicht anpassen. Das Wichtigste ist zun\u00e4chst, ein funktionierendes Grundsystem zu besitzen.<\/p>\n<h3>Typische Probleme<\/h3>\n<p>Wie bei jedem technischen System k\u00f6nnen auch hier einige Schwierigkeiten auftreten. Ein h\u00e4ufiges Problem besteht darin, dass die Datenbank Texte findet, die nur teilweise relevant sind. Das liegt daran, dass semantische Suche immer mit Wahrscheinlichkeiten arbeitet.<\/p>\n<p>Ein anderes Problem kann entstehen, wenn Texte zu stark fragmentiert wurden. Wenn ein Gedanke auf mehrere Chunks verteilt ist, kann die KI Schwierigkeiten haben, den Zusammenhang zu erkennen.<\/p>\n<p>Auch der Prompt spielt eine Rolle. Wenn der Prompt unklar formuliert ist, nutzt die KI den Kontext m\u00f6glicherweise nicht optimal. Ein Beispiel f\u00fcr einen besseren Prompt k\u00f6nnte so aussehen:<\/p>\n<blockquote><p><em>Nutze die folgenden Textausschnitte aus meinem Wissensarchiv,<\/em><br \/>\n<em>um die Frage m\u00f6glichst pr\u00e4zise zu beantworten.<\/em><br \/>\n<em>Wenn relevante Inhalte vorhanden sind, fasse sie zusammen.<\/em><\/p><\/blockquote>\n<p>Solche kleinen Anpassungen k\u00f6nnen die Qualit\u00e4t der Antworten deutlich verbessern.<\/p>\n<h3>Feintuning<\/h3>\n<p>Sobald das System grunds\u00e4tzlich funktioniert, beginnt der interessanteste Teil: das Feintuning. Hier kannst Du experimentieren und Dein Wissenssystem Schritt f\u00fcr Schritt verbessern. Einige typische Optimierungen sind:<\/p>\n<ul>\n<li><strong>Anpassung der Chunk-Gr\u00f6\u00dfe<\/strong><br \/>\nManchmal liefern kleinere Textabschnitte bessere Ergebnisse. In anderen F\u00e4llen ist mehr Kontext sinnvoll.<\/li>\n<li><strong>Verwendung eines anderen Embedding-Modells<\/strong><br \/>\nEin Wechsel des Modells kann die Qualit\u00e4t der semantischen Suche erheblich verbessern.<\/li>\n<li><strong>Mehr Kontext f\u00fcr die KI<\/strong><br \/>\nDu kannst mehr Ergebnisse aus der Datenbank abrufen, zum Beispiel statt f\u00fcnf gleich zehn Textstellen.<\/li>\n<li><strong>Metadaten nutzen<\/strong><br \/>\nWenn Du zus\u00e4tzliche Informationen speicherst &#8211; etwa Datum oder Gespr\u00e4chstitel &#8211; kannst Du die Suche sp\u00e4ter genauer filtern.<\/li>\n<\/ul>\n<p>Diese Anpassungen sind Teil jedes realen RAG-Systems. Es gibt selten eine perfekte Einstellung f\u00fcr alle Situationen. Doch genau darin liegt auch der Reiz solcher Systeme: Sie lassen sich kontinuierlich verbessern.<\/p>\n<p>Mit diesem Kapitel haben wir den ersten vollst\u00e4ndigen Test unseres Systems durchgef\u00fchrt. Wir haben gesehen, dass unsere pers\u00f6nliche Wissens-KI tats\u00e4chlich in der Lage ist, alte Gespr\u00e4che zu durchsuchen und relevante Inhalte wiederzufinden.<\/p>\n<p>Damit ist der Kern unseres Projekts bereits erreicht. Doch das System l\u00e4sst sich noch erheblich erweitern. Im n\u00e4chsten Kapitel schauen wir uns deshalb an, wie Du weitere Datenquellen integrieren und Dein pers\u00f6nliches Wissensarchiv Schritt f\u00fcr Schritt ausbauen kannst.<\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-152 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 10px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-152 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\" dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Aktuelle Beitr\u00e4ge zu Deutschland<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-152\" class=\"dpt-wrapper dpt-list2 land1 dpt-cropped dpt-flex-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"spieltheorie erkl\u00e4rt 25 jahre geopolitik: wie europa seine strategische rolle verlor\" data-id=\"3850\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"denkmodelle deutschland energiepolitik eu-gesetze europa geopolitik krisen sicherheitspolitik spieltheorie\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/12\/spieltheorie-erklaert-25-jahre-geopolitik-wie-europa-seine-strategische-rolle-verlor\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Spieltheorie erkl\u00e4rt 25 Jahre Geopolitik: Wie Europa seine strategische Rolle verlor<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"765\" class=\"attachment-full size-full\" alt=\"Spieltheorie erkl\u00e4rt 25 Jahre Geopolitik\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/europa-russland-spieltheorie.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/europa-russland-spieltheorie.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/europa-russland-spieltheorie-300x224.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/europa-russland-spieltheorie-768x574.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/europa-russland-spieltheorie-16x12.jpg 16w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/12\/spieltheorie-erklaert-25-jahre-geopolitik-wie-europa-seine-strategische-rolle-verlor\/\" rel=\"bookmark\">Spieltheorie erkl\u00e4rt 25 Jahre Geopolitik: Wie Europa seine strategische Rolle verlor<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"wie die pandemie \u00d6konomen in bezug auf inflation, wachstum und wirtschaftliche erholung eines besseren belehrte\" data-id=\"5882\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"denkmodelle deutschland energiepolitik europa geopolitik krisen\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2026\/05\/wie-die-pandemie-oekonomen-in-bezug-auf-inflation-wachstum-und-wirtschaftliche-erholung-eines-besseren-belehrte\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Wie die Pandemie \u00d6konomen in Bezug auf Inflation, Wachstum und wirtschaftliche Erholung eines Besseren belehrte<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"682\" class=\"attachment-full size-full\" alt=\"Annahmen von \u00d6konomen w\u00e4hrend der Pandemie\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Pandemie-Oekonomen.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Pandemie-Oekonomen.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Pandemie-Oekonomen-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Pandemie-Oekonomen-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Pandemie-Oekonomen-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2026\/05\/wie-die-pandemie-oekonomen-in-bezug-auf-inflation-wachstum-und-wirtschaftliche-erholung-eines-besseren-belehrte\/\" rel=\"bookmark\">Wie die Pandemie \u00d6konomen in Bezug auf Inflation, Wachstum und wirtschaftliche Erholung eines Besseren belehrte<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"was bedeutet der spannungsfall in deutschland &#8211; und welche folgen h\u00e4tte er konkret?\" data-id=\"2997\"  data-category=\"allgemein b\u00fccher gesellschaft tipps &amp; anleitungen\" data-post_tag=\"buch deutschland geopolitik gesundheit krisen pers\u00f6nlichkeitsentwicklung ratgeber sicherheitspolitik\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/was-bedeutet-der-spannungsfall-in-deutschland-und-welche-folgen-haette-er-konkret\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Was bedeutet der Spannungsfall in Deutschland &#8211; und welche Folgen h\u00e4tte er konkret?<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Spannungsfall-Deutschland-2025\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Spannungsfall-Deutschland-2025-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/was-bedeutet-der-spannungsfall-in-deutschland-und-welche-folgen-haette-er-konkret\/\" rel=\"bookmark\">Was bedeutet der Spannungsfall in Deutschland &#8211; und welche Folgen h\u00e4tte er konkret?<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"kriegst\u00fcchtigkeit, wehrpflicht &#038; verweigerung: was im ernstfall zu tun ist\" data-id=\"2966\"  data-category=\"allgemein b\u00fccher gesellschaft tipps &amp; anleitungen\" data-post_tag=\"buch deutschland geopolitik gesundheit krisen pers\u00f6nlichkeitsentwicklung ratgeber sicherheitspolitik\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/09\/kriegstuechtigkeit-wehrpflicht-verweigerung-was-im-ernstfall-zu-tun-ist\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Kriegst\u00fcchtigkeit, Wehrpflicht &#038; Verweigerung: Was im Ernstfall zu tun ist<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1536\" height=\"1024\" class=\"attachment-full size-full\" alt=\"Wehrpflicht: Kriegsdienst verweigern\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/wehrpflicht-kriegsdienst-verweigern.jpg\" data-dpt-sizes=\"(max-width: 1536px) 100vw, 1536px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/wehrpflicht-kriegsdienst-verweigern.jpg 1536w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wehrpflicht-kriegsdienst-verweigern-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wehrpflicht-kriegsdienst-verweigern-1024x683.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wehrpflicht-kriegsdienst-verweigern-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/wehrpflicht-kriegsdienst-verweigern-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/09\/kriegstuechtigkeit-wehrpflicht-verweigerung-was-im-ernstfall-zu-tun-ist\/\" rel=\"bookmark\">Kriegst\u00fcchtigkeit, Wehrpflicht &#038; Verweigerung: Was im Ernstfall zu tun ist<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<h2>Erweiterungen f\u00fcr Dein pers\u00f6nliches KI-Wissenssystem<\/h2>\n<p>Mit dem bisherigen Aufbau hast Du bereits ein funktionierendes System geschaffen. Deine ChatGPT-Daten wurden extrahiert, in Embeddings umgewandelt, in Qdrant gespeichert und schlie\u00dflich mit einer lokalen KI verbunden. Das Ergebnis ist eine Wissens-KI, die auf fr\u00fchere Gespr\u00e4che zugreifen kann.<\/p>\n<p>Doch genau genommen stehen wir erst am Anfang. Die Architektur, die Du aufgebaut hast, ist nicht auf ChatGPT-Daten beschr\u00e4nkt. Sie funktioniert mit jeder Art von Text. Alles, was sich in Dokumente oder Textdateien umwandeln l\u00e4sst, kann Teil dieses Wissenssystems werden. Genau hier liegt das eigentliche Potenzial solcher Systeme.<\/p>\n<p>Was wir im Grunde gebaut haben, ist eine pers\u00f6nliche Wissensmaschine. Und diese Maschine l\u00e4sst sich Schritt f\u00fcr Schritt erweitern. In diesem Kapitel schauen wir uns an, welche M\u00f6glichkeiten sich daraus ergeben und wie Du Dein System langfristig ausbauen kannst.<\/p>\n<h3>Weitere Datenquellen integrieren<\/h3>\n<p>Der offensichtlichste n\u00e4chste Schritt besteht darin, weitere Inhalte in Deine Wissensdatenbank aufzunehmen. ChatGPT-Gespr\u00e4che sind ein guter Anfang, aber sie bilden meist nur einen Teil des eigenen Wissens ab. Viele Informationen liegen in anderen Formaten vor. Zum Beispiel:<\/p>\n<ul>\n<li>eigene Artikel<\/li>\n<li>Notizen<\/li>\n<li>PDF-Dokumente<\/li>\n<li>Forschungsunterlagen<\/li>\n<li>E-Books<\/li>\n<li>Protokolle oder Ideenlisten<\/li>\n<\/ul>\n<p>All diese Inhalte k\u00f6nnen auf die gleiche Weise verarbeitet werden wie unsere Chatdaten. Der Ablauf bleibt identisch:<\/p>\n<ul>\n<li>Text extrahieren<\/li>\n<li>Text in Chunks aufteilen<\/li>\n<li>Embeddings erzeugen<\/li>\n<li>Daten in Qdrant speichern<\/li>\n<\/ul>\n<p>Ein Beispiel: Wenn Du viele eigene Artikel geschrieben hast, kannst Du diese Texte in Deine Wissensdatenbank importieren. Die KI kann sp\u00e4ter darauf zugreifen und Zusammenh\u00e4nge erkennen. Du k\u00f6nntest zum Beispiel fragen:<\/p>\n<blockquote><p><em>\u201eWelche Artikel habe ich \u00fcber KI geschrieben?\u201c<\/em><\/p><\/blockquote>\n<p>oder<\/p>\n<blockquote><p><em>\u201eWelche Argumente habe ich fr\u00fcher zu diesem Thema entwickelt?\u201c<\/em><\/p><\/blockquote>\n<p>Die KI durchsucht dann Dein Artikelarchiv und nutzt die gefundenen Inhalte als Kontext. Auf diese Weise w\u00e4chst Dein System Schritt f\u00fcr Schritt zu einem umfassenden Wissensarchiv.<\/p>\n<h3>Mehrere Wissensdatenbanken<\/h3>\n<p>Mit zunehmender Datenmenge kann es sinnvoll sein, verschiedene Bereiche zu trennen. Qdrant erlaubt es, mehrere Collections anzulegen. Jede Collection kann eine eigene Wissensbasis darstellen. Ein m\u00f6gliches System k\u00f6nnte zum Beispiel so aussehen:<\/p>\n<ul>\n<li><strong>Collection 1<\/strong>: ChatGPT-Gespr\u00e4che<\/li>\n<li><strong>Collection 2<\/strong>: Artikelarchiv<\/li>\n<li><strong>Collection 3<\/strong>: pers\u00f6nliche Notizen<\/li>\n<li><strong>Collection 4<\/strong>: technische Dokumentation<\/li>\n<\/ul>\n<p>Diese Trennung hat mehrere Vorteile. Erstens bleibt die Struktur \u00fcbersichtlich. Du wei\u00dft jederzeit, wo bestimmte Inhalte gespeichert sind. Zweitens lassen sich Abfragen gezielter steuern. Manche Fragen sollen vielleicht nur Dein Artikelarchiv durchsuchen, andere wiederum Dein gesamtes Wissenssystem. Ein Beispiel:<\/p>\n<ul>\n<li>Eine Frage zur Recherche k\u00f6nnte nur das Artikelarchiv durchsuchen.<\/li>\n<li>Eine strategische Frage k\u00f6nnte dagegen alle Collections gleichzeitig ber\u00fccksichtigen.<\/li>\n<\/ul>\n<p>Solche Strukturen machen gr\u00f6\u00dfere Wissenssysteme deutlich leistungsf\u00e4higer.<\/p>\n<h3>Automatische Updates<\/h3>\n<p>Ein weiterer sinnvoller Schritt besteht darin, Dein System regelm\u00e4\u00dfig zu aktualisieren. Im bisherigen Beispiel haben wir den ChatGPT-Datenexport einmal verarbeitet. In der Praxis entstehen jedoch st\u00e4ndig neue Inhalte.<\/p>\n<p>Neue Gespr\u00e4che, neue Notizen, neue Dokumente &#8211; all diese Informationen k\u00f6nnten ebenfalls Teil Deines Wissensarchivs werden.<br \/>\nDeshalb lohnt es sich, \u00fcber automatische Updates nachzudenken. Eine einfache L\u00f6sung besteht darin, regelm\u00e4\u00dfig neue Daten zu importieren. Zum Beispiel:<\/p>\n<ul>\n<li>einmal pro Woche neue Chatdaten verarbeiten<\/li>\n<li>neue Dokumente automatisch einlesen<\/li>\n<li>neue Artikel sofort in die Datenbank \u00fcbernehmen<\/li>\n<\/ul>\n<p>Technisch l\u00e4sst sich das relativ leicht umsetzen. Ein kleines Skript kann regelm\u00e4\u00dfig pr\u00fcfen, ob neue Dateien vorhanden sind, und diese automatisch verarbeiten. Damit w\u00e4chst Dein Wissenssystem kontinuierlich weiter. Im Laufe der Zeit entsteht so ein immer umfangreicheres Archiv, das Deine Gedanken und Projekte dokumentiert.<\/p>\n<h3>Integration in eigene Anwendungen<\/h3>\n<p>Die bisherige Nutzung unseres Systems erfolgt \u00fcber einfache Python-Skripte. Doch langfristig l\u00e4sst sich dieses System auch in eigene Anwendungen integrieren. Viele Entwickler bauen beispielsweise kleine Weboberfl\u00e4chen, \u00fcber die sie ihre Wissens-KI direkt nutzen k\u00f6nnen.<\/p>\n<p>Statt ein Skript zu starten, kannst Du dann einfach eine Frage in ein Eingabefeld schreiben. Im Hintergrund l\u00e4uft derselbe Prozess:<\/p>\n<ol>\n<li>Embedding erzeugen<\/li>\n<li>Datenbank durchsuchen<\/li>\n<li>Kontext an die KI \u00fcbergeben<\/li>\n<li>Antwort generieren<\/li>\n<\/ol>\n<p>Das Ergebnis erscheint dann direkt in der Oberfl\u00e4che. Eine solche Anwendung kann sehr unterschiedliche Formen annehmen. Zum Beispiel:<\/p>\n<ul>\n<li>eine pers\u00f6nliche Recherche-KI<\/li>\n<li>ein Wissensassistent f\u00fcr Projekte<\/li>\n<li>eine Ideensuchmaschine<\/li>\n<li>ein Archiv f\u00fcr Artikel und Notizen<\/li>\n<\/ul>\n<p>Besonders spannend wird es, wenn man diese Systeme mit anderen Werkzeugen kombiniert. Ein Beispiel: Ein Redaktionssystem k\u00f6nnte automatisch auf Dein Wissensarchiv zugreifen und fr\u00fchere Artikel als Recherchegrundlage nutzen. Oder ein Notizsystem k\u00f6nnte neue Ideen automatisch in Deine Datenbank integrieren.<\/p>\n<p>Mit anderen Worten: Die KI wird Teil Deiner t\u00e4glichen Arbeitsumgebung. Damit wird deutlich, dass unser kleines Projekt weit \u00fcber den urspr\u00fcnglichen ChatGPT-Datenexport hinausgeht.<\/p>\n<p>Wir haben nicht nur ein Archiv aufgebaut. Wir haben eine Architektur geschaffen, die sich beliebig erweitern l\u00e4sst. Und genau darin liegt der eigentliche Wert solcher Systeme. Sie sind nicht statisch. Sie wachsen mit Deinem Wissen.<\/p>\n<h2>Erweiterte Version der Pipeline zum Download<\/h2>\n<p>Das folgende Skript ist eine erweiterte Version der Pipeline aus dem Artikel. Es ist robuster und deutlich n\u00e4her an einer produktiven L\u00f6sung. Drei Dinge wurden verbessert:<\/p>\n<ul>\n<li><strong>Fortschrittsanzeige<\/strong>: Der Nutzer sieht jederzeit, wie viele Texte bereits verarbeitet wurden.<\/li>\n<li><strong>Batch-Import<\/strong>: Embeddings werden gesammelt und blockweise in Qdrant geschrieben, was deutlich schneller ist als Einzelimporte.<\/li>\n<li><strong>schnellere Embedding-Pipeline<\/strong>: Das Skript arbeitet strukturiert mit vorbereiteten Chunks und reduziert unn\u00f6tige Aufrufe.<\/li>\n<\/ul>\n<p>Damit eignet sich dieses Skript besonders gut, wenn der ChatGPT-Export gr\u00f6\u00dfer ist &#8211; etwa mehrere tausend Gespr\u00e4che. Typischer Ablauf:<\/p>\n<ol>\n<li>ChatGPT-Export laden<\/li>\n<li>Texte extrahieren<\/li>\n<li>Text in Chunks teilen<\/li>\n<li>Embeddings erzeugen<\/li>\n<li>Batchweise in Qdrant importieren<\/li>\n<li>Testabfrage durchf\u00fchren<\/li>\n<\/ol>\n<h3>Wichtige Einstellungen im Skript<\/h3>\n<p>Einige Werte m\u00fcssen durch den Nutzer angepasst werden:<\/p>\n<ul>\n<li><strong>EXPORT_PFAD<\/strong><br \/>\nPfad zu den meist nummerierten Dateien conversations.json aus dem ChatGPT-Export.<\/li>\n<li><strong>COLLECTION_NAME<\/strong><br \/>\nName der Vektordatenbank-Collection.<\/li>\n<li><strong>EMBED_MODEL<\/strong><br \/>\nEmbedding-Modell von Ollama, z. B. nomic-embed-text oder mxbai-embed-large<\/li>\n<li><strong>ANSWER_MODEL<\/strong><br \/>\nSprachmodell f\u00fcr die Testabfrage, z.B. llama, mistral oder gpt:oss<\/li>\n<li><strong>VECTOR_SIZE<\/strong><br \/>\nDimension des Embedding-Modells.<br \/>\nnomic-embed-text \u2192 768<br \/>\nmxbai-embed-large \u2192 1024<\/li>\n<li><strong>CHUNK_SIZE<\/strong><br \/>\nGr\u00f6\u00dfe der Textabschnitte.<br \/>\nTypisch sind 300-600 W\u00f6rter.<\/li>\n<li><strong>BATCH_SIZE<\/strong><br \/>\nWie viele Embeddings gleichzeitig in Qdrant geschrieben werden.<br \/>\nTypischer Wert: 50-200.<\/li>\n<\/ul>\n<div class=\"schall-db-wrap schall-db-wrap--center\" style=\"--schall-db-max-width:760px;\"><a class=\"schall-db\" href=\"https:\/\/markus-schall.de\/downloads\/ChatGPT_Export_Scripts.zip\" target=\"_self\" download><span class=\"schall-db__icon\" aria-hidden=\"true\">&#128214;<\/span><span class=\"schall-db__text\"><span class=\"schall-db__title\">Download Python-Script<\/span><span class=\"schall-db__subtitle\">Kostenlos herunterladen<\/span><\/span><span class=\"schall-db__arrow\" aria-hidden=\"true\">&#8250;<\/span><\/a><\/div>\n<h3>Bleib auf dem Laufenden &#8211; ohne Werbung<\/h3>\n<p>Wenn Du \u00fcber Updates zu diesem Skript oder \u00fcber neue Downloads informiert bleiben m\u00f6chtest, kannst Du Dich in meinen monatlichen Newsletter eintragen. Der Newsletter ist bewusst schlank gehalten, komplett werbefrei und erscheint nur einmal im Monat. Darin findest Du eine Auswahl der wichtigsten neuen Artikel, praxisnahe Inhalte rund um KI, Software und Digitalisierung sowie Hinweise auf aktualisierte Skripte oder neue Download-Angebote. Kein Spam, keine t\u00e4glichen Mails &#8211; nur die relevantesten Inhalte in kompakter Form. Wenn Du diese Entwicklungen kontinuierlich verfolgen m\u00f6chtest, ist der Newsletter die einfachste M\u00f6glichkeit, auf dem aktuellen Stand zu bleiben.<\/p>\n<div class=\"mailster-block-form-type-content wp-block-mailster-form-outside-wrapper wp-block-mailster-form-outside-wrapper-c1cd9d66 wp-block-mailster-form-outside-wrapper-5542 wp-block-mailster-form\"><style class=\"mailster-form-style-c1cd9d66\">.wp-block-mailster-form-outside-wrapper-c1cd9d66 .mailster-block-form-inner > *{margin-block-start:0;margin-block-end:0;}.wp-block-mailster-form-outside-wrapper-c1cd9d66 .mailster-block-form-inner > * + *{margin-block-start:0.9em;margin-block-end:0;}.wp-block-mailster-form-outside-wrapper-c1cd9d66 .wp-block-mailster-form-wrapper .mailster-label{}.wp-block-mailster-form-outside-wrapper-c1cd9d66 .wp-block-mailster-form-wrapper .input{}.mailster-block-form input[type=\"text\"]{padding:10px 15px;border:1px solid rgb(204, 204, 204);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:0px;background:rgb(250, 250, 250) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:auto;outline:rgb(102, 102, 102) none 0px;text-transform:none;letter-spacing:normal;height:47px;}.mailster-block-form input[type=\"email\"]{padding:10px 15px;border:1px solid rgb(204, 204, 204);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:0px;background:rgb(250, 250, 250) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:auto;outline:rgb(102, 102, 102) none 0px;text-transform:none;letter-spacing:normal;height:47px;}.mailster-block-form input[type=\"date\"]{}.mailster-block-form input[type=\"checkbox\"]{}.mailster-block-form input[type=\"radio\"]{}.mailster-block-form input[type=\"submit\"]{padding:10px 20px;border:0px solid rgb(0, 0, 0);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:5px;background:rgb(2, 123, 184) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:button;outline:rgb(255, 255, 255) none 0px;text-transform:none;letter-spacing:normal;border:0px solid rgb(0, 0, 0);outline:rgb(255, 255, 255) none 0px;color:rgb(255, 255, 255);}.mailster-block-form select{}.mailster-block-form label{padding:0px;border:0px none rgb(58, 58, 58);font:17px \/ 25.5px -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";border-radius:0px;background:rgba(0, 0, 0, 0) none repeat scroll 0% 0% \/ auto padding-box border-box;box-shadow:none;line-height:25.5px;appearance:none;outline:rgb(58, 58, 58) none 0px;text-transform:none;letter-spacing:normal;}.mailster-block-form textarea{}<\/style>\n<form method=\"post\" novalidate class=\"wp-block-mailster-form-wrapper mailster-block-form\"><div class=\"mailster-block-form-inner\">\n<div class=\"wp-block-mailster-messages mailster-block-form-info mailster-wrapper\" aria-hidden=\"true\"><style>:root {--mailster--color--success-background: #6fbf4d;--mailster--color--success: #ffffff;--mailster--color--error-background: #bf4d4d;--mailster--color--error: #ffffff;}<\/style><div class=\"mailster-block-form-info-success\" style=\"width:100%\"><div>Please confirm your subscription!<\/div><div class=\"mailster-block-form-info-extra\"><\/div><\/div><div class=\"mailster-block-form-info-error\" style=\"width:100%\"><div>Some fields are missing or incorrect!<\/div><div class=\"mailster-block-form-info-extra\"><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-mailster-field-firstname mailster-wrapper mailster-wrapper-type-text mailster-wrapper-inline\" style=\"width:100%\"><input name=\"firstname\" id=\"mailster-id-41b55c\" type=\"text\" aria-required=\"false\" aria-label=\"Vorname\" spellcheck=\"false\" value=\"\" class=\"input\" autocomplete=\"given-name\" placeholder=\" \"\/><label for=\"mailster-id-41b55c\" class=\"mailster-label\">Vorname<\/label><\/div>\n\n\n\n<div class=\"wp-block-mailster-field-email mailster-wrapper mailster-wrapper-required mailster-wrapper-type-email mailster-wrapper-inline mailster-wrapper-asterisk\"><input name=\"email\" id=\"mailster-id-f70659\" type=\"email\" aria-required=\"true\" aria-label=\"E-Mail\" spellcheck=\"false\" required value=\"\" class=\"input\" autocomplete=\"email\" placeholder=\" \"\/><label for=\"mailster-id-f70659\" class=\"mailster-label\">E-Mail<\/label><\/div>\n\n\n\n<div class=\"wp-block-mailster-field-submit mailster-wrapper mailster-wrapper-type-submit mailster-wrapper-align-center wp-block-button\"><input name=\"submit\" id=\"mailster-id-7c1924\" type=\"submit\" value=\"Hier anmelden\" class=\"wp-block-button__link submit-button\"\/><\/div>\n<\/div><script class=\"mailster-block-form-data\" type=\"application\/json\">{\"id\":5542,\"identifier\":\"c1cd9d66\",\"cooldown\":0,\"isPreview\":false,\"type\":\"submission\",\"prefill\":false}<\/script><input name=\"_timestamp\" type=\"hidden\" value=\"1789062130\" \/>\n<button class=\"mailster-block-form-close\" aria-label=\"close\" tabindex=\"0\"><svg viewbox=\"0 0 100 100\"><path d=\"M100 10.71 89.29 0 50 39.29 10.71 0 0 10.71 39.29 50 0 89.29 10.71 100 50 60.71 89.29 100 100 89.29 60.71 50z\"\/><\/svg><\/button><\/form>\n<\/div>\n<h3>Ausblick auf Teil 3: Feinschliff, Analyse und optimale Nutzung der Daten<\/h3>\n<p>Im dritten Teil der Serie gehen wir einen Schritt weiter und schauen uns an, was sich konkret aus der aufgebauten Wissensdatenbank herausholen l\u00e4sst. Nachdem die ChatGPT-Daten nun in Qdrant gespeichert sind, steht die eigentliche Nutzung im Mittelpunkt. Wir werfen einen Blick auf die Qdrant-Weboberfl\u00e4che, analysieren die gespeicherten Daten und pr\u00fcfen, wie gut die semantische Suche bereits funktioniert. Dar\u00fcber hinaus geht es um wichtige Feinjustierungen: Wie sollte das Chunking je nach Anwendungsfall gew\u00e4hlt werden? Wie l\u00e4sst sich der Kontext optimal an ein lokales Sprachmodell \u00fcbergeben? Und wie kann man die Qualit\u00e4t der Antworten gezielt verbessern? Der dritte Teil richtet sich an alle, die aus dem System mehr herausholen und es bewusst weiterentwickeln m\u00f6chten.<\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-153 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 9px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-153 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\" dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Aktuelle Beitr\u00e4ge zu K\u00fcnstlicher Intelligenz<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-153\" class=\"dpt-wrapper dpt-mag1 land1 dpt-cropped dpt-flex-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"die neuen eu-zensurgesetze: was chatcontrol, dsa, emfa und der ai act bedeuten\" data-id=\"3586\"  data-category=\"allgemein gesellschaft ki-systeme\" data-post_tag=\"datenschutz digitales eigentum eu-gesetze europa k\u00fcnstliche intelligenz llm meinungsfreiheit spieltheorie sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/die-neuen-eu-zensurgesetze-was-chatcontrol-dsa-emfa-und-der-ai-act-bedeuten\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Die neuen EU-Zensurgesetze: Was Chatcontrol, DSA, EMFA und der AI Act bedeuten<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"EU Zensurgesetze\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/eu-zensurgesetze-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/die-neuen-eu-zensurgesetze-was-chatcontrol-dsa-emfa-und-der-ai-act-bedeuten\/\" rel=\"bookmark\">Die neuen EU-Zensurgesetze: Was Chatcontrol, DSA, EMFA und der AI Act bedeuten<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"der iran-israel-konflikt: warum diese eskalation der strategische albtraum des westens ist\" data-id=\"5212\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"denkmodelle energiepolitik europa geopolitik krisen k\u00fcnstliche intelligenz meinungsfreiheit sicherheitspolitik spieltheorie\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2026\/03\/der-iran-israel-konflikt-warum-diese-eskalation-der-strategische-albtraum-des-westens-ist\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Der Iran-Israel-Konflikt: Warum diese Eskalation der strategische Albtraum des Westens ist<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Israel-Iran - Strategischer Albtraum\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Israel-Iran-Strategischer-Albtraum-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2026\/03\/der-iran-israel-konflikt-warum-diese-eskalation-der-strategische-albtraum-des-westens-ist\/\" rel=\"bookmark\">Der Iran-Israel-Konflikt: Warum diese Eskalation der strategische Albtraum des Westens ist<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"ki-studio 2025: welche hardware wirklich lohnt &#8211; vom mac studio bis zur rtx 3090\" data-id=\"3704\"  data-category=\"apple macos hardware ki-systeme\" data-post_tag=\"apple digitales eigentum k\u00fcnstliche intelligenz llm mlx neo4j sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/ki-studio-2025-welche-hardware-wirklich-lohnt-vom-mac-studio-bis-zur-rtx-3090\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">KI-Studio 2025: Welche Hardware wirklich lohnt &#8211; vom Mac Studio bis zur RTX 3090<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Hardware 2025 f\u00fcr KI-Studio\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Studio-Hardware-2025.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Studio-Hardware-2025.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Studio-Hardware-2025-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Studio-Hardware-2025-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-Studio-Hardware-2025-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/ki-studio-2025-welche-hardware-wirklich-lohnt-vom-mac-studio-bis-zur-rtx-3090\/\" rel=\"bookmark\">KI-Studio 2025: Welche Hardware wirklich lohnt &#8211; vom Mac Studio bis zur RTX 3090<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"software entwickeln mit codex, chatgpt und ki: praxisleitfaden f\u00fcr entwickler\" data-id=\"6224\"  data-category=\"apple iphone &amp; ipad apple macos featured filemaker &amp; erp ki-systeme tipps &amp; anleitungen\" data-post_tag=\"datenbanken datenlogik digitales eigentum erfahrungen erp-software filemaker k\u00fcnstliche intelligenz lernen llm prozesse sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2026\/06\/software-entwickeln-mit-codex-chatgpt-und-ki-praxisleitfaden-fuer-entwickler\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Software entwickeln mit Codex, ChatGPT und KI: Praxisleitfaden f\u00fcr Entwickler<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"583\" class=\"attachment-full size-full\" alt=\"Softwareentwicklung mit KI\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Softwareentwicklung-mit-KI.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Softwareentwicklung-mit-KI.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Softwareentwicklung-mit-KI-300x171.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Softwareentwicklung-mit-KI-768x437.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Softwareentwicklung-mit-KI-18x10.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2026\/06\/software-entwickeln-mit-codex-chatgpt-und-ki-praxisleitfaden-fuer-entwickler\/\" rel=\"bookmark\">Software entwickeln mit Codex, ChatGPT und KI: Praxisleitfaden f\u00fcr Entwickler<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<h2>H\u00e4ufig gestellte Fragen<\/h2>\n<ol>\n<li><strong>Was bringt es mir \u00fcberhaupt, meinen ChatGPT-Datenexport in eine eigene KI zu integrieren?<\/strong><br \/>\nDer gr\u00f6\u00dfte Vorteil liegt darin, dass Du Deine eigenen Gespr\u00e4che und Gedanken dauerhaft nutzbar machst. Viele Menschen f\u00fchren mit KI-Systemen intensive Gespr\u00e4che \u00fcber Projekte, Ideen, Analysen oder pers\u00f6nliche Fragestellungen. Diese Inhalte verschwinden normalerweise im Verlauf der Plattform. Wenn Du sie jedoch exportierst und in eine eigene Wissensdatenbank integrierst, entsteht daraus ein pers\u00f6nliches Archiv. Deine lokale KI kann dann auf diese Inhalte zugreifen, Zusammenh\u00e4nge erkennen und Dir bei neuen Fragen helfen. Statt immer wieder bei Null anzufangen, baust Du Schritt f\u00fcr Schritt auf Deinem eigenen Denken auf.<\/li>\n<li><strong>Ist das nicht sehr kompliziert f\u00fcr jemanden, der kein Entwickler ist?<\/strong><br \/>\nAuf den ersten Blick wirken Begriffe wie Embeddings, Vektordatenbanken oder RAG-Systeme komplex. In der Praxis sind die einzelnen Schritte jedoch relativ klar strukturiert. Du ben\u00f6tigst im Grunde nur drei Komponenten: eine lokale KI (zum Beispiel \u00fcber Ollama), eine Vektordatenbank wie Qdrant und ein kleines Python-Skript, das Deine Daten verarbeitet. Viele der Schritte laufen automatisch ab. Sobald das System einmal eingerichtet ist, funktioniert es wie eine normale Suchmaschine oder ein Chatbot &#8211; nur dass er mit Deinem eigenen Wissen arbeitet.<\/li>\n<li><strong>Welche Daten enth\u00e4lt der ChatGPT-Export eigentlich genau?<\/strong><br \/>\nDer ChatGPT-Export enth\u00e4lt in der Regel alle Gespr\u00e4che, die Du mit dem System gef\u00fchrt hast. Dazu geh\u00f6ren nicht nur die Textnachrichten selbst, sondern auch Metadaten wie Gespr\u00e4chstitel, Zeitstempel und Strukturinformationen. Die Daten liegen meistens im JSON-Format vor und lassen sich deshalb relativ einfach mit Skripten verarbeiten. In vielen F\u00e4llen umfasst der Export auch Medien oder Sprachdateien, sofern diese in den Gespr\u00e4chen verwendet wurden. F\u00fcr den Aufbau einer Wissensdatenbank sind jedoch vor allem die Textinhalte interessant.<\/li>\n<li><strong>Warum verwendet man f\u00fcr solche Systeme eine Vektordatenbank und keine normale Datenbank?<\/strong><br \/>\nNormale Datenbanken sind hervorragend geeignet, wenn man nach konkreten Begriffen oder IDs sucht. F\u00fcr semantische Suche sind sie jedoch weniger geeignet. Eine Vektordatenbank speichert Texte nicht nur als Zeichenketten, sondern als mathematische Vektoren, die die Bedeutung eines Textes beschreiben. Dadurch kann das System nach inhaltlicher \u00c4hnlichkeit suchen. Wenn Du zum Beispiel nach \u201eKI-Artikelideen\u201c fragst, kann die Datenbank auch Inhalte finden, in denen andere Formulierungen wie \u201eThemen f\u00fcr Blogartikel \u00fcber k\u00fcnstliche Intelligenz\u201c vorkommen.<\/li>\n<li><strong>Was sind eigentlich Embeddings und warum sind sie so wichtig?<\/strong><br \/>\nEmbeddings sind mathematische Repr\u00e4sentationen von Texten. Ein Sprachmodell wandelt einen Text in eine Liste von Zahlen um, die die Bedeutung des Textes beschreiben. Texte mit \u00e4hnlicher Bedeutung liegen im mathematischen Raum nah beieinander. Dadurch kann eine Vektordatenbank sp\u00e4ter nach \u00e4hnlichen Inhalten suchen. Ohne Embeddings w\u00e4re eine semantische Suche kaum m\u00f6glich. Sie bilden das Fundament moderner RAG-Systeme und sind der Grund, warum solche Systeme viel flexibler sind als klassische Volltextsuche.<\/li>\n<li><strong>Wie gro\u00df darf mein ChatGPT-Datenexport sein?<\/strong><br \/>\nDie Gr\u00f6\u00dfe spielt grunds\u00e4tzlich keine gro\u00dfe Rolle. Selbst mehrere tausend Gespr\u00e4che lassen sich problemlos verarbeiten. Entscheidend ist eher die Anzahl der erzeugten Textabschnitte, die sogenannten Chunks. Ein gr\u00f6\u00dferer Export f\u00fchrt zu mehr Chunks und damit zu mehr Embeddings. Moderne Vektordatenbanken k\u00f6nnen jedoch problemlos Millionen solcher Eintr\u00e4ge verwalten. F\u00fcr einen privaten Wissensassistenten reicht selbst ein kleiner Server oder ein leistungsf\u00e4higer Desktop v\u00f6llig aus.<\/li>\n<li><strong>Warum wird der Text vor der Verarbeitung in kleine Abschnitte aufgeteilt?<\/strong><br \/>\nWenn man komplette Gespr\u00e4che oder gro\u00dfe Texte direkt als Embeddings speichert, wird die semantische Suche ungenau. Ein einzelner Text k\u00f6nnte mehrere Themen enthalten. Durch das Aufteilen in kleinere Abschnitte kann das System sp\u00e4ter viel pr\u00e4ziser suchen. Jeder Abschnitt beschreibt ein klareres Thema. Dadurch findet die Datenbank genau die Teile eines Gespr\u00e4chs, die wirklich zur aktuellen Frage passen.<\/li>\n<li><strong>Welche Rolle spielt Ollama in diesem System?<\/strong><br \/>\nOllama dient als lokale Plattform f\u00fcr Sprachmodelle. Es erlaubt Dir, KI-Modelle direkt auf Deinem eigenen Rechner auszuf\u00fchren. In unserem System erf\u00fcllt Ollama zwei Aufgaben: Es erzeugt Embeddings f\u00fcr Texte und generiert Antworten auf Fragen. Der Vorteil liegt darin, dass alle Daten lokal bleiben. Deine Gespr\u00e4che und Dein Wissensarchiv verlassen also nie Deinen eigenen Rechner.<\/li>\n<li><strong>Warum wird Qdrant als Vektordatenbank verwendet?<\/strong><br \/>\nQdrant ist eine moderne Vektordatenbank, die speziell f\u00fcr KI-Anwendungen entwickelt wurde. Sie ist schnell, einfach zu installieren und sehr gut dokumentiert. Au\u00dferdem l\u00e4sst sie sich problemlos mit Python und vielen KI-Frameworks verbinden. F\u00fcr lokale Wissenssysteme ist Qdrant deshalb eine besonders praktische L\u00f6sung. Alternativen w\u00e4ren beispielsweise Chroma, Weaviate oder Pinecone.<\/li>\n<li><strong>Was bedeutet der Begriff RAG-System?<\/strong><br \/>\nRAG steht f\u00fcr \u201eRetrieval-Augmented Generation\u201c. Dabei handelt es sich um eine Architektur, bei der eine KI zun\u00e4chst relevante Informationen aus einer Datenbank abruft und diese anschlie\u00dfend zur Generierung einer Antwort nutzt. Die KI kombiniert also ihr eigenes Wissen mit externen Daten. Dadurch kann sie sehr pr\u00e4zise Antworten geben und gleichzeitig auf aktuelle oder pers\u00f6nliche Informationen zugreifen.<\/li>\n<li><strong>Kann ich auch andere Datenquellen in dieses System integrieren?<\/strong><br \/>\nJa, das ist sogar einer der gr\u00f6\u00dften Vorteile dieser Architektur. Das System ist nicht auf ChatGPT-Daten beschr\u00e4nkt. Du kannst auch eigene Artikel, Notizen, PDFs, Forschungsunterlagen oder andere Dokumente integrieren. Solange sich der Inhalt in Textform verarbeiten l\u00e4sst, kann er Teil der Wissensdatenbank werden. Dadurch w\u00e4chst Dein System mit der Zeit zu einem umfassenden Wissensarchiv.<\/li>\n<li><strong>Wie aktuell bleibt ein solches Wissenssystem?<\/strong><br \/>\nDie Aktualit\u00e4t h\u00e4ngt davon ab, wie oft Du neue Daten importierst. Du kannst beispielsweise regelm\u00e4\u00dfig neue ChatGPT-Exporte verarbeiten oder ein Skript erstellen, das automatisch neue Dokumente erkennt. Viele Systeme werden so eingerichtet, dass sie einmal pro Woche oder einmal pro Monat aktualisiert werden. Dadurch bleibt die Wissensdatenbank stets auf dem neuesten Stand.<\/li>\n<li><strong>Welche Hardware brauche ich f\u00fcr ein solches System?<\/strong><br \/>\nF\u00fcr kleinere Projekte reicht bereits ein moderner Desktop-Computer. Wenn Du ein gr\u00f6\u00dferes Sprachmodell verwenden m\u00f6chtest, kann eine GPU hilfreich sein. Viele Nutzer betreiben ihre Wissenssysteme jedoch auch erfolgreich auf einem leistungsf\u00e4higen Laptop oder einem Mini-Server. Wichtig ist vor allem gen\u00fcgend Arbeitsspeicher und ausreichend Speicherplatz f\u00fcr die Datenbank.<\/li>\n<li><strong>Wie schnell arbeitet ein solches System in der Praxis?<\/strong><br \/>\nDie Geschwindigkeit h\u00e4ngt von mehreren Faktoren ab, zum Beispiel von der Gr\u00f6\u00dfe der Datenbank, der Hardware und dem verwendeten Sprachmodell. In vielen F\u00e4llen dauert eine Anfrage nur wenige Sekunden. Die Vektorsuche selbst ist meist extrem schnell. Der gr\u00f6\u00dfte Zeitanteil entf\u00e4llt oft auf die Antwortgenerierung des Sprachmodells.<\/li>\n<li><strong>Ist es m\u00f6glich, mehrere Wissensbereiche zu trennen?<\/strong><br \/>\nJa. Vektordatenbanken wie Qdrant erlauben die Verwendung mehrerer Collections. Jede Collection kann ein eigenes Themengebiet darstellen. Du k\u00f6nntest zum Beispiel eine Collection f\u00fcr ChatGPT-Gespr\u00e4che, eine f\u00fcr Artikel und eine f\u00fcr Notizen anlegen. Dadurch lassen sich Wissensbereiche sauber strukturieren und gezielt durchsuchen.<\/li>\n<li><strong>Wie sicher sind meine Daten in einem lokalen KI-System?<\/strong><br \/>\nDer gro\u00dfe Vorteil eines lokalen Systems besteht darin, dass Deine Daten nicht an externe Dienste \u00fcbertragen werden m\u00fcssen. Alle Informationen bleiben auf Deinem eigenen Rechner oder Server. Das ist besonders f\u00fcr sensible Inhalte interessant. Nat\u00fcrlich solltest Du trotzdem regelm\u00e4\u00dfig Backups erstellen und Dein System gegen unbefugten Zugriff sch\u00fctzen.<\/li>\n<li><strong>Kann ich dieses System auch in eigene Anwendungen integrieren?<\/strong><br \/>\nJa. Die meisten Komponenten lassen sich \u00fcber Programmierschnittstellen ansprechen. Dadurch kannst Du Dein Wissenssystem in eigene Tools integrieren, zum Beispiel in eine Weboberfl\u00e4che, ein Redaktionssystem oder eine Notiz-App. Viele Entwickler bauen kleine Anwendungen, die ihre Wissensdatenbank direkt \u00fcber eine Chatoberfl\u00e4che zug\u00e4nglich machen.<\/li>\n<li><strong>Wie k\u00f6nnte sich diese Technologie in Zukunft weiterentwickeln?<\/strong><br \/>\nPers\u00f6nliche Wissens-KIs stehen vermutlich erst am Anfang ihrer Entwicklung. In Zukunft k\u00f6nnten solche Systeme automatisch neue Inhalte integrieren, Zusammenfassungen erstellen oder sogar eigene Vorschl\u00e4ge f\u00fcr Projekte liefern. Je mehr Daten in ein solches System flie\u00dfen, desto wertvoller wird es. Es k\u00f6nnte sich langfristig zu einer Art pers\u00f6nlichem digitalen Ged\u00e4chtnis entwickeln, das Dein Wissen strukturiert und jederzeit abrufbar macht.<\/li>\n<\/ol>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-154 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-h-gutter: 10px;--dpt-v-gutter: 9px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-154 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\" dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Aktuelle Beitr\u00e4ge zu Kunst &amp; Kultur<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-154\" class=\"dpt-wrapper dpt-mag1 land1 dpt-cropped dpt-flex-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"zukunft mit ladeger\u00e4t &#8211; herr von l&#8217;oreot kauft einen e-scooter\" data-id=\"3229\"  data-category=\"allgemein gesellschaft kunst &amp; kultur stories &amp; humor\" data-post_tag=\"erfahrungen\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/zukunft-mit-ladegeraet-herr-von-loreot-kauft-einen-e-scooter\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Zukunft mit Ladeger\u00e4t &#8211; Herr von L&#8217;oreot kauft einen E-Scooter<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"747\" class=\"attachment-full size-full\" alt=\"\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/loereot-e-scooter-1.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/loereot-e-scooter-1.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/loereot-e-scooter-1-300x219.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/loereot-e-scooter-1-768x560.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/loereot-e-scooter-1-16x12.jpg 16w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/zukunft-mit-ladegeraet-herr-von-loreot-kauft-einen-e-scooter\/\" rel=\"bookmark\">Zukunft mit Ladeger\u00e4t &#8211; Herr von L&#8217;oreot kauft einen E-Scooter<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"beruf, weltbild, zukunft: entscheidungen im schatten des umbruchs\" data-id=\"3197\"  data-category=\"allgemein gesellschaft kunst &amp; kultur tipps &amp; anleitungen\" data-post_tag=\"erfahrungen krisen pers\u00f6nlichkeitsentwicklung ratgeber\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/beruf-weltbild-zukunft-entscheidungen-im-schatten-des-umbruchs\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Beruf, Weltbild, Zukunft: Entscheidungen im Schatten des Umbruchs<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Entscheidungen im Schatten des Umbruchs\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Entscheidungen-im-Schatten-Umbruch-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/beruf-weltbild-zukunft-entscheidungen-im-schatten-des-umbruchs\/\" rel=\"bookmark\">Beruf, Weltbild, Zukunft: Entscheidungen im Schatten des Umbruchs<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"warum dieter bohlen spricht, wenn andere schweigen: ein portr\u00e4t \u00fcber flei\u00df und klarheit\" data-id=\"3744\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"auswandern deutschland erfahrungen krisen meinungsfreiheit musik portrait\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/12\/warum-dieter-bohlen-spricht-wenn-andere-schweigen-ein-portraet-ueber-fleiss-und-klarheit\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Warum Dieter Bohlen spricht, wenn andere schweigen: Ein Portr\u00e4t \u00fcber Flei\u00df und Klarheit<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Dieter-Bohlen-Portrait.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Dieter-Bohlen-Portrait.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Dieter-Bohlen-Portrait-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Dieter-Bohlen-Portrait-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Dieter-Bohlen-Portrait-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/12\/warum-dieter-bohlen-spricht-wenn-andere-schweigen-ein-portraet-ueber-fleiss-und-klarheit\/\" rel=\"bookmark\">Warum Dieter Bohlen spricht, wenn andere schweigen: Ein Portr\u00e4t \u00fcber Flei\u00df und Klarheit<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"wenn pflicht wieder pflicht wird. eine art essay von herrn von l&#8217;oreot.\" data-id=\"3010\"  data-category=\"allgemein gesellschaft kunst &amp; kultur stories &amp; humor\" data-post_tag=\"deutschland erfahrungen geopolitik krisen pers\u00f6nlichkeitsentwicklung sicherheitspolitik\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\" dpt-featured-content\"><div class=\" dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/wenn-pflicht-wieder-pflicht-wird-eine-art-essay-von-herrn-von-loreot\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Wenn Pflicht wieder Pflicht wird. Eine Art Essay von Herrn von L&#8217;oreot.<\/span><\/a><\/div><div class=\" dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Ein unerwarteter Anruf\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/loreot-pflicht-anruf.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/loreot-pflicht-anruf.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/loreot-pflicht-anruf-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/loreot-pflicht-anruf-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/loreot-pflicht-anruf-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 75%\"><\/span><\/div><\/div><div class=\" sub-entry\"><h3 class=\" dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/wenn-pflicht-wieder-pflicht-wird-eine-art-essay-von-herrn-von-loreot\/\" rel=\"bookmark\">Wenn Pflicht wieder Pflicht wird. Eine Art Essay von Herrn von L&#8217;oreot.<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>Nella prima parte di questa serie di articoli, abbiamo visto che l'esportazione dei dati di ChatGPT \u00e8 molto pi\u00f9 di una semplice funzione tecnica. I dati esportati contengono una raccolta di pensieri, idee, analisi e conversazioni accumulate in un lungo periodo di tempo. Ma finch\u00e9 questi dati vengono memorizzati solo come archivio sul disco rigido, rimangono solo ... <a title=\"Quando il dovere diventa di nuovo dovere. Una sorta di saggio del signor von L&#039;oreot.\" class=\"read-more\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/10\/wenn-pflicht-wieder-pflicht-wird-eine-art-essay-von-herrn-von-loreot\/\" aria-label=\"Per saperne di pi\u00f9 su Quando il dovere diventa di nuovo dovere. Una sorta di saggio del signor von L&#039;oreot.\">Leggi tutto<\/a><\/p>","protected":false},"author":1,"featured_media":5300,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":582,"footnotes":""},"categories":[15,431,4],"tags":[440,444,473,452,471,435,433,465,432,442,434],"class_list":["post-5306","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apple-macos","category-ki-systeme","category-tipps-anleitungen","tag-datenbanken","tag-denkmodelle","tag-digitales-eigentum","tag-docker","tag-kuenstliche-intelligenz","tag-llama","tag-llm","tag-mlx","tag-ollama","tag-prozesse","tag-sprachmodell"],"_links":{"self":[{"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/posts\/5306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/comments?post=5306"}],"version-history":[{"count":38,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/posts\/5306\/revisions"}],"predecessor-version":[{"id":6459,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/posts\/5306\/revisions\/6459"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/media\/5300"}],"wp:attachment":[{"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/media?parent=5306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/categories?post=5306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/tags?post=5306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}