{"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-04-17T14:30:59","modified_gmt":"2026-04-17T14:30:59","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\/dallesportazione-di-dati-chatgpt-alla-propria-conoscenza-ki-passo-dopo-passo-con-ollama-e-qdrant\/","title":{"rendered":"Dall'esportazione dei dati ChatGPT alla propria conoscenza AI: passo dopo passo con Ollama e Qdrant"},"content":{"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 questo: un archivio. Il passo cruciale \u00e8 rendere queste informazioni nuovamente utilizzabili. \u00c8 proprio qui che inizia lo sviluppo di un'intelligenza artificiale personale.<\/p>\n<p>L'idea \u00e8 in realt\u00e0 sorprendentemente semplice: un'intelligenza artificiale non deve solo lavorare con conoscenze generali, ma anche essere in grado di accedere ai dati dell'utente. Deve cercare nelle conversazioni precedenti, trovare i contenuti adatti e incorporarli nelle nuove risposte. In questo modo, una normale IA si trasforma in una sorta di memoria digitale. Questa \u00e8 la seconda parte della serie di articoli, che ora si occupa dell'aspetto pratico.<!--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-155 { --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-155 { --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\">Problemi sociali del presente<\/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-155\" 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=\"digitales eigentum erkl\u00e4rt \u2013 so entstehen nachhaltige online-verm\u00f6genswerte\" data-id=\"4766\"  data-category=\"allgemein b\u00fccher gesellschaft ki-systeme\" data-post_tag=\"buch datenbanken denkmodelle digitales eigentum erp-software k\u00fcnstliche intelligenz prozesse publishing\">\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\/02\/la-proprieta-digitale-ha-spiegato-come-vengono-creati-gli-asset-online-sostenibili\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">La propriet\u00e0 digitale spiegata - Come vengono creati gli asset online sostenibili<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Cos&#039;\u00e8 la propriet\u00e0 digitale\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Digitales-Eigentum-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\/02\/la-proprieta-digitale-ha-spiegato-come-vengono-creati-gli-asset-online-sostenibili\/\" rel=\"bookmark\">La propriet\u00e0 digitale spiegata - Come vengono creati gli asset online sostenibili<\/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=\"helge schneider: haltung, humor und die freiheit, sich nicht erkl\u00e4ren zu m\u00fcssen\" data-id=\"4756\"  data-category=\"allgemein gesellschaft kunst &amp; kultur\" data-post_tag=\"deutschland erfahrungen 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\/2026\/02\/helge-schneider-atteggiamento-umoristico-e-la-liberta-di-non-doversi-spiegare\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Helge Schneider: atteggiamento, umorismo e libert\u00e0 di non doversi spiegare<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Helge Schneider Ritratto\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Helge-Schneider-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\/02\/helge-schneider-atteggiamento-umoristico-e-la-liberta-di-non-doversi-spiegare\/\" rel=\"bookmark\">Helge Schneider: atteggiamento, umorismo e libert\u00e0 di non doversi spiegare<\/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=\"woher stammt sars-cov-2? ein sachlicher \u00dcberblick \u00fcber alle corona-theorien\" data-id=\"3521\"  data-category=\"allgemein gesellschaft gesundheit\" data-post_tag=\"deutschland gesundheit krisen 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\/11\/da-dove-viene-la-sars-cov-2-una-panoramica-fattuale-di-tutte-le-teorie-sulla-corona\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Da dove viene la SARS-CoV-2? Una panoramica di tutte le teorie sulla corona<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"728\" class=\"attachment-full size-full\" alt=\"SARS-CoV-2 - Corona\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/sars-covii-corona.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/sars-covii-corona.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/sars-covii-corona-300x213.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/sars-covii-corona-768x546.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/sars-covii-corona-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\/da-dove-viene-la-sars-cov-2-una-panoramica-fattuale-di-tutte-le-teorie-sulla-corona\/\" rel=\"bookmark\">Da dove viene la SARS-CoV-2? Una panoramica di tutte le teorie sulla corona<\/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\u2013israel-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\/il-conflitto-iran-israele-perche-questa-escalation-e-lincubo-strategico-delloccidente\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Il conflitto Iran-Israele: perch\u00e9 questa escalation \u00e8 l'incubo strategico dell'Occidente<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Israele-Iran - Incubo strategico\" 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\/il-conflitto-iran-israele-perche-questa-escalation-e-lincubo-strategico-delloccidente\/\" rel=\"bookmark\">Il conflitto Iran-Israele: perch\u00e9 questa escalation \u00e8 l'incubo strategico dell'Occidente<\/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>Parte 1 della serie: Il tesoro sottovalutato dell'esportazione dei dati ChatGPT<\/h2>\n<p>Mentre in questa seconda parte ci addentriamo nell'aspetto pratico, vale la pena di dare un'occhiata al <a href=\"https:\/\/www.markus-schall.de\/it\/2026\/03\/lesportazione-dei-dati-di-chatgpt-spiega-come-le-vostre-chat-di-ki-diventano-un-sistema-di-conoscenza-personale\/\"><strong>primo articolo di questa serie<\/strong><\/a>. L'articolo affronta la questione fondamentale del perch\u00e9 l'esportazione dei dati di ChatGPT sia cos\u00ec interessante e perch\u00e9 molti utenti ne sottovalutano ancora il potenziale. L'articolo mostra quali dati sono effettivamente contenuti nell'esportazione, come possono essere utilizzati per creare un archivio di conoscenze personali e perch\u00e9 questo passaggio costituisce la base per la vostra AI con memoria. Se volete capire perch\u00e9 stiamo costruendo questa pipeline e quale valore strategico hanno le vostre cronologie di chat, dovreste iniziare con la prima parte.<\/p>\n<p>Prima di iniziare l'implementazione vera e propria nel prossimo capitolo, diamo prima un'occhiata a come \u00e8 strutturato fondamentalmente un sistema di questo tipo.<\/p>\n<hr \/>\n<h2>L'idea di base di un sistema RAG<\/h2>\n<p>La base tecnica del nostro sistema \u00e8 un concetto ormai ampiamente diffuso nel mondo dell'intelligenza artificiale: RAG, ovvero Retrieval Augmented Generation. Dietro questo termine si nasconde un principio molto pratico.<\/p>\n<p>Normalmente, un modello linguistico risponde alle domande esclusivamente con le conoscenze apprese durante l'addestramento. Sebbene questa conoscenza sia ampia, presenta due limiti decisivi:<\/p>\n<ul>\n<li>In primo luogo, il modello non conosce alcuna informazione individuale sui vostri progetti o pensieri.<\/li>\n<li>In secondo luogo, non pu\u00f2 accedere a nuovi dati creati dopo l'addestramento.<\/li>\n<\/ul>\n<p>\u00c8 proprio qui che entra in gioco un sistema RAG. Invece di generare direttamente una risposta, il sistema cerca in un database i contenuti che corrispondono alla domanda posta. Questi contenuti vengono poi trasferiti al modello linguistico come contesto. Solo a questo punto l'intelligenza artificiale formula la sua risposta. In termini semplici, il processo \u00e8 il seguente:<\/p>\n<ol>\n<li>Fai una domanda \u2192<\/li>\n<li>il sistema cerca in un database di conoscenze \u2192<\/li>\n<li>si trovano i contenuti rilevanti \u2192<\/li>\n<li>Questo contenuto viene trasferito all'IA come contesto \u2192<\/li>\n<li>l'IA genera una risposta.<\/li>\n<\/ol>\n<p>Il vantaggio decisivo \u00e8 evidente: l'IA pu\u00f2 utilizzare informazioni che non facevano parte del suo addestramento originale.<\/p>\n<p>Ed \u00e8 qui che entrano in gioco i dati di ChatGPT. Se integriamo queste conversazioni in un database di conoscenze, l'IA pu\u00f2 accedervi in seguito. Pu\u00f2 trovare idee precedenti, utilizzare argomenti di vecchi dialoghi o prendere in considerazione analisi di conversazioni passate. Il sistema inizia quindi a \u201ericordare\u201c i vostri pensieri.<\/p>\n<h3>Gli elementi costitutivi del nostro sistema<\/h3>\n<p>Perch\u00e9 questo funzioni, abbiamo bisogno di diversi componenti che lavorino insieme. Fortunatamente, oggi l'infrastruttura tecnica \u00e8 molto pi\u00f9 facile da raggiungere rispetto a qualche anno fa. Il nostro sistema \u00e8 costituito da quattro componenti centrali.<\/p>\n<ol>\n<li>Il primo blocco di costruzione \u00e8 il <strong>Esportazione dei dati ChatGPT<\/strong>. Ecco i nostri dati grezzi. Contiene tutte le conversazioni che abbiamo avuto in precedenza con l'IA.<\/li>\n<li>Il secondo blocco di costruzione \u00e8 un <strong>Modello di incorporazione<\/strong>. Questo modello traduce il testo in vettori matematici. In questo modo \u00e8 possibile confrontare i testi in base al loro significato.<\/li>\n<li>Il terzo blocco di costruzione \u00e8 un <strong>Database vettoriale<\/strong>. Nel nostro caso, utilizziamo Qdrant. Questo database memorizza le rappresentazioni matematiche dei testi e consente una rapida ricerca semantica.<\/li>\n<li>Il quarto blocco di costruzione \u00e8 un <strong>modello linguistico locale<\/strong>, che funziona tramite Ollama. Questo modello formuler\u00e0 in seguito le risposte effettive.<\/li>\n<\/ol>\n<p>Questi quattro componenti lavorano a stretto contatto.<\/p>\n<ol>\n<li>L'esportazione dei dati fornisce il contenuto.<\/li>\n<li>Il modello di incorporazione li rende leggibili dalla macchina.<\/li>\n<li>Il database vettoriale li salva e li ricerca.<\/li>\n<li>Il modello linguistico genera infine risposte comprensibili.<\/li>\n<\/ol>\n<p>Insieme, costituiscono la base di un'intelligenza artificiale personale.<\/p>\n<h3>Il flusso di dati in sintesi<\/h3>\n<p>Affinch\u00e9 il sistema funzioni, i dati devono passare attraverso diverse fasi. Il primo passo \u00e8 l'esportazione dei dati di ChatGPT, che abbiamo gi\u00e0 creato nel primo articolo. Le conversazioni che contiene vengono prima estratte dai file JSON. Questi testi devono poi essere preparati. Le cronologie di chat di grandi dimensioni vengono suddivise in sezioni pi\u00f9 piccole, note come pezzi di testo. Questo rende la ricerca successiva molto pi\u00f9 efficiente.<\/p>\n<p>Nella fase successiva, generiamo embeddings da queste sezioni di testo. Ogni testo viene descritto matematicamente. Ai testi con un significato simile vengono assegnati vettori simili. Questi vettori vengono poi salvati nel nostro database vettoriale Qdrant.<\/p>\n<p>Ci\u00f2 significa che la parte pi\u00f9 importante dell'infrastruttura \u00e8 gi\u00e0 pronta. Se la domanda viene posta in un secondo momento, si verifica quanto segue:<\/p>\n<ol>\n<li>Anche la domanda viene convertita in un vettore.<\/li>\n<li>Il database cerca testi con un significato simile.<\/li>\n<li>Questi passaggi di testo vengono trasferiti al modello linguistico come contesto.<\/li>\n<li>Il modello utilizza queste informazioni per formulare una risposta.<\/li>\n<\/ol>\n<p>Questo processo garantisce che l'IA non solo utilizzi le conoscenze generali, ma possa anche accedere ai dati dell'utente.<\/p>\n<h3>Cosa sar\u00e0 possibile fare alla fine<\/h3>\n<p>Una volta impostato il sistema, il rapporto con l'IA cambia notevolmente. Non si lavora pi\u00f9 solo con un modello linguistico generico, ma con un'intelligenza artificiale che pu\u00f2 accedere ai vostri dati. Questo apre possibilit\u00e0 completamente nuove. Ad esempio, \u00e8 possibile porre domande come:<\/p>\n<blockquote><p><em>\u201eHo mai parlato di questo argomento con l'IA?\u201c.\u201c<\/em><br \/>\n<em>\u201eQuali idee avevo prima di questo progetto?\u201c.\u201c<\/em><br \/>\n<em>\u201eQuali argomenti ho sviluppato nelle conversazioni precedenti?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>L'intelligenza artificiale cerca quindi nelle conversazioni dell'utente e trova i contenuti adatti. Invece di dare una risposta generica, pu\u00f2 fare riferimento a pensieri precedenti, riassumere vecchie analisi o riconoscere connessioni tra conversazioni diverse.<\/p>\n<p>In altre parole, l'intelligenza artificiale inizia a lavorare con il vostro archivio di conoscenze. Questo trasforma un semplice strumento di chat in un sistema in grado di supportare il vostro pensiero a lungo termine. \u00c8 proprio questo sistema che costruiremo passo dopo passo nei prossimi capitoli. Nella prossima sezione, inizieremo con il lavoro pratico e daremo un'occhiata pi\u00f9 da vicino all'esportazione dei dati di ChatGPT. Perch\u00e9 prima di costruire un database della conoscenza, dobbiamo capire come sono strutturati i nostri dati.<\/p>\n<hr \/>\n<h3>Indagine in corso sull'uso dei sistemi di intelligenza artificiale locali<\/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=\"36f617e950e7e1b97c9ea5443fd70727\" data-pid=\"5212\" 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 {\t\t\t\t\t\t\t\t\ttext-align: center;\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\" action=\"\"><input type=\"hidden\" name=\"_token\" value=\"ce84abcbfa\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"076caa76a0fc3b620d1b7f79640ae8a0\" 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;\">Cosa ne pensate del software di intelligenza artificiale in esecuzione locale, come MLX o Ollama?<\/h5><\/div><ul class=\"basic-answers\"><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"45\" data-type=\"text\" data-vn=\"141\" 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;\">Ingenious - finalmente indipendente dal cloud<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"46\" data-type=\"text\" data-vn=\"25\" 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;\">Interessante, ma (ancora) troppo complicato<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"47\" data-type=\"text\" data-vn=\"28\" 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;\">Lo prover\u00f2 presto<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"48\" data-type=\"text\" data-vn=\"5\" 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;\">Non ne ho bisogno: il cloud \u00e8 sufficiente per me.<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"49\" data-type=\"text\" data-vn=\"4\" 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;\">Non so esattamente di cosa si tratti.<\/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;\">Voto<\/a><\/div><input type=\"hidden\" name=\"trp-form-language\" value=\"it\"\/><\/form><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n<hr \/>\n<h2>Preparazione: Comprendere l'esportazione dei dati di ChatGPT<\/h2>\n<p>Nel primo articolo di questa serie, abbiamo gi\u00e0 creato l'esportazione dei dati di ChatGPT e l'abbiamo scaricata come file ZIP. A prima vista, questo file pu\u00f2 sembrare poco spettacolare: un archivio con alcuni file tecnici che inizialmente sembra pi\u00f9 un backup che un prezioso set di dati. Tuttavia, questo archivio contiene la base del nostro intero sistema di conoscenze.<\/p>\n<p>Prima di iniziare a caricare questi dati in un database o a collegarli a un'intelligenza artificiale, dobbiamo innanzitutto capire come \u00e8 strutturato l'export. Infatti, solo se sappiamo quali informazioni sono contenute e come sono strutturate possiamo elaborarle in seguito in modo significativo. In questo capitolo vedremo quindi come \u00e8 strutturata l'esportazione dei dati, quali sono i file veramente rilevanti e come possiamo trasformare questo archivio tecnico in una base utile per il nostro sistema di conoscenza dell'IA.<\/p>\n<h3>Decomprimere il file ZIP<\/h3>\n<p>Il primo passo \u00e8 banale, ma comunque importante: dobbiamo decomprimere l'archivio scaricato. Il file \u00e8 normalmente disponibile come un classico file ZIP. A seconda dell'entit\u00e0 dell'utilizzo precedente, le dimensioni possono variare. Alcuni utenti ricevono un archivio di poche centinaia di megabyte, altri di diversi gigabyte.<\/p>\n<p>Dopo aver scompattato il file, viene creata una cartella con diversi file e sottocartelle. La struttura esatta pu\u00f2 variare leggermente, ma in genere si trovano diversi file JSON ed eventualmente altri file con informazioni aggiuntive.<\/p>\n<p>Per molti utenti, questa struttura appare inizialmente un po' tecnica. Ma se ci si sofferma un attimo, si riconosce subito uno schema: i dati sono organizzati in modo relativamente ordinato e seguono una struttura chiara. \u00c8 una buona notizia, perch\u00e9 \u00e8 proprio questa struttura che consente di elaborare i contenuti in modo automatico.<\/p>\n<h3>Struttura dei dati della chat<\/h3>\n<p>La parte pi\u00f9 importante dell'esportazione \u00e8 costituita dai dati della chat. Queste conversazioni sono solitamente memorizzate in uno o pi\u00f9 file JSON. JSON \u00e8 un formato di dati molto diffuso, spesso utilizzato per memorizzare informazioni strutturate.<\/p>\n<p>Un file di questo tipo non contiene semplicemente un lungo testo. Un dialogo \u00e8 invece suddiviso in singoli elementi. In genere, un dialogo \u00e8 composto da diversi messaggi. Ogni messaggio contiene informazioni quali<\/p>\n<ul>\n<li>il testo effettivo del messaggio<\/li>\n<li>il ruolo del mittente (utente o AI)<\/li>\n<li>una marcatura temporale<\/li>\n<li>in parte ulteriori metadati<\/li>\n<\/ul>\n<p>In questo modo \u00e8 possibile ricostruire l'intero corso del dialogo. Ad esempio, un dialogo inizia con una domanda dell'utente. A questa segue una risposta dell'IA. Possono poi seguire altre domande e risposte. Ognuno di questi messaggi viene salvato singolarmente.<\/p>\n<p>Questo ha un grande vantaggio: possiamo riconoscere in seguito chi ha detto cosa e come si \u00e8 sviluppata una conversazione. Questo \u00e8 particolarmente importante per il nostro sistema di conoscenza, in quanto vogliamo cercare e analizzare in seguito proprio questi contenuti.<\/p>\n<h3>Quali dati ci servono davvero<\/h3>\n<p>Sebbene l'esportazione contenga molte informazioni, non tutte sono necessarie per il nostro sistema di conoscenza. Il componente pi\u00f9 importante \u00e8 costituito dai testi delle conversazioni. Questi testi contengono il contenuto vero e proprio: idee, analisi, domande e risposte. \u00c8 proprio questo contenuto che vogliamo cercare in seguito.<\/p>\n<p>Anche alcuni metadati possono essere utili. Questi includono, ad esempio<\/p>\n<ul>\n<li>Timestamp<\/li>\n<li>Titolo della conversazione<\/li>\n<li>Possibilmente numeri di identificazione interna<\/li>\n<\/ul>\n<p>Queste informazioni ci aiutano a ordinare meglio i contenuti in un secondo momento o a classificare una conversazione in termini di tempo. Altri componenti dell'esportazione sono meno rilevanti per il nostro progetto. Si tratta, ad esempio, di alcuni metadati tecnici che sono interessanti solo per il funzionamento interno della piattaforma.<\/p>\n<p>Per costruire la nostra base di conoscenza, ci concentriamo quindi deliberatamente sull'essenziale: i testi delle conversazioni e alcune informazioni contestuali di base. Quanto pi\u00f9 chiaramente strutturiamo questi dati, tanto meglio la nostra IA potr\u00e0 lavorarci in seguito.<\/p>\n<h3>Prima revisione dei dati<\/h3>\n<p>Prima di iniziare a lavorare con gli script automatici, vale la pena dare una rapida occhiata ai dati stessi. A tale scopo, aprite uno dei file JSON con un semplice editor di testo o con un programma in grado di visualizzare bene i file JSON. Molti editor di codice come Visual Studio Code sono molto adatti a questo scopo, ma anche semplici editor di testo funzionano.<\/p>\n<p>Quando si guarda il file per la prima volta, probabilmente si vedr\u00e0 una quantit\u00e0 relativamente grande di dati strutturati. I file JSON sono costituiti da elementi annidati, ossia campi di dati che a loro volta contengono altri campi. All'inizio pu\u00f2 sembrare un po' complesso, ma con un po' di pazienza si riconoscer\u00e0 rapidamente la struttura di base. Ad esempio, si vedr\u00e0 che una conversazione \u00e8 composta da diversi messaggi e che ogni messaggio rappresenta un oggetto separato. Il testo vero e proprio si trova di solito in un campo chiaramente riconoscibile.<\/p>\n<p>Questo primo screening ha uno scopo importante: aiuta a capire come sono strutturati i dati. Nel prossimo capitolo, infatti, utilizzeremo proprio questa struttura per leggere automaticamente le conversazioni e prepararle per il nostro sistema di conoscenza. In altre parole: Stiamo trasformando passo dopo passo un archivio di dati tecnici in una base di conoscenza utilizzabile. Ed \u00e8 proprio da qui che partiamo nel prossimo capitolo. L'obiettivo \u00e8 quello di estrarre i dati delle chat e prepararli in modo tale da poterli ricercare in seguito in modo efficiente.<\/p>\n<h2>Preparare i dati: Dalle conversazioni ai testi analizzabili<\/h2>\n<p>Dopo aver scompattato l'esportazione dei dati di ChatGPT nel capitolo precedente e aver ottenuto una prima panoramica della struttura, ora inizia la parte tecnica del nostro progetto. Sebbene i dati esportati siano completi, non sono ancora adatti al nostro sistema di conoscenza in questa forma.<\/p>\n<p>Il motivo \u00e8 semplice: le cronologie delle chat sono solitamente lunghe, contengono molti argomenti e sono memorizzate in una struttura leggibile per gli esseri umani, ma non ideale per le ricerche semantiche o i database vettoriali. Per consentire alla nostra IA di trovare contenuti rilevanti in un secondo momento, dobbiamo prima elaborare questi dati grezzi. Questo significa essenzialmente tre cose:<\/p>\n<ol>\n<li>Estrarre le conversazioni dai file JSON<\/li>\n<li>strutturare i testi in modo sensato<\/li>\n<li>dividere i contenuti in sezioni pi\u00f9 piccole<\/li>\n<\/ol>\n<p>Questo processo \u00e8 una fase del tutto normale nei moderni sistemi di intelligenza artificiale e viene spesso definito preelaborazione.<\/p>\n<h3>Perch\u00e9 i dati grezzi non sono direttamente adatti<\/h3>\n<p>Se si d\u00e0 un'occhiata a uno dei file JSON, si noter\u00e0 che una singola chat \u00e8 spesso composta da molti messaggi. Un dialogo tipico pu\u00f2 apparire come questo, ad esempio:<\/p>\n<ul>\n<li>Domanda<\/li>\n<li>Risposta<\/li>\n<li>Richiesta<\/li>\n<li>nuova dichiarazione<\/li>\n<li>ulteriori dettagli<\/li>\n<li>Sintesi<\/li>\n<\/ul>\n<p>Alcune conversazioni possono contenere centinaia o addirittura migliaia di parole. Questo non \u00e8 un problema per gli esseri umani. Noi leggiamo semplicemente un dialogo dall'inizio alla fine.<\/p>\n<p>Tuttavia, questo funziona meno bene per una ricerca AI. Il motivo \u00e8 che una singola chat spesso contiene diversi argomenti. Se in seguito effettuiamo una ricerca semantica, il sistema deve trovare passaggi di testo il pi\u00f9 precisi possibile, non intere conversazioni con molti contenuti diversi.<\/p>\n<p>Per questo motivo i testi di grandi dimensioni vengono suddivisi in sezioni pi\u00f9 piccole. Queste sezioni sono chiamate \"chunks\". Un pezzo \u00e8 semplicemente un piccolo blocco di testo che contiene un pensiero coerente. Questo metodo migliora notevolmente la qualit\u00e0 della ricerca in seguito.<\/p>\n<h3>Estrarre la cronologia delle chat<\/h3>\n<p>Il primo passo pratico consiste nel leggere il contenuto dei file JSON. A tale scopo utilizziamo un piccolo script Python. Python \u00e8 particolarmente adatto a questo tipo di compiti perch\u00e9 contiene molte librerie per l'elaborazione dei dati e l'intelligenza artificiale.<\/p>\n<p>Creare prima un nuovo file, ad esempio:<\/p>\n<p><code class=\"notranslate\" data-no-translation=\"\">extract_chats.py<\/code><\/p>\n<p>Poi aggiungiamo un semplice script che carica i dati della chat.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Quando si esegue questo script, si dovrebbe vedere quante conversazioni sono contenute nell'esportazione. Ora estraiamo i testi veri e propri.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Questo script scorre la struttura JSON e raccoglie tutte le parti di testo delle conversazioni. Questo significa che abbiamo gi\u00e0 completato la parte pi\u00f9 importante: abbiamo estratto il contenuto dal formato tecnico di esportazione.<\/p>\n<h3>Creare pezzi di testo<\/h3>\n<p>Ora viene il prossimo passo importante: il chunking. Invece di salvare conversazioni complete, dividiamo i testi in sezioni pi\u00f9 piccole.<br \/>\nLe dimensioni tipiche di queste sezioni di testo sono comprese tra 300 e 800 parole o circa 500 token. Di seguito \u00e8 riportato un semplice esempio di come suddividere i testi in parti.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Ora possiamo applicare questa funzione ai nostri testi.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Abbiamo creato molte sezioni di testo pi\u00f9 piccole dalle nostre cronologie di chat. Questi blocchi di testo sono ideali per una successiva ricerca in un database vettoriale.<\/p>\n<h3>Aggiungere metadati<\/h3>\n<p>Oltre al testo vero e proprio, possono essere molto utili ulteriori informazioni. Questi cosiddetti metadati ci aiutano a ordinare o filtrare meglio i contenuti in un secondo momento. I metadati tipici possono essere<\/p>\n<ul>\n<li>Data della conversazione<\/li>\n<li>Titolo della conversazione<\/li>\n<li>Fonte (esportazione ChatGPT)<\/li>\n<li>ID della chiamata<\/li>\n<\/ul>\n<p>Possiamo salvare queste informazioni insieme al testo, ad esempio in questo modo:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Questo ha gi\u00e0 dato ai nostri dati una struttura molto migliore. Invece di un confuso archivio di chat, ora abbiamo una raccolta di tante piccole sezioni di testo, ognuna delle quali \u00e8 corredata di informazioni contestuali.<\/p>\n<p>\u00c8 proprio questa struttura che sar\u00e0 cruciale nella fase successiva. Perch\u00e9 ora possiamo iniziare a generare embeddings da questi testi, cio\u00e8 rappresentazioni matematiche del contenuto che saranno poi salvate nel nostro database vettoriale. Ed \u00e8 proprio questo l'obiettivo del prossimo capitolo.<\/p>\n<h2>Creare le incorporazioni<\/h2>\n<p>Nel capitolo precedente, abbiamo gi\u00e0 messo i dati di ChatGPT in una forma utilizzabile. Abbiamo estratto le conversazioni dai file JSON, ripulito i testi e li abbiamo suddivisi in sezioni pi\u00f9 piccole, i cosiddetti chunks.<\/p>\n<p>Tuttavia, manca ancora un passaggio cruciale prima che la nostra IA possa davvero cercare contenuti in modo significativo. I testi devono essere tradotti in una forma che le macchine possano confrontare. \u00c8 qui che entrano in gioco le incorporazioni.<\/p>\n<p>Le incorporazioni sono rappresentazioni matematiche dei testi. Consentono ai computer di confrontare il significato dei testi. Due testi con contenuti simili ricevono vettori simili, anche se usano parole diverse. Questa \u00e8 proprio la propriet\u00e0 di cui abbiamo bisogno per il nostro sistema di conoscenza. Dopo tutto, la nostra IA non deve solo cercare parole identiche, ma anche testi con contenuti simili.<\/p>\n<h3>Cosa sono le incorporazioni<\/h3>\n<p>Un embedding \u00e8 fondamentalmente un elenco di numeri. Questi numeri descrivono il significato di un testo in uno spazio matematico. Ogni testo viene convertito in un cosiddetto vettore. Un vettore di questo tipo pu\u00f2 apparire, ad esempio, come segue:<\/p>\n<p><code data-no-translation=\"\">[0.134, -0.876, 0.442, 0.921, -0.223, ...]<\/code><\/p>\n<p>Un singolo vettore pu\u00f2 contenere diverse centinaia o addirittura migliaia di numeri. Questi numeri, ovviamente, non sono direttamente comprensibili per gli esseri umani. Per le macchine, tuttavia, sono ideali per calcolare le somiglianze tra i testi. Se due testi hanno contenuti simili, i loro vettori sono pi\u00f9 vicini nello spazio matematico. Un esempio:<\/p>\n<ul>\n<li><strong>Testo A<\/strong>\u201eCome posso esportare i miei dati ChatGPT?\u201c.\u201c<\/li>\n<li><strong>Testo B<\/strong>: \u201eCome faccio a scaricare le mie conversazioni ChatGPT?\u201c.\u201c<\/li>\n<\/ul>\n<p>Sebbene la formulazione sia diversa, entrambi i testi descrivono fondamentalmente lo stesso argomento. Un buon modello di incorporazione riconosce questa somiglianza. I due testi ricevono quindi vettori simili. In seguito utilizzeremo proprio questo principio per la nostra ricerca semantica.<\/p>\n<h3>Modelli di integrazione con Ollama<\/h3>\n<p>Abbiamo bisogno di un modello speciale per creare le incorporazioni. Fortunatamente, non \u00e8 necessario ricorrere a servizi cloud esterni. Molti modelli di embedding possono essere gestiti localmente, ed \u00e8 qui che entra in gioco l'Ollama.<\/p>\n<p>Dato che l'Ollama \u00e8 gi\u00e0 in esecuzione sul sistema, possiamo incorporare un modello install. Un ottimo modello \u00e8, ad esempio, il seguente:<\/p>\n<p><code data-no-translation=\"\">nomic-embed-text<\/code><\/p>\n<p>\u00c8 possibile addomesticarlo con il seguente comando 1TP12:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">ollama pull nomic-embed-text<\/pre>\n<p>Altri modelli popolari sono<\/p>\n<ul>\n<li>mxbai-embed-grande<\/li>\n<li>bge-grande<\/li>\n<li>tutti i film<\/li>\n<\/ul>\n<p>Per i nostri scopi <em>testo incorporato nomico<\/em> \u00e8 un ottimo punto di partenza. Questo modello genera embeddings di alta qualit\u00e0 e funziona localmente senza problemi.<\/p>\n<h3>Creare le incorporazioni localmente<\/h3>\n<p>Ora vogliamo estendere il nostro script Python in modo che possa generare embeddings. Per prima cosa 1TP12Creiamo una libreria con cui Python possa comunicare con Ollama.<\/p>\n<p>pip install ollama<\/p>\n<p>Ora \u00e8 possibile utilizzare il modello di incorporazione direttamente da Python. Il seguente \u00e8 un semplice esempio:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Se tutto ha funzionato, si otterr\u00e0 un vettore con diverse centinaia di numeri.<br \/>\nOra applichiamo questo metodo ai nostri chunk di chat.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Questo viene utilizzato per creare un vettore per ogni sezione di testo. Questi vettori vengono poi salvati nel nostro database.<\/p>\n<h3>Perch\u00e9 questa fase \u00e8 fondamentale<\/h3>\n<p>Gli embeddings sono il cuore dei moderni sistemi di conoscenza. Senza embedding, potremmo cercare nei testi solo con la classica ricerca per parole chiave. Ci\u00f2 significa che il sistema troverebbe solo contenuti che contengono esattamente le stesse parole. Ma il linguaggio raramente funziona in modo cos\u00ec semplice. Ad esempio, un utente potrebbe chiedere:<\/p>\n<blockquote><p><em>\u201eCome ho elaborato i miei dati ChatGPT?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>Tuttavia, la conversazione originale potrebbe essere formulata come:<\/p>\n<blockquote><p><em>\u201eCome posso analizzare l'esportazione dei dati di ChatGPT?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>Una semplice ricerca potrebbe non riconoscere questo collegamento. Con le incorporazioni \u00e8 diverso. Poich\u00e9 i due testi hanno significati simili, i loro vettori sono vicini nello spazio matematico. Il nostro database pu\u00f2 quindi trovare contenuti corrispondenti, anche se la formulazione \u00e8 diversa. \u00c8 proprio questa capacit\u00e0 che rende la ricerca semantica cos\u00ec potente. Permette a un'intelligenza artificiale di cercare non solo le parole, ma anche il significato.<\/p>\n<p>Ed \u00e8 proprio per questo che le incorporazioni sono l'elemento centrale del nostro sistema. Nel prossimo capitolo, ci baseremo su questo e installiereneremo il nostro database di vettori. In esso memorizzeremo i vettori generati, creando cos\u00ec la base per la nostra IA della conoscenza personale.<\/p>\n<h2>Qdrant 1TP12Aggiungi e configura<\/h2>\n<p>Dopo aver creato le incorporazioni per i nostri dati di chat nel capitolo precedente, abbiamo ora una collezione di sezioni di testo e vettori associati. Questi vettori descrivono matematicamente il significato dei testi e costituiscono quindi la base per una ricerca semantica. Tuttavia, questi dati sono attualmente disponibili solo nella memoria di lavoro del nostro script o in semplici elenchi. Abbiamo bisogno di una memoria specializzata in modo che la nostra IA possa accedervi in modo efficiente in seguito.<\/p>\n<p>\u00c8 proprio qui che entra in gioco un database vettoriale. Un database vettoriale \u00e8 ottimizzato per memorizzare grandi quantit\u00e0 di tali incorporazioni e cercare rapidamente vettori simili. Per il nostro progetto utilizziamo Qdrant, un moderno database open-source sviluppato appositamente per le applicazioni di intelligenza artificiale.<\/p>\n<p>In questo capitolo 1TP12 installeremo Qdrant, avvieremo il server e prepareremo il database in modo da poter importare facilmente i dati della chat in seguito.<\/p>\n<h3>Cos'\u00e8 Qdrant<\/h3>\n<p>Qdrant \u00e8 un database specializzato per le cosiddette ricerche vettoriali. Mentre i database tradizionali memorizzano le informazioni in tabelle, come nomi, numeri o testi, un database vettoriale lavora con rappresentazioni matematiche dei dati.<\/p>\n<p>Ci\u00f2 significa che, invece di salvare solo il testo, Qdrant salva le incorporazioni associate. Il grande vantaggio sta nella ricerca. Se in seguito viene posta una domanda, il nostro sistema converte anche questa domanda in un vettore. Qdrant pu\u00f2 quindi calcolare alla velocit\u00e0 della luce quali sono i testi memorizzati pi\u00f9 simili a questo vettore. In questo modo \u00e8 possibile scoprire, ad esempio, quali sono i testi pi\u00f9 simili a questo vettore:<\/p>\n<ul>\n<li>quali passaggi della chat corrispondono tematicamente alla domanda<\/li>\n<li>quali conversazioni precedenti contengono contenuti simili<\/li>\n<li>quali idee potrebbero essere rilevanti nel vostro archivio<\/li>\n<\/ul>\n<p>Proprio per questo motivo Qdrant \u00e8 oggi utilizzato in molti moderni sistemi di intelligenza artificiale, dalla ricerca di documenti a complessi assistenti alla conoscenza. Un altro vantaggio: Qdrant \u00e8 open source, viene rapidamente 1TP12alizzato e funziona senza problemi su una normale macchina locale.<\/p>\n<h3>Installazione di Qdrant<\/h3>\n<p>Il modo pi\u00f9 semplice per installieren Qdrant \u00e8 tramite Docker. Se Docker \u00e8 disponibile sul vostro computer, potete avviare il server con un solo comando. Qui \u00e8 possibile <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\"><strong>Scaricare Docker<\/strong><\/a>, se non \u00e8 ancora stato installato sul computer installiert.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 qdrant\/qdrant<\/pre>\n<p>Questo comando avvia il server Qdrant e apre la porta standard 6333. I nostri script possono successivamente comunicare con il database attraverso questa porta.<\/p>\n<p>Se non si desidera utilizzare Docker, esistono anche altri modi per installiere Qdrant, ad esempio tramite un binario locale o un gestore di pacchetti. In molti progetti pratici, tuttavia, Docker si \u00e8 dimostrato l'opzione pi\u00f9 semplice e stabile.<\/p>\n<p>Dopo l'avvio del server, Qdrant viene eseguito in background e attende le richieste. \u00c8 ora possibile verificare se il server \u00e8 accessibile. A tal fine, aprire il seguente indirizzo nel browser:<\/p>\n<p><code data-no-translation=\"\">http:\/\/localhost:6333<\/code><\/p>\n<p>Se tutto ha funzionato, dovrebbe apparire un semplice messaggio di stato. Il server \u00e8 ora pronto per le fasi successive.<\/p>\n<h3>Primi passi con Qdrant<\/h3>\n<p>Prima di importare i dati della chat, \u00e8 necessario creare una cosiddetta raccolta. In Qdrant, una collezione \u00e8 paragonabile a una tabella in un database classico. Contiene i nostri vettori e i dati corrispondenti.<\/p>\n<p>Per prima cosa, abbiamo installiere la libreria Python per Qdrant:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">pip install qdrant-client<\/pre>\n<p>Ora possiamo stabilire una connessione al database nel nostro script Python.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">from qdrant_client import QdrantClient\r\nclient = QdrantClient(\"localhost\", port=6333)<\/pre>\n<p>Se questo codice viene eseguito senza un messaggio di errore, la connessione \u00e8 riuscita. Ora creiamo una collezione per i dati della chat.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>I parametri pi\u00f9 importanti sono<\/p>\n<ul>\n<li><strong>nome_raccolta<\/strong> - il nome del nostro database<\/li>\n<li><strong>dimensione<\/strong> - la lunghezza dei vettori di incorporazione<\/li>\n<li><strong>distanza<\/strong> - il metodo di calcolo della somiglianza<\/li>\n<\/ul>\n<p>La dimensione del vettore dipende dal modello di incorporazione utilizzato. Molti modelli lavorano con vettori di 768 o 1024 dimensioni. La funzione di distanza coseno \u00e8 uno dei metodi pi\u00f9 comuni per calcolare le somiglianze tra i testi. Il nostro database \u00e8 ora pronto per l'uso.<\/p>\n<h3>Struttura dei dati del piano<\/h3>\n<p>Prima di importare i dati, \u00e8 opportuno dare una rapida occhiata alla struttura che vogliamo salvare. Ogni voce del nostro database vettoriale sar\u00e0 costituita da diversi componenti:<\/p>\n<ul>\n<li><strong>ID<\/strong> - un identificatore unico<\/li>\n<li><strong>Incorporazione<\/strong> - il vettore del testo<\/li>\n<li><strong>Carico utile<\/strong> - Informazioni aggiuntive sul testo<\/li>\n<\/ul>\n<p>Il carico utile pu\u00f2 contenere, ad esempio<\/p>\n<ul>\n<li>il testo originale<\/li>\n<li>il titolo della conversazione<\/li>\n<li>la data<\/li>\n<li>altri metadati<\/li>\n<\/ul>\n<p>Un esempio di record di dati potrebbe essere il seguente:<\/p>\n<p><code data-no-translation=\"\">{<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>Questa struttura presenta un grande vantaggio. I vettori sono utilizzati per la ricerca semantica, mentre il payload contiene tutte le informazioni che vogliamo visualizzare o analizzare in seguito. Ci\u00f2 significa che il nostro sistema rimane flessibile e pu\u00f2 essere facilmente ampliato in seguito.<\/p>\n<p>Ci\u00f2 significa che la parte pi\u00f9 importante dell'infrastruttura \u00e8 gi\u00e0 pronta. Il nostro server Qdrant \u00e8 in funzione, il database \u00e8 configurato e sappiamo quale struttura avranno i nostri dati. Nel prossimo capitolo, inizieremo con il passo cruciale: importare i dati di ChatGPT nel database e trasformare il nostro archivio di conversazioni in una base di conoscenza reale e ricercabile.<\/p>\n<h2>Importare i dati di ChatGPT in Qdrant<\/h2>\n<p>Dopo aver creato Qdrant installiert e una collezione nel capitolo precedente, \u00e8 stata creata la base tecnica per il nostro database della conoscenza. I nostri embeddings esistono gi\u00e0 - li abbiamo creati dai dati di ChatGPT - e Qdrant \u00e8 in esecuzione come server di database sulla nostra macchina.<\/p>\n<p>Ora arriva la fase cruciale: carichiamo i nostri dati nel database. Non salviamo solo i vettori stessi, ma anche i testi e i metadati associati. Questa combinazione permette alla nostra IA di trovare in seguito i contenuti rilevanti e di utilizzarli nelle risposte. In questo capitolo costruiamo la base di conoscenza del nostro sistema.<\/p>\n<h3>Salvare le incorporazioni<\/h3>\n<p>In primo luogo, dobbiamo trasferire le nostre incorporazioni generate nel database. Ogni voce di Qdrant \u00e8 composta da tre componenti:<\/p>\n<ul>\n<li>un ID<\/li>\n<li>un vettore (incorporazione)<\/li>\n<li>un carico utile con dati aggiuntivi<\/li>\n<\/ul>\n<p>Nel nostro caso, ad esempio, il payload contiene<\/p>\n<ul>\n<li>la sezione testo<\/li>\n<li>il titolo della conversazione<\/li>\n<li>Eventualmente ulteriori metadati<\/li>\n<\/ul>\n<p>In Python, possiamo preparare questa struttura in modo relativamente semplice. Un esempio:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Questo genera un elenco di punti dati che possiamo salvare in Qdrant. Ogni punto dati contiene quindi una sezione di testo, il vettore corrispondente e informazioni aggiuntive sul contesto. Questa struttura costituir\u00e0 in seguito la base della nostra ricerca semantica.<\/p>\n<h3>Creare uno script di importazione<\/h3>\n<p>Ora colleghiamo il nostro script Python a Qdrant e trasferiamo i dati. Per farlo, utilizziamo il client Qdrant Python, che abbiamo analizzato nel precedente capitolo 1TP12. L'importazione pu\u00f2 assomigliare a questa, ad esempio:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Il comando upsert assicura che i dati siano salvati nella raccolta. Se un ID esiste gi\u00e0, la voce viene aggiornata. Altrimenti, viene creato un nuovo record di dati. A seconda delle dimensioni dell'esportazione di ChatGPT, questa importazione pu\u00f2 richiedere alcuni secondi o minuti. Questo \u00e8 del tutto normale per i set di dati pi\u00f9 grandi, come ad esempio diverse migliaia di sezioni di testo.<\/p>\n<h3>Database di prova<\/h3>\n<p>Una volta completata l'importazione, occorre verificare che i dati siano stati salvati correttamente. Il test pi\u00f9 semplice consiste nell'eseguire una ricerca vettoriale. Per farlo, si crea innanzitutto un embedding per una domanda di prova.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Ora possiamo cercare in Qdrant vettori simili.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">search_result = client.search(\r\ncollection_name=\"chatgpt_archive\",\r\nquery_vector=query_vector,\r\nlimit=3\r\n)<\/pre>\n<p>Questo comando restituisce le tre sezioni di testo pi\u00f9 simili del nostro database. Ad esempio, si pu\u00f2 ottenere un risultato come questo:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">for result in search_result:\r\nprint(result.payload[\"text\"])\r\nprint(\"---\")<\/pre>\n<p>Se tutto ha funzionato, ora appariranno le sezioni di chat del vostro archivio che corrispondono alla query di ricerca. Ora lo sappiamo: Il nostro database funziona.<\/p>\n<h3>Prima valutazione delle prestazioni<\/h3>\n<p>Questo momento \u00e8 uno degli aspetti pi\u00f9 emozionanti dell'intero progetto. Per la prima volta, diventa evidente che il nostro archivio di chat pu\u00f2 essere utilizzato come fonte di conoscenza. \u00c8 ora possibile provare diverse query di ricerca. Ad esempio:<\/p>\n<ul>\n<li>\u201eArticolo di AI\u201c<\/li>\n<li>\u201eSistema RAG\u201c<\/li>\n<li>\u201eEsportazione dati ChatGPT\u201c<\/li>\n<li>\u201eIdea di strategia\u201c<\/li>\n<\/ul>\n<p>A seconda del contenuto della cronologia delle chat, Qdrant trover\u00e0 i passaggi di testo adatti. A volte sarete sorpresi dal contenuto che riemerge. Conversazioni dimenticate da tempo possono improvvisamente diventare di nuovo rilevanti. Questo dimostra chiaramente perch\u00e9 questo approccio \u00e8 cos\u00ec interessante. Le vostre vecchie conversazioni AI non sono pi\u00f9 solo un archivio. Diventano una base di conoscenza ricercabile.<\/p>\n<p>Abbiamo cos\u00ec raggiunto un importante traguardo. I nostri dati ChatGPT sono ora completamente memorizzati nel database vettoriale e possono essere ricercati semanticamente. Nel prossimo capitolo faremo un ulteriore passo avanti: collegheremo il nostro database di conoscenze con l'IA stessa. Questo permetter\u00e0 al modello linguistico di accedere a questi dati in futuro e di incorporarli direttamente nelle risposte.<\/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=\"Cruscotto Qdrant su 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\">Cruscotto Qdrant su http:\/\/localhost:6333\/dashboard<\/figcaption><\/figure>\n<h2>Collegare l'IA con la banca dati della conoscenza<\/h2>\n<p>Fino a questo punto, abbiamo gi\u00e0 costruito gran parte dell'infrastruttura. I nostri dati ChatGPT sono stati estratti dall'esportazione, suddivisi in sezioni di testo pi\u00f9 piccole, incorporati e infine archiviati nel database vettoriale Qdrant.<\/p>\n<p>Tuttavia, la nostra IA non lavora ancora con questi dati. Anche se possiamo eseguire una ricerca vettoriale con Python e trovare passaggi di testo adatti, l'IA stessa non ne \u00e8 ancora consapevole. Quando le poniamo una domanda, utilizza ancora solo le sue conoscenze linguistiche generali.<\/p>\n<p>Il passo successivo \u00e8 quindi quello di collegare questi due mondi. Stiamo costruendo un processo in cui l'IA riceve prima i contenuti rilevanti dal database della conoscenza e poi li incorpora nella sua risposta. \u00c8 proprio questo il cuore di un sistema RAG.<\/p>\n<h3>Procedura di richiesta<\/h3>\n<p>Il processo di una richiesta di informazioni cambia leggermente grazie al nostro sistema di conoscenza. Finora, una conversazione con un'intelligenza artificiale si svolgeva generalmente in questo modo:<\/p>\n<ol>\n<li>Fai una domanda \u2192<\/li>\n<li>L'intelligenza artificiale elabora la domanda \u2192<\/li>\n<li>l'IA genera una risposta.<\/li>\n<\/ol>\n<p>Un database di conoscenze \u00e8 un passo ulteriore. Il nuovo processo si presenta come segue:<\/p>\n<ol>\n<li>Fai una domanda \u2192<\/li>\n<li>la domanda viene convertita in un incorporamento \u2192<\/li>\n<li>il database vettoriale cerca testi simili \u2192<\/li>\n<li>Questi testi vengono trasferiti all'IA come contesto \u2192<\/li>\n<\/ol>\n<p>l'IA formula una risposta. Ci\u00f2 significa che l'IA non lavora pi\u00f9 solo con le sue conoscenze addestrate, ma anche con i dati dell'utente. Questo contesto rende spesso le risposte molto pi\u00f9 precise e personalizzate.<\/p>\n<h3>Fase di recupero<\/h3>\n<p>La prima parte di questo processo \u00e8 nota come retrieval. Recupero significa semplicemente \u201erecuperare\u201c. In questa fase, il nostro sistema cerca nel database i contenuti che corrispondono all'argomento della domanda. Per prima cosa, creiamo un altro incorporamento per la domanda corrente.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Questo incorporamento descrive il significato della domanda in forma matematica. Qdrant pu\u00f2 ora cercare vettori simili.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">results = client.search(\r\ncollection_name=\"chatgpt_archive\",\r\nquery_vector=query_vector,\r\nlimit=5\r\n)<\/pre>\n<p>Il database restituisce ora i cinque brani di testo che meglio corrispondono alla domanda. Questi passaggi di testo costituiscono il contesto dell'IA. Li raccogliamo in un elenco.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">context_texts = []\r\nfor r in results:\r\ncontext_texts.append(r.payload[\"text\"])<\/pre>\n<p>Ora abbiamo una raccolta di contenuti rilevanti dal nostro archivio di chat.<\/p>\n<h3>Trasferimento del contesto all'Ollama<\/h3>\n<p>Ora arriva il passo decisivo. Passiamo questo contesto, insieme alla domanda originale, al nostro modello linguistico. Il modello pu\u00f2 ora utilizzare queste informazioni per formulare una risposta.<\/p>\n<p>Per prima cosa, costruiamo un cosiddetto prompt. Un prompt \u00e8 semplicemente il testo che inviamo all'intelligenza artificiale.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>Ora inviamo questa richiesta al nostro modello linguistico in Ollama.<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">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>L'intelligenza artificiale riceve ora sia la domanda che i passaggi di testo rilevanti dal nostro database. Questo le consente di generare risposte basate sui nostri dati.<\/p>\n<h3>Generazione di risposte<\/h3>\n<p>L'ultima fase \u00e8 la generazione della risposta vera e propria. Il modello linguistico combina ora due fonti di conoscenza:<\/p>\n<p>la propria conoscenza specializzata<\/p>\n<p>il contesto dal nostro database di conoscenze<\/p>\n<p>Questa combinazione \u00e8 particolarmente potente. Il modello pu\u00f2 spiegare relazioni generali e allo stesso tempo incorporare contenuti specifici dal nostro archivio. Un esempio: Se si chiede:<\/p>\n<blockquote><p><em>\u201eQuali idee ho avuto per utilizzare l'esportazione dei dati di ChatGPT?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>l'intelligenza artificiale pu\u00f2 ora accedere alle conversazioni precedenti e creare un riassunto strutturato a partire da esse. Ad esempio, pu\u00f2 rispondere:<\/p>\n<ul>\n<li>Lei ha parlato di costruire un archivio di conoscenze personali<\/li>\n<li>Si voleva sviluppare un'intelligenza artificiale locale con un sistema RAG<\/li>\n<li>Avete sviluppato l'idea di una serie di articoli<\/li>\n<\/ul>\n<p>Senza la fase di recupero, l'IA non avrebbe conosciuto queste informazioni. Con il nostro sistema, l'archivio delle chat diventa una vera e propria fonte di conoscenza. Questo completa la parte pi\u00f9 importante del nostro sistema. Ora abbiamo:<\/p>\n<ul>\n<li>un'intelligenza artificiale locale tramite Ollama<\/li>\n<li>un database vettoriale con i dati delle nostre chat<\/li>\n<li>una ricerca semantica<\/li>\n<li>un flusso di lavoro RAG<\/li>\n<\/ul>\n<p>Nel prossimo capitolo testeremo questo sistema nella pratica e vedremo quanto funziona effettivamente la nostra IA della conoscenza personale.<\/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=\"Terminale dopo l&#039;importazione dei dati ChatGPT\" 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\">Terminale dopo l'importazione dei dati ChatGPT<\/figcaption><\/figure>\n<h2>Prima interrogazioni con la vostra conoscenza personale AI<\/h2>\n<p>Ora che abbiamo stabilito la connessione tra la nostra IA e il database della conoscenza nel capitolo precedente, il sistema \u00e8 tecnicamente completo. I nostri dati ChatGPT sono nel database vettoriale, l'IA pu\u00f2 recuperare i contenuti rilevanti e l'intero processo di un sistema RAG funziona.<\/p>\n<p>Ora arriva la parte pi\u00f9 emozionante del progetto: le prime vere interrogazioni. Solo ora, infatti, potremo verificare se il nostro sistema fa effettivamente ci\u00f2 che ci auguriamo: trovare conversazioni precedenti, analizzare i contenuti e generare risposte significative. In questo capitolo testiamo la nostra Knowledge AI, esaminiamo casi d'uso tipici e diamo un'occhiata alle possibili ottimizzazioni.<\/p>\n<h3>Esempi di query<\/h3>\n<p>Cominciamo con alcune semplici domande. Una buona strategia \u00e8 quella di iniziare a porre le domande che sapete essere presenti nel vostro archivio di chat. Ad esempio:<\/p>\n<blockquote><p><em>\u201eQuali idee ho avuto per utilizzare l'esportazione dei dati di ChatGPT?\u201c.\u201c<\/em><br \/>\n<em>\u201eCosa ho scritto sui sistemi RAG?\u201c.\u201c<\/em><br \/>\n<em>\u201eQuali strategie ho discusso per utilizzare l'IA?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>Queste domande contengono volutamente formulazioni aperte. L'obiettivo non \u00e8 trovare un testo specifico, ma scoprire un contenuto tematicamente appropriato. Quando si pone una domanda di questo tipo al sistema, il processo che abbiamo impostato nel capitolo precedente avviene in background:<\/p>\n<ol>\n<li>La domanda viene convertita in un incorporamento.<\/li>\n<li>Il database vettoriale cerca sezioni di testo simili.<\/li>\n<li>Questi passaggi di testo vengono trasferiti all'IA come contesto.<\/li>\n<li>L'IA genera una risposta basata su questo contesto.<\/li>\n<\/ol>\n<p>Il risultato pu\u00f2 essere sorprendente. Spesso saltano fuori conversazioni dimenticate da tempo. Vecchie idee riappaiono improvvisamente sullo schermo, a volte anche in un contesto completamente nuovo.<\/p>\n<p>\u00c8 proprio questo il punto di forza di questo approccio. Il vostro archivio di chat diventa una fonte di conoscenza ricercabile.<\/p>\n<h3>Qualit\u00e0 delle risposte<\/h3>\n<p>Se provate a fare qualche domanda, vi accorgerete che la qualit\u00e0 delle risposte pu\u00f2 variare. Questo \u00e8 del tutto normale. La qualit\u00e0 di un sistema di questo tipo dipende da diversi fattori. Un fattore importante \u00e8 la dimensione delle sezioni di testo. Se le sezioni sono troppo grandi, possono contenere diversi argomenti. Ci\u00f2 rende la ricerca meno accurata.<\/p>\n<p>Tuttavia, se i pezzi sono troppo piccoli, a volte manca il contesto necessario. Un altro fattore \u00e8 il modello di incorporazione. I diversi modelli riconoscono i contesti di significato in modo diverso. Alcuni sono particolarmente adatti per i testi tecnici, altri per il linguaggio generale.<\/p>\n<p>Anche il numero di risultati recuperati gioca un ruolo importante. Ad esempio, se si recuperano solo due passaggi di testo, potrebbero mancare informazioni importanti. Se invece vengono caricati troppi testi, l'intelligenza artificiale potrebbe avere difficolt\u00e0 a riconoscere il contesto rilevante.<\/p>\n<p>Questi parametri possono essere facilmente regolati in seguito. La cosa pi\u00f9 importante \u00e8 avere un sistema di base funzionante.<\/p>\n<h3>Problemi tipici<\/h3>\n<p>Come per ogni sistema tecnico, anche in questo caso possono verificarsi alcune difficolt\u00e0. Un problema comune \u00e8 che il database trova testi solo parzialmente rilevanti. Questo perch\u00e9 la ricerca semantica lavora sempre con le probabilit\u00e0.<\/p>\n<p>Un altro problema pu\u00f2 sorgere se i testi sono stati frammentati troppo. Se un pensiero \u00e8 suddiviso in pi\u00f9 parti, l'intelligenza artificiale pu\u00f2 avere difficolt\u00e0 a riconoscere il contesto.<\/p>\n<p>Anche la richiesta gioca un ruolo importante. Se la richiesta \u00e8 poco chiara, l'intelligenza artificiale potrebbe non sfruttare al meglio il contesto. Un esempio di prompt migliore potrebbe essere il seguente:<\/p>\n<blockquote><p><em>Utilizzate i seguenti estratti di testo dal mio archivio di conoscenze,<\/em><br \/>\n<em>rispondere alla domanda nel modo pi\u00f9 preciso possibile.<\/em><br \/>\n<em>Se sono disponibili contenuti rilevanti, riassumerli.<\/em><\/p><\/blockquote>\n<p>Questi piccoli aggiustamenti possono migliorare significativamente la qualit\u00e0 delle risposte.<\/p>\n<h3>Sintonizzazione fine<\/h3>\n<p>Non appena il sistema \u00e8 sostanzialmente funzionante, inizia la parte pi\u00f9 interessante: la messa a punto. Qui \u00e8 possibile sperimentare e migliorare il sistema di conoscenza passo dopo passo. Alcune ottimizzazioni tipiche sono<\/p>\n<ul>\n<li><strong>Regolazione della dimensione dei pezzi<\/strong><br \/>\nA volte sezioni di testo pi\u00f9 piccole forniscono risultati migliori. In altri casi, \u00e8 utile un contesto pi\u00f9 ampio.<\/li>\n<li><strong>Utilizzo di un modello di incorporazione diverso<\/strong><br \/>\nLa modifica del modello pu\u00f2 migliorare significativamente la qualit\u00e0 della ricerca semantica.<\/li>\n<li><strong>Pi\u00f9 contesto per l'IA<\/strong><br \/>\n\u00c8 possibile recuperare pi\u00f9 risultati dal database, ad esempio dieci passaggi di testo invece di cinque.<\/li>\n<li><strong>Utilizzare i metadati<\/strong><br \/>\nSe si salvano informazioni aggiuntive, come la data o il titolo della chiamata, \u00e8 possibile filtrare la ricerca in modo pi\u00f9 preciso in un secondo momento.<\/li>\n<\/ul>\n<p>Queste regolazioni fanno parte di ogni vero sistema RAG. Raramente esiste un'impostazione perfetta per tutte le situazioni. Ma \u00e8 proprio questo il fascino di tali sistemi: possono essere continuamente migliorati.<\/p>\n<p>Con questo capitolo abbiamo condotto il primo test completo del nostro sistema. Abbiamo visto che la nostra IA della conoscenza personale \u00e8 effettivamente in grado di cercare tra le vecchie conversazioni e di recuperare i contenuti rilevanti.<\/p>\n<p>Ci\u00f2 significa che il nucleo del nostro progetto \u00e8 gi\u00e0 stato realizzato. Ma il sistema pu\u00f2 ancora essere ampliato in modo considerevole. Nel prossimo capitolo vedremo quindi come integrare altre fonti di dati e come ampliare passo dopo passo il vostro archivio di conoscenze personali.<\/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-156 { --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-156 { --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\">Articoli attuali sulla Germania<\/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-156\" 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=\"vom ende der wehrpflicht bis zu schulstreiks: die neue debatte \u00fcber bundeswehr und bildung\" data-id=\"5147\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"deutschland europa geopolitik krisen meinungsfreiheit 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\/2026\/03\/dalla-fine-del-servizio-militare-obbligatorio-agli-scioperi-scolastici-il-nuovo-dibattito-sulle-forze-armate-tedesche-e-listruzione\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Dalla fine del servizio militare obbligatorio agli scioperi scolastici: il nuovo dibattito su Bundeswehr e istruzione<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Scioperi scolastici sul servizio militare obbligatorio e la Bundeswehr nelle scuole\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Wehrpflicht-Schulstreiks.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Wehrpflicht-Schulstreiks.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Wehrpflicht-Schulstreiks-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Wehrpflicht-Schulstreiks-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Wehrpflicht-Schulstreiks-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\/dalla-fine-del-servizio-militare-obbligatorio-agli-scioperi-scolastici-il-nuovo-dibattito-sulle-forze-armate-tedesche-e-listruzione\/\" rel=\"bookmark\">Dalla fine del servizio militare obbligatorio agli scioperi scolastici: il nuovo dibattito su Bundeswehr e istruzione<\/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\/obiezione-di-coscienza-al-servizio-militare-cosa-fare-in-caso-di-emergenza\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Idoneit\u00e0 alla guerra, arruolamento e rifiuto: cosa fare in caso di emergenza<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1536\" height=\"1024\" class=\"attachment-full size-full\" alt=\"Coscrizione: rifiutare il servizio militare\" 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\/obiezione-di-coscienza-al-servizio-militare-cosa-fare-in-caso-di-emergenza\/\" rel=\"bookmark\">Idoneit\u00e0 alla guerra, arruolamento e rifiuto: cosa fare in caso di emergenza<\/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=\"dauerkrise als normalzustand: wie narrative unsere wahrnehmung verzerren\" data-id=\"3840\"  data-category=\"allgemein b\u00fccher gesellschaft\" data-post_tag=\"buch deutschland energiepolitik erfahrungen europa krisen meinungsfreiheit pers\u00f6nlichkeitsentwicklung\">\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\/crisi-permanente-come-stato-normale-come-le-narrazioni-distorcono-la-nostra-percezione\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">La crisi permanente come stato normale: come le narrazioni distorcono la nostra percezione<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Crisi permanente, narrazioni\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/dauerkrise-narrative.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/dauerkrise-narrative.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/dauerkrise-narrative-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/dauerkrise-narrative-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/dauerkrise-narrative-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\/crisi-permanente-come-stato-normale-come-le-narrazioni-distorcono-la-nostra-percezione\/\" rel=\"bookmark\">La crisi permanente come stato normale: come le narrazioni distorcono la nostra percezione<\/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=\"sinkende gasspeicher in deutschland: technik, grenzen und politische konsequenzen\" data-id=\"4581\"  data-category=\"allgemein gesellschaft\" data-post_tag=\"deutschland energiepolitik europa krisen 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\/2026\/01\/lo-stoccaggio-di-gas-in-declino-in-germania-limiti-tecnici-e-conseguenze-politiche\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Impianti di stoccaggio del gas in Germania: tecnologia, limiti e conseguenze politiche<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Stoccaggio di gas in Germania\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Gasspeicher-Deutschland.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Gasspeicher-Deutschland.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Gasspeicher-Deutschland-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Gasspeicher-Deutschland-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Gasspeicher-Deutschland-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\/01\/lo-stoccaggio-di-gas-in-declino-in-germania-limiti-tecnici-e-conseguenze-politiche\/\" rel=\"bookmark\">Impianti di stoccaggio del gas in Germania: tecnologia, limiti e conseguenze politiche<\/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>Estensioni per il vostro sistema di conoscenza AI personale<\/h2>\n<p>Avete gi\u00e0 creato un sistema funzionante con la configurazione precedente. I dati di ChatGPT sono stati estratti, convertiti in embeddings, archiviati in Qdrant e infine collegati a un'intelligenza artificiale locale. Il risultato \u00e8 un'intelligenza artificiale in grado di accedere alle conversazioni precedenti.<\/p>\n<p>Ma, a rigore, siamo solo all'inizio. L'architettura che avete costruito non \u00e8 limitata ai dati ChatGPT. Funziona con qualsiasi tipo di testo. Tutto ci\u00f2 che pu\u00f2 essere convertito in documenti o file di testo pu\u00f2 entrare a far parte di questo sistema di conoscenza. \u00c8 qui che risiede il vero potenziale di questi sistemi.<\/p>\n<p>In pratica, abbiamo costruito una macchina della conoscenza personale. E questa macchina pu\u00f2 essere ampliata passo dopo passo. In questo capitolo analizziamo le possibilit\u00e0 che ne derivano e come \u00e8 possibile espandere il sistema a lungo termine.<\/p>\n<h3>Integrare altre fonti di dati<\/h3>\n<p>Il passo successivo pi\u00f9 ovvio \u00e8 aggiungere altri contenuti alla vostra base di conoscenze. Le conversazioni di ChatGPT sono un buon inizio, ma di solito rappresentano solo una parte delle vostre conoscenze. Molte informazioni sono disponibili in altri formati. Ad esempio:<\/p>\n<ul>\n<li>articoli propri<\/li>\n<li>Note<\/li>\n<li>Documenti in PDF<\/li>\n<li>Documenti di ricerca<\/li>\n<li>Libri elettronici<\/li>\n<li>Protocolli o elenchi di idee<\/li>\n<\/ul>\n<p>Tutti questi contenuti possono essere elaborati allo stesso modo dei nostri dati di chat. Il processo rimane identico:<\/p>\n<ul>\n<li>Estrarre il testo<\/li>\n<li>Dividere il testo in parti<\/li>\n<li>Creare le incorporazioni<\/li>\n<li>Salvataggio dei dati in Qdrant<\/li>\n<\/ul>\n<p>Un esempio: Se avete scritto molti dei vostri articoli, potete importare questi testi nel vostro database di conoscenze. L'intelligenza artificiale pu\u00f2 accedervi in seguito e riconoscere le correlazioni. Ad esempio, si pu\u00f2 chiedere:<\/p>\n<blockquote><p><em>\u201eQuali articoli ho scritto sull'IA?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>o<\/p>\n<blockquote><p><em>\u201eQuali argomenti ho sviluppato in passato su questo tema?\u201c.\u201c<\/em><\/p><\/blockquote>\n<p>L'intelligenza artificiale cerca quindi nel vostro archivio di articoli e utilizza i contenuti che trova come contesto. In questo modo, il sistema cresce passo dopo passo fino a diventare un archivio di conoscenze completo.<\/p>\n<h3>Diverse banche dati di conoscenza<\/h3>\n<p>Quando la quantit\u00e0 di dati aumenta, pu\u00f2 essere utile separare aree diverse. Qdrant consente di creare pi\u00f9 raccolte. Ogni raccolta pu\u00f2 rappresentare la propria base di conoscenza. Un possibile sistema potrebbe essere cos\u00ec, ad esempio:<\/p>\n<ul>\n<li><strong>Collezione 1<\/strong>Conversazioni ChatGPT<\/li>\n<li><strong>Collezione 2<\/strong>: Archivio articoli<\/li>\n<li><strong>Collezione 3<\/strong>: note personali<\/li>\n<li><strong>Collezione 4<\/strong>Documentazione tecnica<\/li>\n<\/ul>\n<p>Questa separazione presenta diversi vantaggi. In primo luogo, la struttura rimane chiara. Si sa sempre dove sono memorizzati determinati contenuti. In secondo luogo, le query possono essere controllate in modo pi\u00f9 specifico. Alcune domande dovrebbero cercare solo nell'archivio degli articoli, altre nell'intero sistema di conoscenza. Un esempio:<\/p>\n<ul>\n<li>Una domanda di ricerca potrebbe essere effettuata solo nell'archivio degli articoli.<\/li>\n<li>Una domanda strategica, invece, potrebbe prendere in considerazione tutte le collezioni contemporaneamente.<\/li>\n<\/ul>\n<p>Tali strutture rendono i sistemi di conoscenza di grandi dimensioni molto pi\u00f9 efficienti.<\/p>\n<h3>Aggiornamenti automatici<\/h3>\n<p>Un altro passo utile \u00e8 quello di aggiornare regolarmente il sistema. Nell'esempio precedente, abbiamo elaborato l'esportazione dei dati di ChatGPT una volta. In pratica, per\u00f2, vengono creati continuamente nuovi contenuti.<\/p>\n<p>Nuove conversazioni, nuove note, nuovi documenti: tutte queste informazioni potrebbero entrare a far parte del vostro archivio di conoscenze.<br \/>\n\u00c8 quindi opportuno pensare ad aggiornamenti automatici. Una soluzione semplice consiste nell'importare regolarmente nuovi dati. Ad esempio:<\/p>\n<ul>\n<li>Elaborare i dati delle nuove chat una volta alla settimana<\/li>\n<li>Importazione automatica di nuovi documenti<\/li>\n<li>Aggiungere immediatamente nuovi articoli al database<\/li>\n<\/ul>\n<p>Tecnicamente \u00e8 relativamente facile da implementare. Un piccolo script pu\u00f2 controllare regolarmente se sono disponibili nuovi file ed elaborarli automaticamente. In questo modo, il vostro sistema di conoscenze pu\u00f2 crescere continuamente. Nel corso del tempo, si crea un archivio sempre pi\u00f9 ampio che documenta i vostri pensieri e progetti.<\/p>\n<h3>Integrazione nelle proprie applicazioni<\/h3>\n<p>Finora il nostro sistema \u00e8 stato utilizzato tramite semplici script Python. Ma a lungo termine, questo sistema pu\u00f2 essere integrato anche nelle vostre applicazioni. Ad esempio, molti sviluppatori stanno realizzando piccole interfacce web che consentono di utilizzare direttamente l'intelligenza artificiale.<\/p>\n<p>Invece di avviare uno script, \u00e8 possibile scrivere semplicemente una domanda in un campo di input. Lo stesso processo viene eseguito in background:<\/p>\n<ol>\n<li>Creare l'incorporazione<\/li>\n<li>Ricerca nel database<\/li>\n<li>Trasferire il contesto all'IA<\/li>\n<li>Generare la risposta<\/li>\n<\/ol>\n<p>Il risultato appare direttamente nell'interfaccia utente. Un'applicazione di questo tipo pu\u00f2 assumere forme molto diverse. Ad esempio:<\/p>\n<ul>\n<li>un'intelligenza artificiale di ricerca personale<\/li>\n<li>un assistente alla conoscenza per i progetti<\/li>\n<li>un motore di ricerca di idee<\/li>\n<li>un archivio di articoli e note<\/li>\n<\/ul>\n<p>La situazione diventa particolarmente interessante quando si combinano questi sistemi con altri strumenti. Ad esempio, un sistema editoriale potrebbe accedere automaticamente all'archivio delle conoscenze e utilizzare gli articoli precedenti come base per la ricerca. Oppure un sistema di note potrebbe integrare automaticamente nuove idee nel vostro database.<\/p>\n<p>In altre parole, l'IA diventa parte del vostro ambiente di lavoro quotidiano. Questo fa capire che il nostro piccolo progetto va ben oltre l'esportazione dei dati originali di ChatGPT.<\/p>\n<p>Non abbiamo creato solo un archivio. Abbiamo creato un'architettura che pu\u00f2 essere ampliata in base alle esigenze. Ed \u00e8 proprio qui che risiede il vero valore di questi sistemi. Non sono statici. Crescono con le vostre conoscenze.<\/p>\n<h2>Versione estesa della pipeline da scaricare<\/h2>\n<p>Il seguente script \u00e8 una versione estesa della pipeline dell'articolo. \u00c8 pi\u00f9 robusto e molto pi\u00f9 vicino a una soluzione produttiva. Sono stati migliorati tre aspetti:<\/p>\n<ul>\n<li><strong>Indicatore di progresso<\/strong>L'utente pu\u00f2 vedere in qualsiasi momento quanti testi sono gi\u00e0 stati elaborati.<\/li>\n<li><strong>Importazione in batch<\/strong>Le incorporazioni vengono raccolte e scritte su Qdrant in blocchi, il che \u00e8 significativamente pi\u00f9 veloce delle singole importazioni.<\/li>\n<li><strong>Pipeline di incorporazione pi\u00f9 veloce<\/strong>Lo script funziona in modo strutturato con pezzi preparati e riduce le chiamate non necessarie.<\/li>\n<\/ul>\n<p>Questo script \u00e8 quindi particolarmente adatto se l'esportazione di ChatGPT \u00e8 di grandi dimensioni, ad esempio diverse migliaia di conversazioni. Processo tipico:<\/p>\n<ol>\n<li>Caricare l'esportazione di ChatGPT<\/li>\n<li>Testi estratti<\/li>\n<li>Dividere il testo in parti<\/li>\n<li>Creare le incorporazioni<\/li>\n<li>Importazione in batch in Qdrant<\/li>\n<li>Eseguire l'interrogazione di prova<\/li>\n<\/ol>\n<h3>Impostazioni importanti nello script<\/h3>\n<p>Alcuni valori devono essere regolati dall'utente:<\/p>\n<ul>\n<li><strong>ESPORTAZIONE_PFAD<\/strong><br \/>\nPercorso dei file conversations.json, per lo pi\u00f9 numerati, dell'esportazione di ChatGPT.<\/li>\n<li><strong>NOME_RACCOLTA<\/strong><br \/>\nNome della collezione di database vettoriale.<\/li>\n<li><strong>MODELLO EMBED<\/strong><br \/>\nModello di incorporazione di Ollama, ad esempio nomic-embed-text o mxbai-embed-large<\/li>\n<li><strong>RISPOSTA_MODELLO<\/strong><br \/>\nModello linguistico per la query di prova, ad esempio llama, mistral o gpt:oss<\/li>\n<li><strong>DIMENSIONE_VETTORE<\/strong><br \/>\nDimensione del modello di incorporazione.<br \/>\nnomic-embed-text \u2192 768<br \/>\nmxbai-embed-large \u2192 1024<\/li>\n<li><strong>DIMENSIONE CHUNK<\/strong><br \/>\nDimensione delle sezioni di testo.<br \/>\nIn genere 300-600 parole.<\/li>\n<li><strong>DIMENSIONE DEL LOTTO<\/strong><br \/>\nQuante incorporazioni vengono scritte contemporaneamente su Qdrant.<br \/>\nValore tipico: 50-200.<\/li>\n<\/ul>\n<p><strong><a class=\"downloadbtn\" href=\"https:\/\/markus-schall.de\/downloads\/ChatGPT_Export_Scripts.zip\">Scarica lo script Python<\/a><\/strong><\/p>\n<h3>Rimanere aggiornati - senza pubblicit\u00e0<\/h3>\n<p>Se desiderate essere informati sugli aggiornamenti di questo script o sui nuovi download, potete iscrivervi alla mia newsletter mensile. La newsletter \u00e8 volutamente snella, completamente priva di pubblicit\u00e0 e appare solo una volta al mese. In essa troverete una selezione dei nuovi articoli pi\u00f9 importanti, contenuti pratici su IA, software e digitalizzazione, nonch\u00e9 informazioni su script aggiornati o nuove offerte di download. Niente spam, niente e-mail quotidiane: solo i contenuti pi\u00f9 rilevanti in forma compatta. Se volete seguire costantemente questi sviluppi, la newsletter \u00e8 il modo pi\u00f9 semplice per rimanere aggiornati.<\/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\" action=\"\"><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>Confermare l'iscrizione!<\/div><div class=\"mailster-block-form-info-extra\"><\/div><\/div><div class=\"mailster-block-form-info-error\" style=\"width:100%\"><div>Alcuni campi sono mancanti o non corretti!<\/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=\"Nome\" spellcheck=\"false\" value=\"\" class=\"input\" autocomplete=\"given-name\" placeholder=\" \"\/><label for=\"mailster-id-41b55c\" class=\"mailster-label\">Nome<\/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=\"Registrati qui\" 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=\"1777731512\" \/>\n<button class=\"mailster-block-form-close\" aria-label=\"chiudere\" 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><input type=\"hidden\" name=\"trp-form-language\" value=\"it\"\/><\/form>\n<\/div>\n<h3>Prospettive per la Parte 3: perfezionamento, analisi e ottimizzazione dell'uso dei dati<\/h3>\n<p>Nella terza parte della serie, facciamo un ulteriore passo avanti e diamo un'occhiata a ci\u00f2 che si pu\u00f2 effettivamente ottenere dal database di conoscenze creato. Ora che i dati di ChatGPT sono stati archiviati in Qdrant, l'attenzione si concentra sul loro utilizzo effettivo. Diamo un'occhiata all'interfaccia web di Qdrant, analizziamo i dati memorizzati e verifichiamo il funzionamento della ricerca semantica. Inoltre, ci occupiamo di importanti regolazioni fini: Come selezionare il chunking a seconda del caso d'uso? Come trasferire in modo ottimale il contesto a un modello linguistico locale? E come si pu\u00f2 migliorare in modo specifico la qualit\u00e0 delle risposte? La terza parte si rivolge a tutti coloro che vogliono ottenere di pi\u00f9 dal sistema e svilupparlo in modo consapevole.<\/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-157 { --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-157 { --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\">Articoli attuali sull'intelligenza artificiale<\/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-157\" 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=\"chatgpt-datenexport erkl\u00e4rt: wie deine ki-chats zu einem pers\u00f6nlichen wissenssystem werden\" data-id=\"5259\"  data-category=\"featured ki-systeme tipps &amp; anleitungen\" data-post_tag=\"apple datenbanken datenschutz digitales eigentum k\u00fcnstliche intelligenz llama llm mac mlx ollama 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\/03\/lesportazione-dei-dati-di-chatgpt-spiega-come-le-vostre-chat-di-ki-diventano-un-sistema-di-conoscenza-personale\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">L'esportazione dei dati ChatGPT spiegata: come le vostre chat AI diventano un sistema di conoscenza personale<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Esportazione dei dati ChatGPT\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-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\/lesportazione-dei-dati-di-chatgpt-spiega-come-le-vostre-chat-di-ki-diventano-un-sistema-di-conoscenza-personale\/\" rel=\"bookmark\">L'esportazione dei dati ChatGPT spiegata: come le vostre chat AI diventano un sistema di conoscenza personale<\/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=\"apple mlx vs. nvidia: so funktioniert lokale ki-inferenz auf dem mac\" data-id=\"3461\"  data-category=\"apple macos filemaker &amp; erp hardware ki-systeme\" data-post_tag=\"apple datenschutz filemaker k\u00fcnstliche intelligenz llama llm mac mistral mlx ollama 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\/apple-mlx-vs-nvidia-come-funziona-linferenza-ki-locale-sul-mac\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Apple MLX vs. NVIDIA: come funziona l'inferenza AI locale sul Mac<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"AI locale su Silicon con Apple Mac\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokales-Sprachmodell-apple-mac-studio.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokales-Sprachmodell-apple-mac-studio.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokales-Sprachmodell-apple-mac-studio-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokales-Sprachmodell-apple-mac-studio-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokales-Sprachmodell-apple-mac-studio-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\/apple-mlx-vs-nvidia-come-funziona-linferenza-ki-locale-sul-mac\/\" rel=\"bookmark\">Apple MLX vs. NVIDIA: come funziona l'inferenza AI locale sul Mac<\/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 ohne hype: warum weniger ki-tools oft bessere arbeit bedeuten\" data-id=\"4402\"  data-category=\"apple macos hardware ki-systeme tipps &amp; anleitungen\" data-post_tag=\"denkmodelle erfahrungen k\u00fcnstliche intelligenz llm mac mlx ollama 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\/01\/lintelligenza-artificiale-senza-clamore-perche-un-minor-numero-di-strumenti-di-ki-spesso-significa-un-lavoro-migliore\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Intelligenza artificiale senza clamore: perch\u00e9 meno strumenti di IA spesso significano un lavoro migliore<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Intelligenza artificiale senza clamore\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/KI-ohne-Hype-Titel-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\/01\/lintelligenza-artificiale-senza-clamore-perche-un-minor-numero-di-strumenti-di-ki-spesso-significa-un-lavoro-migliore\/\" rel=\"bookmark\">Intelligenza artificiale senza clamore: perch\u00e9 meno strumenti di IA spesso significano un lavoro migliore<\/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=\"lokale ki auf dem mac: so installieren sie ein sprachmodell mit ollama\" data-id=\"2442\"  data-category=\"ki-systeme tipps &amp; anleitungen\" data-post_tag=\"datenschutz k\u00fcnstliche intelligenz llama llm mac mistral ollama 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\/08\/locale-sul-mac-come-questo-1tp12per-creare-un-modello-linguistico-con-ollama\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">IA locale su Mac: come installiere un modello linguistico con Ollama<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"AI locale installieren con Ollama sul Mac\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/Lokale-KI-auf-Apple-Mac-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\/08\/locale-sul-mac-come-questo-1tp12per-creare-un-modello-linguistico-con-ollama\/\" rel=\"bookmark\">IA locale su Mac: come installiere un modello linguistico con Ollama<\/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>Domande frequenti<\/h2>\n<ol>\n<li><strong>A cosa serve integrare l'esportazione dei dati di ChatGPT nella mia AI?<\/strong><br \/>\nIl vantaggio maggiore \u00e8 che si possono utilizzare le proprie conversazioni e i propri pensieri a lungo termine. Molte persone hanno conversazioni intense con i sistemi di intelligenza artificiale su progetti, idee, analisi o questioni personali. Questi contenuti normalmente scompaiono nel corso della piattaforma. Tuttavia, se lo si esporta e lo si integra nel proprio database di conoscenze, diventa un archivio personale. L'intelligenza artificiale locale pu\u00f2 quindi accedere a questi contenuti, riconoscere le correlazioni e aiutarvi con nuove domande. Invece di partire sempre da zero, si costruisce il proprio pensiero passo dopo passo.<\/li>\n<li><strong>Non \u00e8 molto complicato per chi non \u00e8 uno sviluppatore?<\/strong><br \/>\nA prima vista, termini come embedding, database vettoriali o sistemi RAG appaiono complessi. In pratica, tuttavia, le singole fasi sono strutturate in modo relativamente chiaro. Sono necessari fondamentalmente solo tre componenti: un'IA locale (ad esempio tramite Ollama), un database vettoriale come Qdrant e un piccolo script Python che elabora i dati. Molti dei passaggi vengono eseguiti automaticamente. Una volta configurato, il sistema funziona come un normale motore di ricerca o un chatbot, con la differenza che lavora con le vostre conoscenze.<\/li>\n<li><strong>Quali dati contiene effettivamente l'esportazione di ChatGPT?<\/strong><br \/>\nL'esportazione di ChatGPT contiene di solito tutte le conversazioni che avete avuto con il sistema. Questo include non solo i messaggi di testo stessi, ma anche metadati come i titoli delle conversazioni, i timestamp e le informazioni strutturali. I dati sono solitamente disponibili in formato JSON e possono quindi essere elaborati con relativa facilit\u00e0 tramite script. In molti casi, l'esportazione include anche file multimediali o linguistici, se sono stati utilizzati nelle conversazioni. Tuttavia, \u00e8 soprattutto il contenuto testuale che interessa quando si crea un database della conoscenza.<\/li>\n<li><strong>Perch\u00e9 per questi sistemi si usa un database vettoriale e non un normale database?<\/strong><br \/>\nI database normali sono ideali per la ricerca di termini o ID specifici. Tuttavia, sono meno adatti per le ricerche semantiche. Un database vettoriale memorizza i testi non solo come stringhe di caratteri, ma anche come vettori matematici che descrivono il significato di un testo. Questo permette al sistema di cercare la somiglianza tra i contenuti. Ad esempio, se si chiede \u201eidee per articoli sull'intelligenza artificiale\u201c, il database pu\u00f2 trovare anche contenuti che contengono altre frasi come \u201eargomenti per articoli di blog sull'intelligenza artificiale\u201c.<\/li>\n<li><strong>Cosa sono gli embeddings e perch\u00e9 sono cos\u00ec importanti?<\/strong><br \/>\nLe incorporazioni sono rappresentazioni matematiche dei testi. Un modello linguistico converte un testo in un elenco di numeri che descrivono il significato del testo. I testi con significati simili sono vicini nello spazio matematico. Questo permette a un database vettoriale di cercare successivamente contenuti simili. Senza embeddings, la ricerca semantica non sarebbe possibile. Essi costituiscono la base dei moderni sistemi RAG e sono il motivo per cui tali sistemi sono molto pi\u00f9 flessibili delle classiche ricerche full-text.<\/li>\n<li><strong>Quanto pu\u00f2 essere grande l'esportazione dei dati di ChatGPT?<\/strong><br \/>\nLe dimensioni non giocano un ruolo importante. Anche diverse migliaia di conversazioni possono essere elaborate senza problemi. Ci\u00f2 che \u00e8 pi\u00f9 importante \u00e8 il numero di sezioni di testo generate, i cosiddetti chunks. Un'esportazione pi\u00f9 grande comporta un maggior numero di chunk e quindi di incorporazioni. Tuttavia, i moderni database vettoriali possono facilmente gestire milioni di voci di questo tipo. Anche un piccolo server o un potente desktop sono del tutto sufficienti per un assistente privato alla conoscenza.<\/li>\n<li><strong>Perch\u00e9 il testo \u00e8 diviso in piccole sezioni prima dell'elaborazione?<\/strong><br \/>\nSe si salvano conversazioni complete o testi di grandi dimensioni direttamente come embeddings, la ricerca semantica diventa imprecisa. Un singolo testo potrebbe contenere diversi argomenti. Suddividendolo in sezioni pi\u00f9 piccole, il sistema pu\u00f2 effettuare una ricerca pi\u00f9 precisa. Ogni sezione descrive un argomento pi\u00f9 chiaro. Di conseguenza, il database trova esattamente le parti di una conversazione che si adattano realmente alla domanda corrente.<\/li>\n<li><strong>Che ruolo svolge l'Ollama in questo sistema?<\/strong><br \/>\nOllama funge da piattaforma locale per i modelli linguistici. Permette di eseguire modelli di intelligenza artificiale direttamente sul proprio computer. Nel nostro sistema, Ollama svolge due compiti: Crea embeddings per i testi e genera risposte alle domande. Il vantaggio \u00e8 che tutti i dati rimangono locali. Ci\u00f2 significa che le vostre conversazioni e il vostro archivio di conoscenze non lasciano mai il vostro computer.<\/li>\n<li><strong>Perch\u00e9 Qdrant viene utilizzato come database vettoriale?<\/strong><br \/>\nQdrant \u00e8 un moderno database vettoriale sviluppato appositamente per le applicazioni di intelligenza artificiale. \u00c8 veloce, facile da implementare e molto ben documentato. Inoltre, pu\u00f2 essere facilmente collegato a Python e a molti framework di IA. Qdrant \u00e8 quindi una soluzione particolarmente pratica per i sistemi di conoscenza locale. Le alternative sono Chroma, Weaviate o Pinecone.<\/li>\n<li><strong>Cosa significa il termine sistema RAG?<\/strong><br \/>\nRAG \u00e8 l'acronimo di \u201eRetrieval-Augmented Generation\u201c. Si tratta di un'architettura in cui un'IA recupera prima le informazioni rilevanti da un database e poi le utilizza per generare una risposta. L'IA combina quindi le proprie conoscenze con dati esterni. In questo modo pu\u00f2 fornire risposte molto precise e allo stesso tempo accedere a informazioni attuali o personali.<\/li>\n<li><strong>Posso integrare in questo sistema anche altre fonti di dati?<\/strong><br \/>\nIn effetti, questo \u00e8 uno dei maggiori vantaggi di questa architettura. Il sistema non si limita ai dati di ChatGPT. \u00c8 anche possibile integrare i propri articoli, note, PDF, documenti di ricerca o altri documenti. Finch\u00e9 il contenuto pu\u00f2 essere elaborato in forma di testo, pu\u00f2 diventare parte della base di conoscenza. Con il tempo, il sistema diventer\u00e0 un archivio di conoscenze completo.<\/li>\n<li><strong>Quanto rimane aggiornato un tale sistema di conoscenze?<\/strong><br \/>\nL'aggiornamento dipende dalla frequenza con cui si importano nuovi dati. Ad esempio, \u00e8 possibile elaborare regolarmente nuove esportazioni di ChatGPT o creare uno script che riconosca automaticamente i nuovi documenti. Molti sistemi sono impostati per essere aggiornati una volta alla settimana o al mese. In questo modo la base di conoscenze \u00e8 sempre aggiornata.<\/li>\n<li><strong>Di quale hardware ho bisogno per un sistema di questo tipo?<\/strong><br \/>\nUn moderno computer desktop \u00e8 sufficiente per i progetti pi\u00f9 piccoli. Se si desidera utilizzare un modello linguistico pi\u00f9 ampio, pu\u00f2 essere utile una GPU. Tuttavia, molti utenti eseguono con successo i loro sistemi di conoscenza anche su un potente computer portatile o un mini-server. Soprattutto, \u00e8 importante disporre di una memoria sufficiente e di uno spazio di archiviazione sufficiente per il database.<\/li>\n<li><strong>Quanto velocemente funziona un sistema del genere nella pratica?<\/strong><br \/>\nLa velocit\u00e0 dipende da diversi fattori, come ad esempio le dimensioni del database, l'hardware e il modello di linguaggio utilizzato. In molti casi, un'interrogazione richiede solo pochi secondi. La ricerca vettoriale in s\u00e9 \u00e8 di solito estremamente veloce. La maggior parte del tempo viene spesso impiegata per generare la risposta dal modello linguistico.<\/li>\n<li><strong>\u00c8 possibile separare diverse aree di conoscenza?<\/strong><br \/>\nS\u00ec, i database vettoriali come Qdrant consentono di utilizzare pi\u00f9 collezioni. Ogni raccolta pu\u00f2 rappresentare un'area tematica separata. Ad esempio, si pu\u00f2 creare una raccolta per le conversazioni ChatGPT, una per gli articoli e una per le note. In questo modo le aree di conoscenza possono essere strutturate in modo chiaro e ricercate in modo mirato.<\/li>\n<li><strong>Quanto sono sicuri i miei dati in un sistema di AI locale?<\/strong><br \/>\nIl grande vantaggio di un sistema locale \u00e8 che i dati non devono essere trasferiti a servizi esterni. Tutte le informazioni rimangono sul proprio computer o server. Questo \u00e8 particolarmente interessante per i contenuti sensibili. Naturalmente, \u00e8 necessario creare backup regolari e proteggere il sistema da accessi non autorizzati.<\/li>\n<li><strong>Posso anche integrare questo sistema nelle mie applicazioni?<\/strong><br \/>\nS\u00ec, la maggior parte dei componenti \u00e8 accessibile tramite interfacce di programmazione. Ci\u00f2 consente di integrare il sistema di conoscenze nei propri strumenti, ad esempio in un'interfaccia web, in un sistema editoriale o in un'applicazione per le note. Molti sviluppatori realizzano piccole applicazioni che rendono il database delle conoscenze direttamente accessibile tramite un'interfaccia di chat.<\/li>\n<li><strong>Come potrebbe svilupparsi questa tecnologia in futuro?<\/strong><br \/>\nLe IA per la conoscenza personale sono probabilmente solo all'inizio del loro sviluppo. In futuro, tali sistemi potrebbero integrare automaticamente nuovi contenuti, creare sintesi o persino fornire suggerimenti per i progetti. Pi\u00f9 dati confluiscono in un sistema di questo tipo, pi\u00f9 questo diventa prezioso. A lungo termine, potrebbe diventare una sorta di memoria digitale personale che struttura le vostre conoscenze e le rende accessibili in qualsiasi momento.<\/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-158 { --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-158 { --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\">Articoli attuali su arte e cultura<\/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-158\" 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 krimtataren \u2013 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\/i-tatari-crimeani-storia-origine-e-presente-di-un-popolo-dimenticato\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">I Tatari di Crimea: storia, origini e presente di un popolo dimenticato<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"La steppa della Crimea-Tartar\" 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\/i-tatari-crimeani-storia-origine-e-presente-di-un-popolo-dimenticato\/\" rel=\"bookmark\">I Tatari di Crimea: storia, origini e presente di un popolo dimenticato<\/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\/perche-dieter-bohlen-parla-quando-gli-altri-tacciono-un-ritratto-di-diligenza-e-chiarezza\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Perch\u00e9 Dieter Bohlen parla quando altri tacciono: Un ritratto di diligenza e chiarezza<\/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\/perche-dieter-bohlen-parla-quando-gli-altri-tacciono-un-ritratto-di-diligenza-e-chiarezza\/\" rel=\"bookmark\">Perch\u00e9 Dieter Bohlen parla quando altri tacciono: Un ritratto di diligenza e chiarezza<\/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\/quando-il-dovere-diventa-di-nuovo-dovere-una-sorta-di-saggio-del-signor-von-loreot\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Quando il dovere diventa di nuovo dovere. Una sorta di saggio del signor von L'oreot.<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Una telefonata inaspettata\" 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\/quando-il-dovere-diventa-di-nuovo-dovere-una-sorta-di-saggio-del-signor-von-loreot\/\" rel=\"bookmark\">Quando il dovere diventa di nuovo dovere. Una sorta di saggio del signor von L'oreot.<\/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 affinity grafik-suite wird kostenlos: was profi-anwender jetzt wissen m\u00fcssen\" data-id=\"3675\"  data-category=\"apple macos b\u00fccher kunst &amp; kultur tipps &amp; anleitungen\" data-post_tag=\"buch mac prozesse publishing verlag\">\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\/la-suite-grafica-affinity-diventa-gratuita-cosa-gli-utenti-professionali-devono-sapere-ora\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">La suite grafica Affinity diventa gratuita: Cosa devono sapere gli utenti professionali<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Suite grafica Affinity gratuita\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/affinity-grafiksuite-kostenlos.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/affinity-grafiksuite-kostenlos.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/affinity-grafiksuite-kostenlos-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/affinity-grafiksuite-kostenlos-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/affinity-grafiksuite-kostenlos-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\/la-suite-grafica-affinity-diventa-gratuita-cosa-gli-utenti-professionali-devono-sapere-ora\/\" rel=\"bookmark\">La suite grafica Affinity diventa gratuita: Cosa devono sapere gli utenti professionali<\/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 \/>","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=\"La suite grafica Affinity diventa gratuita: Cosa devono sapere gli utenti professionali\" class=\"read-more\" href=\"https:\/\/www.markus-schall.de\/it\/2025\/11\/la-suite-grafica-affinity-diventa-gratuita-cosa-gli-utenti-professionali-devono-sapere-ora\/\" aria-label=\"Per saperne di pi\u00f9 su La suite grafica Affinity \u00e8 gratuita: Cosa devono sapere gli utenti professionali\">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":152,"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":36,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/posts\/5306\/revisions"}],"predecessor-version":[{"id":5753,"href":"https:\/\/www.markus-schall.de\/it\/wp-json\/wp\/v2\/posts\/5306\/revisions\/5753"}],"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}]}}