{"id":46270,"date":"2024-09-04T14:05:07","date_gmt":"2024-09-04T14:05:07","guid":{"rendered":"https:\/\/fabricegrinda.com\/?p=46270"},"modified":"2024-09-05T14:50:29","modified_gmt":"2024-09-05T14:50:29","slug":"fabrice-ai-il-viaggio-tecnico","status":"publish","type":"post","link":"https:\/\/grinda.org\/it\/fabrice-ai-il-viaggio-tecnico\/","title":{"rendered":"Fabrice AI: il viaggio tecnico"},"content":{"rendered":"\n<p>Come ho detto nel <a href=\"https:\/\/fabricegrinda.com\/it\/ti-presentiamo-fabrice-ai\/\" data-type=\"link\" data-id=\"https:\/\/fabricegrinda.com\/introducing-fabrice-ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">post precedente<\/a>, lo sviluppo di <a href=\"https:\/\/fabriceai.fabricegrinda.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fabrice AI<\/a> si \u00e8 rivelato molto pi\u00f9 complesso del previsto, costringendomi a esplorare molti approcci diversi.<\/p>\n\n<p><strong>L&#8217;approccio iniziale: Indice dei lama &#8211; Ricerca vettoriale<\/strong><\/p>\n\n<p>Il mio primo tentativo di migliorare le capacit\u00e0 di ricerca di Fabrice AI ha riguardato l&#8217;utilizzo dell&#8217;indice Llama per la ricerca vettoriale.\nIl concetto era semplice: prendere i contenuti del mio blog, convertirli in documenti Langchain e poi trasformarli in documenti Llama.\nQuesti documenti Llama sarebbero poi stati memorizzati in un indice vettoriale, consentendomi di interrogare questo indice per ottenere informazioni rilevanti.  <\/p>\n\n<p>Tuttavia, quando ho iniziato a testare il sistema, \u00e8 diventato evidente che questo approccio non stava dando i risultati sperati.\nIn particolare, quando interrogavo il sistema con domande contestualizzate come &#8220;Quali sono i pi\u00f9 grandi errori commessi dai fondatori di mercati?&#8221;, l&#8217;intelligenza artificiale non riusciva a fornire risposte significative.\nInvece di recuperare il contenuto ricco di sfumature che sapevo essere incorporato nei dati, forniva risposte irrilevanti o incomplete.  <\/p>\n\n<p>Questo fallimento iniziale mi ha portato a riconsiderare il mio approccio.\nMi resi conto che la semplice memorizzazione dei contenuti in un indice vettoriale non era sufficiente; il meccanismo di recupero doveva comprendere il contesto e le sfumature delle domande poste.\nQuesta consapevolezza \u00e8 stata la prima di molte lezioni che hanno segnato l&#8217;evoluzione di Fabrice AI.  <\/p>\n\n<p><strong>Memorizzare la conoscenza: Archiviazione e recupero di documenti con MongoDB<\/strong><\/p>\n\n<p>Tenendo conto delle limitazioni dell&#8217;approccio dell&#8217;indice Llama, ho poi valutato la possibilit\u00e0 di archiviare i documenti Llama in MongoDB.\nLo schema flessibile e la struttura orientata ai documenti di MongoDB sembravano una soluzione promettente per gestire i diversi tipi di contenuti che avevo accumulato nel corso degli anni. <\/p>\n\n<p>Il piano era quello di creare un&#8217;esperienza di ricerca pi\u00f9 dinamica e reattiva.\nTuttavia, questo approccio ha incontrato rapidamente dei problemi.\nLa funzionalit\u00e0 di ricerca, che avevo previsto pi\u00f9 robusta, non ha funzionato come previsto.\nLe query che avrebbero dovuto restituire documenti rilevanti non davano alcun risultato o producevano contenuti irrilevanti.   <\/p>\n\n<p>Questa battuta d&#8217;arresto \u00e8 stata frustrante, ma ha anche sottolineato una lezione fondamentale: il metodo di archiviazione \u00e8 importante quanto la strategia di recupero.\nHo iniziato a considerare altre opzioni, come l&#8217;utilizzo di MongoDB Atlas per le ricerche vettoriali, che potenzialmente potrebbe fornire la precisione e la scalabilit\u00e0 di cui avevo bisogno.\nTuttavia, prima di scegliere questa alternativa, ho voluto esplorare altri approcci per capire se esistesse una soluzione pi\u00f9 efficace.  <\/p>\n\n<p><strong>Metadata Retriever e Vector Store: Alla ricerca della specificit\u00e0<\/strong><\/p>\n\n<p>Una delle strade successive che ho esplorato \u00e8 stata l&#8217;utilizzo di un recuperatore di metadati combinato con un archivio vettoriale.\nL&#8217;idea alla base di questo approccio era quella di categorizzare la vasta gamma di informazioni presenti in Fabrice AI e di recuperare le risposte in base a queste categorie.\nStrutturando i dati con i metadati, speravo di migliorare la capacit\u00e0 dell&#8217;intelligenza artificiale di fornire risposte specifiche e mirate.  <\/p>\n\n<p>Tuttavia, anche questo metodo aveva i suoi limiti.\nSebbene all&#8217;apparenza sembrasse promettente, l&#8217;intelligenza artificiale faticava a fornire risposte accurate a tutti i tipi di domande.\nAd esempio, quando ho chiesto: &#8220;L&#8217;autore \u00e8 ottimista?&#8221;.\nIl sistema non \u00e8 riuscito a interpretare la domanda nel contesto del contenuto pertinente.\nInvece di fornire un&#8217;analisi approfondita basata sui metadati, ha fornito risposte vaghe o nessuna.    <\/p>\n\n<p>Questo approccio mi ha insegnato una lezione preziosa sull&#8217;importanza del contesto nell&#8217;IA.\nNon \u00e8 sufficiente categorizzare le informazioni; l&#8217;IA deve anche capire come queste categorie interagiscono e si sovrappongono per formare una comprensione coesa del contenuto.\nSenza questa profondit\u00e0 di comprensione, anche i metodi di recupero pi\u00f9 sofisticati possono fallire.  <\/p>\n\n<p><strong>Strutturare la conoscenza: L&#8217;indice SummaryTree<\/strong><\/p>\n\n<p>Mentre continuavo a perfezionare Fabrice AI, ho sperimentato la creazione di un SummaryTreeIndex.\nQuesto approccio mirava a riassumere tutti i documenti in un formato ad albero, consentendo all&#8217;IA di navigare attraverso questi riassunti e di recuperare le informazioni rilevanti in base alla struttura del contenuto. <\/p>\n\n<p>L&#8217;idea era che, riassumendo i documenti, l&#8217;intelligenza artificiale potesse identificare rapidamente i punti chiave e rispondere alle domande con informazioni concise e precise.\nTuttavia, anche questo metodo ha dovuto affrontare sfide significative.\nL&#8217;intelligenza artificiale faticava a fornire risposte significative a domande complesse, come &#8220;Come prendere decisioni importanti nella vita?&#8221;.\nInvece di attingere ai contenuti ricchi e ricchi di sfumature contenuti nei riassunti, le risposte dell&#8217;IA erano spesso superficiali o incomplete.   <\/p>\n\n<p>Questa esperienza ha sottolineato la difficolt\u00e0 di bilanciare ampiezza e profondit\u00e0 nell&#8217;IA.\nSebbene i riassunti possano fornire una panoramica di alto livello, spesso mancano del contesto dettagliato necessario per rispondere a domande pi\u00f9 complesse.\nMi sono reso conto che una soluzione efficace avrebbe dovuto integrare sia i contenuti dettagliati che i riassunti di alto livello, permettendo all&#8217;IA di attingere a entrambi secondo le necessit\u00e0.  <\/p>\n\n<p>Per questo motivo, nella versione dell&#8217;IA di Fabrice attualmente in funzione, faccio in modo che l&#8217;IA dia prima un riassunto della risposta, prima di entrare nei dettagli.<\/p>\n\n<p><strong>Espandere gli orizzonti: Indice del grafico della conoscenza<\/strong><\/p>\n\n<p>Riconoscendo i limiti dei metodi precedenti, ho scelto un approccio pi\u00f9 sofisticato: il Knowledge Graph Index.\nQuesto approccio prevede la costruzione di un grafo della conoscenza a partire da un testo non strutturato, consentendo all&#8217;intelligenza artificiale di effettuare interrogazioni basate su entit\u00e0.\nL&#8217;obiettivo era quello di creare una comprensione pi\u00f9 dinamica e interconnessa dei contenuti, consentendo all&#8217;intelligenza artificiale di Fabrice di rispondere in modo pi\u00f9 efficace a domande complesse e contestualizzate.  <\/p>\n\n<p>Nonostante le sue promesse, il Knowledge Graph Index ha dovuto affrontare ostacoli significativi.\nL&#8217;intelligenza artificiale ha faticato a produrre risultati accurati, in particolare per le query che richiedevano una profonda comprensione del contesto.\nAd esempio, alla domanda &#8220;Quali sono le valutazioni corrette di Seed e Series A?&#8221;, l&#8217;IA non \u00e8 riuscita a fornire una risposta pertinente, evidenziando la difficolt\u00e0 di integrare un testo non strutturato in un Knowledge Graph coerente.  <\/p>\n\n<p>Questo approccio, sebbene alla fine non abbia avuto successo, ha fornito importanti spunti di riflessione sulle sfide dell&#8217;utilizzo dei grafi di conoscenza nell&#8217;IA.\nLa complessit\u00e0 dei dati e la necessit\u00e0 di un contesto preciso hanno fatto s\u00ec che anche un grafico della conoscenza ben costruito potesse faticare a fornire i risultati desiderati.\nUn altro inconveniente del Knowledge Graph Index era la sua lentezza.\nIl tempo di risposta per ottenere documenti correlati era molto elevato rispetto a un indice vettoriale.   <\/p>\n\n<p><strong>Rivalutazione dei dati: Gemelli<\/strong><\/p>\n\n<p>Dopo diversi insuccessi, ho deciso di adottare un approccio diverso sfruttando l&#8217;intelligenza artificiale di Google, <a href=\"https:\/\/gemini.google.com\/app\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/gemini.google.com\/app\" rel=\"noreferrer noopener\">Gemini<\/a>.\nL&#8217;idea era quella di creare set di dati da file JSON-CSV e di addestrare un modello personalizzato LLM utilizzando questi dati.\nSperavo che utilizzando dati strutturati e un modello di addestramento robusto, avrei potuto superare alcune delle difficolt\u00e0 che avevano afflitto i precedenti tentativi.  <\/p>\n\n<p>Tuttavia, anche questo approccio ha incontrato delle difficolt\u00e0.\nIl processo di formazione \u00e8 stato interrotto a causa di una formattazione errata dei dati, che ha impedito al modello di essere addestrato in modo efficace.\nQuesta battuta d&#8217;arresto ha sottolineato l&#8217;importanza dell&#8217;integrit\u00e0 dei dati nella formazione dell&#8217;intelligenza artificiale.\nSenza dati correttamente formattati e strutturati, anche i modelli pi\u00f9 avanzati possono non funzionare come previsto.   <\/p>\n\n<p>Questa esperienza mi ha portato a considerare il potenziale dell&#8217;utilizzo di BigQuery per archiviare i dati JSON, fornendo una piattaforma pi\u00f9 scalabile e affidabile per gestire i grandi set di dati necessari per addestrare efficacemente l&#8217;intelligenza artificiale di Fabrice.<\/p>\n\n<p><strong>Combinare i punti di forza: Documenti Langchain con Pinecone<\/strong><\/p>\n\n<p>Nonostante le sfide affrontate finora, ero determinato a trovare una soluzione che permettesse a Fabrice AI di memorizzare e recuperare efficacemente la conoscenza.\nQuesta determinazione mi ha portato a sperimentare i documenti Langchain e Pinecone.\nL&#8217;approccio prevedeva la creazione di un archivio vettoriale Pinecone utilizzando i documenti Langchain e gli embeddings OpenAI, per poi recuperare i documenti pi\u00f9 simili in base alla query.  <\/p>\n\n<p>Questo metodo si \u00e8 rivelato promettente, soprattutto quando la query includeva il titolo del documento.\nAd esempio, alla domanda &#8220;Qual \u00e8 la chiave della felicit\u00e0?&#8221;, l&#8217;IA \u00e8 stata in grado di recuperare e riassumere accuratamente i contenuti rilevanti.\nTuttavia, c&#8217;erano ancora dei limiti, in particolare quando la query non conteneva parole chiave o titoli specifici.  <\/p>\n\n<p>Questo approccio ha dimostrato il potenziale della combinazione di diverse tecnologie per migliorare le prestazioni dell&#8217;IA.\nIntegrando i documenti di Langchain con l&#8217;archivio vettoriale di Pinecone, sono riuscito a migliorare la pertinenza e l&#8217;accuratezza delle risposte dell&#8217;IA, anche se con alcune limitazioni. <\/p>\n\n<p><strong>Raggiungere la coerenza: Costruttore GPT OpenAI<\/strong><\/p>\n\n<p>Dopo aver esplorato vari metodi e tecnologie, mi sono rivolto al <a href=\"https:\/\/chatgpt.com\/gpts\/editor\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/chatgpt.com\/gpts\/editor\/\" rel=\"noreferrer noopener\">GPT Builder<\/a> di Open AI per consolidare e perfezionare le conoscenze archiviate in Fabrice AI.\nCaricando tutti i contenuti in una base di conoscenza GPT, ho voluto creare una piattaforma pi\u00f9 coerente e affidabile per recuperare e interagire con le mie conoscenze. <\/p>\n\n<p>Questo approccio si \u00e8 rivelato uno dei pi\u00f9 efficaci: l&#8217;IA \u00e8 stata in grado di fornire risultati migliori in una serie di interrogazioni.\nLa chiave di questo successo \u00e8 stata l&#8217;integrazione di tutte le conoscenze in un unico sistema coeso, che ha permesso all&#8217;IA di attingere all&#8217;intera gamma di contenuti per rispondere alle domande. <\/p>\n\n<p>Come ho detto nel mio post precedente, non riuscivo a farlo funzionare sul mio sito web ed era disponibile solo per gli abbonati a pagamento di Chat GPT, il che mi sembrava troppo limitante.\nInoltre, anche se era migliore, non mi piaceva la qualit\u00e0 delle risposte e non mi sentivo a mio agio nel rilasciarlo al pubblico. <\/p>\n\n<p><strong>Perfezionamento finale: Assistenti GPT con il modello 4o<\/strong><\/p>\n\n<p>L&#8217;ultimo pezzo del puzzle nello sviluppo di Fabrice AI \u00e8 arrivato con l&#8217;introduzione degli <a href=\"https:\/\/platform.openai.com\/docs\/assistants\/overview\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/platform.openai.com\/docs\/assistants\/overview\" rel=\"noreferrer noopener\">assistenti GPT<\/a> utilizzando il Modello 4o.\nQuesto approccio ha rappresentato il culmine di tutto ci\u00f2 che avevo imparato nel corso del progetto.\nUtilizzando un database vettoriale e perfezionando i suggerimenti, ho cercato di raggiungere il massimo livello possibile di accuratezza e di comprensione del contesto nelle risposte dell&#8217;IA.  <\/p>\n\n<p>Questo metodo prevedeva il caricamento di tutte le conoscenze che avevo accumulato in un database vettoriale, che veniva poi utilizzato come base per le interazioni dell&#8217;IA.\nIl database vettoriale ha permesso all&#8217;IA di eseguire ricerche pi\u00f9 sofisticate, recuperando informazioni basate sul significato semantico delle query anzich\u00e9 affidarsi esclusivamente alla corrispondenza delle parole chiave.\nQuesto ha rappresentato un progresso significativo rispetto agli approcci precedenti, consentendo all&#8217;IA di comprendere meglio e rispondere a domande complesse e ricche di sfumature.  <\/p>\n\n<p>Una delle innovazioni principali di questo approccio \u00e8 stato l&#8217;attento perfezionamento dei suggerimenti.\nCreando e testando meticolosamente diverse richieste, sono stato in grado di guidare l&#8217;intelligenza artificiale verso risposte pi\u00f9 accurate e pertinenti.\nCi\u00f2 ha comportato non solo la modifica della formulazione dei messaggi, ma anche la sperimentazione di diversi modi di strutturare le domande per ottenere le migliori risposte possibili.  <br\/><br\/>I risultati sono stati impressionanti.\nL&#8217;intelligenza artificiale era ora in grado di gestire un&#8217;ampia gamma di interrogazioni con un&#8217;elevata precisione, anche quando le domande erano aperte o richiedevano una profonda comprensione del contesto.\nAd esempio, alla domanda &#8220;Come prendere le decisioni pi\u00f9 importanti della tua vita?&#8221;.\nL&#8217;IA ha fornito una risposta completa e approfondita, attingendo a una serie di fonti e prospettive per fornire una risposta completa.   <\/p>\n\n<p>Questo successo \u00e8 stato il culmine di centinaia di ore di lavoro e di innumerevoli esperimenti.\nHa dimostrato che, con la giusta combinazione di tecnologia e perfezionamento, era possibile creare un&#8217;IA in grado non solo di memorizzare e recuperare le informazioni in modo efficace, ma anche di interagire con esse in modo significativo.\nLo sviluppo di GPT Assistants con il Modello 4o ha segnato il momento in cui Fabrice AI ha raggiunto il livello di sofisticazione e precisione che avevo immaginato fin dall&#8217;inizio.\nL&#8217;API di GPT Assistants \u00e8 stata poi integrata nel mio blog per consentire agli utenti finali di interagire con Fabrice AI nel modo in cui la vedi ora sul blog.   <\/p>\n\n<p><strong>Riflettere sul viaggio<\/strong><\/p>\n\n<p>Il processo di sviluppo di Fabrice AI ha messo in luce le complessit\u00e0 del lavoro con l&#8217;AI, in particolare quando si tratta di comprendere e contestualizzare le informazioni.\nMi ha insegnato che non esistono scorciatoie nello sviluppo dell&#8217;IA: ogni passo, ogni iterazione e ogni esperimento \u00e8 una parte necessaria del viaggio verso la creazione di qualcosa di veramente efficace. <\/p>\n\n<p>Guardando al futuro, sono entusiasta di continuare a perfezionare e ampliare Fabrice AI.\nCome accennato nell&#8217;ultimo post, rivedr\u00f2 le domande poste per completare la base di conoscenze dove ci sono delle lacune.\nSpero anche di rilasciare una versione interattiva che abbia il mio aspetto e la mia voce e con cui tu possa parlare.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come ho detto nel post precedente, lo sviluppo di Fabrice AI si \u00e8 rivelato molto pi\u00f9 complesso del previsto, costringendomi a esplorare molti approcci diversi. L&#8217;approccio iniziale: Indice dei lama &hellip; <a href=\"https:\/\/fabricegrinda.com\/it\/fabrice-ai-il-viaggio-tecnico\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Fabrice AI: il viaggio tecnico&#8221;<\/span><\/a><\/p>\n","protected":false},"author":9,"featured_media":46221,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[373,943],"tags":[],"class_list":["post-46270","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-riflessioni-personali","category-gadget-tecnologici"],"acf":[],"contentUpdated":"Fabrice AI: il viaggio tecnico. Categories - Riflessioni personali, Gadget tecnologici. Date-Posted - 2024-09-04T14:05:07 . \n Come ho detto nel post precedente, lo sviluppo di Fabrice AI si \u00e8 rivelato molto pi\u00f9 complesso del previsto, costringendomi a esplorare molti approcci diversi.\n L&#8217;approccio iniziale: Indice dei lama &#8211; Ricerca vettoriale\n Il mio primo tentativo di migliorare le capacit\u00e0 di ricerca di Fabrice AI ha riguardato l&#8217;utilizzo dell&#8217;indice Llama per la ricerca vettoriale.\n Il concetto era semplice: prendere i contenuti del mio blog, convertirli in documenti Langchain e poi trasformarli in documenti Llama.\n Questi documenti Llama sarebbero poi stati memorizzati in un indice vettoriale, consentendomi di interrogare questo indice per ottenere informazioni rilevanti.  \n Tuttavia, quando ho iniziato a testare il sistema, \u00e8 diventato evidente che questo approccio non stava dando i risultati sperati.\n In particolare, quando interrogavo il sistema con domande contestualizzate come &#8220;Quali sono i pi\u00f9 grandi errori commessi dai fondatori di mercati?&#8221;, l&#8217;intelligenza artificiale non riusciva a fornire risposte significative.\n Invece di recuperare il contenuto ricco di sfumature che sapevo essere incorporato nei dati, forniva risposte irrilevanti o incomplete.  \n Questo fallimento iniziale mi ha portato a riconsiderare il mio approccio.\n Mi resi conto che la semplice memorizzazione dei contenuti in un indice vettoriale non era sufficiente; il meccanismo di recupero doveva comprendere il contesto e le sfumature delle domande poste.\n Questa consapevolezza \u00e8 stata la prima di molte lezioni che hanno segnato l&#8217;evoluzione di Fabrice AI.  \n Memorizzare la conoscenza: Archiviazione e recupero di documenti con MongoDB\n Tenendo conto delle limitazioni dell&#8217;approccio dell&#8217;indice Llama, ho poi valutato la possibilit\u00e0 di archiviare i documenti Llama in MongoDB.\n Lo schema flessibile e la struttura orientata ai documenti di MongoDB sembravano una soluzione promettente per gestire i diversi tipi di contenuti che avevo accumulato nel corso degli anni. \n Il piano era quello di creare un&#8217;esperienza di ricerca pi\u00f9 dinamica e reattiva.\n Tuttavia, questo approccio ha incontrato rapidamente dei problemi.\n La funzionalit\u00e0 di ricerca, che avevo previsto pi\u00f9 robusta, non ha funzionato come previsto.\n Le query che avrebbero dovuto restituire documenti rilevanti non davano alcun risultato o producevano contenuti irrilevanti.   \n Questa battuta d&#8217;arresto \u00e8 stata frustrante, ma ha anche sottolineato una lezione fondamentale: il metodo di archiviazione \u00e8 importante quanto la strategia di recupero.\n Ho iniziato a considerare altre opzioni, come l&#8217;utilizzo di MongoDB Atlas per le ricerche vettoriali, che potenzialmente potrebbe fornire la precisione e la scalabilit\u00e0 di cui avevo bisogno.\n Tuttavia, prima di scegliere questa alternativa, ho voluto esplorare altri approcci per capire se esistesse una soluzione pi\u00f9 efficace.  \n Metadata Retriever e Vector Store: Alla ricerca della specificit\u00e0\n Una delle strade successive che ho esplorato \u00e8 stata l&#8217;utilizzo di un recuperatore di metadati combinato con un archivio vettoriale.\n L&#8217;idea alla base di questo approccio era quella di categorizzare la vasta gamma di informazioni presenti in Fabrice AI e di recuperare le risposte in base a queste categorie.\n Strutturando i dati con i metadati, speravo di migliorare la capacit\u00e0 dell&#8217;intelligenza artificiale di fornire risposte specifiche e mirate.  \n Tuttavia, anche questo metodo aveva i suoi limiti.\n Sebbene all&#8217;apparenza sembrasse promettente, l&#8217;intelligenza artificiale faticava a fornire risposte accurate a tutti i tipi di domande.\n Ad esempio, quando ho chiesto: &#8220;L&#8217;autore \u00e8 ottimista?&#8221;.\n Il sistema non \u00e8 riuscito a interpretare la domanda nel contesto del contenuto pertinente.\n Invece di fornire un&#8217;analisi approfondita basata sui metadati, ha fornito risposte vaghe o nessuna.    \n Questo approccio mi ha insegnato una lezione preziosa sull&#8217;importanza del contesto nell&#8217;IA.\n Non \u00e8 sufficiente categorizzare le informazioni; l&#8217;IA deve anche capire come queste categorie interagiscono e si sovrappongono per formare una comprensione coesa del contenuto.\n Senza questa profondit\u00e0 di comprensione, anche i metodi di recupero pi\u00f9 sofisticati possono fallire.  \n Strutturare la conoscenza: L&#8217;indice SummaryTree\n Mentre continuavo a perfezionare Fabrice AI, ho sperimentato la creazione di un SummaryTreeIndex.\n Questo approccio mirava a riassumere tutti i documenti in un formato ad albero, consentendo all&#8217;IA di navigare attraverso questi riassunti e di recuperare le informazioni rilevanti in base alla struttura del contenuto. \n L&#8217;idea era che, riassumendo i documenti, l&#8217;intelligenza artificiale potesse identificare rapidamente i punti chiave e rispondere alle domande con informazioni concise e precise.\n Tuttavia, anche questo metodo ha dovuto affrontare sfide significative.\n L&#8217;intelligenza artificiale faticava a fornire risposte significative a domande complesse, come &#8220;Come prendere decisioni importanti nella vita?&#8221;.\n Invece di attingere ai contenuti ricchi e ricchi di sfumature contenuti nei riassunti, le risposte dell&#8217;IA erano spesso superficiali o incomplete.   \n Questa esperienza ha sottolineato la difficolt\u00e0 di bilanciare ampiezza e profondit\u00e0 nell&#8217;IA.\n Sebbene i riassunti possano fornire una panoramica di alto livello, spesso mancano del contesto dettagliato necessario per rispondere a domande pi\u00f9 complesse.\n Mi sono reso conto che una soluzione efficace avrebbe dovuto integrare sia i contenuti dettagliati che i riassunti di alto livello, permettendo all&#8217;IA di attingere a entrambi secondo le necessit\u00e0.  \n Per questo motivo, nella versione dell&#8217;IA di Fabrice attualmente in funzione, faccio in modo che l&#8217;IA dia prima un riassunto della risposta, prima di entrare nei dettagli.\n Espandere gli orizzonti: Indice del grafico della conoscenza\n Riconoscendo i limiti dei metodi precedenti, ho scelto un approccio pi\u00f9 sofisticato: il Knowledge Graph Index.\n Questo approccio prevede la costruzione di un grafo della conoscenza a partire da un testo non strutturato, consentendo all&#8217;intelligenza artificiale di effettuare interrogazioni basate su entit\u00e0.\n L&#8217;obiettivo era quello di creare una comprensione pi\u00f9 dinamica e interconnessa dei contenuti, consentendo all&#8217;intelligenza artificiale di Fabrice di rispondere in modo pi\u00f9 efficace a domande complesse e contestualizzate.  \n Nonostante le sue promesse, il Knowledge Graph Index ha dovuto affrontare ostacoli significativi.\n L&#8217;intelligenza artificiale ha faticato a produrre risultati accurati, in particolare per le query che richiedevano una profonda comprensione del contesto.\n Ad esempio, alla domanda &#8220;Quali sono le valutazioni corrette di Seed e Series A?&#8221;, l&#8217;IA non \u00e8 riuscita a fornire una risposta pertinente, evidenziando la difficolt\u00e0 di integrare un testo non strutturato in un Knowledge Graph coerente.  \n Questo approccio, sebbene alla fine non abbia avuto successo, ha fornito importanti spunti di riflessione sulle sfide dell&#8217;utilizzo dei grafi di conoscenza nell&#8217;IA.\n La complessit\u00e0 dei dati e la necessit\u00e0 di un contesto preciso hanno fatto s\u00ec che anche un grafico della conoscenza ben costruito potesse faticare a fornire i risultati desiderati.\n Un altro inconveniente del Knowledge Graph Index era la sua lentezza.\n Il tempo di risposta per ottenere documenti correlati era molto elevato rispetto a un indice vettoriale.   \n Rivalutazione dei dati: Gemelli\n Dopo diversi insuccessi, ho deciso di adottare un approccio diverso sfruttando l&#8217;intelligenza artificiale di Google, Gemini.\n L&#8217;idea era quella di creare set di dati da file JSON-CSV e di addestrare un modello personalizzato LLM utilizzando questi dati.\n Speravo che utilizzando dati strutturati e un modello di addestramento robusto, avrei potuto superare alcune delle difficolt\u00e0 che avevano afflitto i precedenti tentativi.  \n Tuttavia, anche questo approccio ha incontrato delle difficolt\u00e0.\n Il processo di formazione \u00e8 stato interrotto a causa di una formattazione errata dei dati, che ha impedito al modello di essere addestrato in modo efficace.\n Questa battuta d&#8217;arresto ha sottolineato l&#8217;importanza dell&#8217;integrit\u00e0 dei dati nella formazione dell&#8217;intelligenza artificiale.\n Senza dati correttamente formattati e strutturati, anche i modelli pi\u00f9 avanzati possono non funzionare come previsto.   \n Questa esperienza mi ha portato a considerare il potenziale dell&#8217;utilizzo di BigQuery per archiviare i dati JSON, fornendo una piattaforma pi\u00f9 scalabile e affidabile per gestire i grandi set di dati necessari per addestrare efficacemente l&#8217;intelligenza artificiale di Fabrice.\n Combinare i punti di forza: Documenti Langchain con Pinecone\n Nonostante le sfide affrontate finora, ero determinato a trovare una soluzione che permettesse a Fabrice AI di memorizzare e recuperare efficacemente la conoscenza.\n Questa determinazione mi ha portato a sperimentare i documenti Langchain e Pinecone.\n L&#8217;approccio prevedeva la creazione di un archivio vettoriale Pinecone utilizzando i documenti Langchain e gli embeddings OpenAI, per poi recuperare i documenti pi\u00f9 simili in base alla query.  \n Questo metodo si \u00e8 rivelato promettente, soprattutto quando la query includeva il titolo del documento.\n Ad esempio, alla domanda &#8220;Qual \u00e8 la chiave della felicit\u00e0?&#8221;, l&#8217;IA \u00e8 stata in grado di recuperare e riassumere accuratamente i contenuti rilevanti.\n Tuttavia, c&#8217;erano ancora dei limiti, in particolare quando la query non conteneva parole chiave o titoli specifici.  \n Questo approccio ha dimostrato il potenziale della combinazione di diverse tecnologie per migliorare le prestazioni dell&#8217;IA.\n Integrando i documenti di Langchain con l&#8217;archivio vettoriale di Pinecone, sono riuscito a migliorare la pertinenza e l&#8217;accuratezza delle risposte dell&#8217;IA, anche se con alcune limitazioni. \n Raggiungere la coerenza: Costruttore GPT OpenAI\n Dopo aver esplorato vari metodi e tecnologie, mi sono rivolto al GPT Builder di Open AI per consolidare e perfezionare le conoscenze archiviate in Fabrice AI.\n Caricando tutti i contenuti in una base di conoscenza GPT, ho voluto creare una piattaforma pi\u00f9 coerente e affidabile per recuperare e interagire con le mie conoscenze. \n Questo approccio si \u00e8 rivelato uno dei pi\u00f9 efficaci: l&#8217;IA \u00e8 stata in grado di fornire risultati migliori in una serie di interrogazioni.\n La chiave di questo successo \u00e8 stata l&#8217;integrazione di tutte le conoscenze in un unico sistema coeso, che ha permesso all&#8217;IA di attingere all&#8217;intera gamma di contenuti per rispondere alle domande. \n Come ho detto nel mio post precedente, non riuscivo a farlo funzionare sul mio sito web ed era disponibile solo per gli abbonati a pagamento di Chat GPT, il che mi sembrava troppo limitante.\n Inoltre, anche se era migliore, non mi piaceva la qualit\u00e0 delle risposte e non mi sentivo a mio agio nel rilasciarlo al pubblico. \n Perfezionamento finale: Assistenti GPT con il modello 4o\n L&#8217;ultimo pezzo del puzzle nello sviluppo di Fabrice AI \u00e8 arrivato con l&#8217;introduzione degli assistenti GPT utilizzando il Modello 4o.\n Questo approccio ha rappresentato il culmine di tutto ci\u00f2 che avevo imparato nel corso del progetto.\n Utilizzando un database vettoriale e perfezionando i suggerimenti, ho cercato di raggiungere il massimo livello possibile di accuratezza e di comprensione del contesto nelle risposte dell&#8217;IA.  \n Questo metodo prevedeva il caricamento di tutte le conoscenze che avevo accumulato in un database vettoriale, che veniva poi utilizzato come base per le interazioni dell&#8217;IA.\n Il database vettoriale ha permesso all&#8217;IA di eseguire ricerche pi\u00f9 sofisticate, recuperando informazioni basate sul significato semantico delle query anzich\u00e9 affidarsi esclusivamente alla corrispondenza delle parole chiave.\n Questo ha rappresentato un progresso significativo rispetto agli approcci precedenti, consentendo all&#8217;IA di comprendere meglio e rispondere a domande complesse e ricche di sfumature.  \n Una delle innovazioni principali di questo approccio \u00e8 stato l&#8217;attento perfezionamento dei suggerimenti.\n Creando e testando meticolosamente diverse richieste, sono stato in grado di guidare l&#8217;intelligenza artificiale verso risposte pi\u00f9 accurate e pertinenti.\n Ci\u00f2 ha comportato non solo la modifica della formulazione dei messaggi, ma anche la sperimentazione di diversi modi di strutturare le domande per ottenere le migliori risposte possibili.  I risultati sono stati impressionanti.\n L&#8217;intelligenza artificiale era ora in grado di gestire un&#8217;ampia gamma di interrogazioni con un&#8217;elevata precisione, anche quando le domande erano aperte o richiedevano una profonda comprensione del contesto.\n Ad esempio, alla domanda &#8220;Come prendere le decisioni pi\u00f9 importanti della tua vita?&#8221;.\n L&#8217;IA ha fornito una risposta completa e approfondita, attingendo a una serie di fonti e prospettive per fornire una risposta completa.   \n Questo successo \u00e8 stato il culmine di centinaia di ore di lavoro e di innumerevoli esperimenti.\n Ha dimostrato che, con la giusta combinazione di tecnologia e perfezionamento, era possibile creare un&#8217;IA in grado non solo di memorizzare e recuperare le informazioni in modo efficace, ma anche di interagire con esse in modo significativo.\n Lo sviluppo di GPT Assistants con il Modello 4o ha segnato il momento in cui Fabrice AI ha raggiunto il livello di sofisticazione e precisione che avevo immaginato fin dall&#8217;inizio.\n L&#8217;API di GPT Assistants \u00e8 stata poi integrata nel mio blog per consentire agli utenti finali di interagire con Fabrice AI nel modo in cui la vedi ora sul blog.   \n Riflettere sul viaggio\n Il processo di sviluppo di Fabrice AI ha messo in luce le complessit\u00e0 del lavoro con l&#8217;AI, in particolare quando si tratta di comprendere e contestualizzare le informazioni.\n Mi ha insegnato che non esistono scorciatoie nello sviluppo dell&#8217;IA: ogni passo, ogni iterazione e ogni esperimento \u00e8 una parte necessaria del viaggio verso la creazione di qualcosa di veramente efficace. \n Guardando al futuro, sono entusiasta di continuare a perfezionare e ampliare Fabrice AI.\n Come accennato nell&#8217;ultimo post, rivedr\u00f2 le domande poste per completare la base di conoscenze dove ci sono delle lacune.\n Spero anche di rilasciare una versione interattiva che abbia il mio aspetto e la mia voce e con cui tu possa parlare.  \n ","Category":["Riflessioni personali","Gadget tecnologici"],"_links":{"self":[{"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/posts\/46270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/comments?post=46270"}],"version-history":[{"count":1,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/posts\/46270\/revisions"}],"predecessor-version":[{"id":46272,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/posts\/46270\/revisions\/46272"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/media\/46221"}],"wp:attachment":[{"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/media?parent=46270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/categories?post=46270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/grinda.org\/it\/wp-json\/wp\/v2\/tags?post=46270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}