1
00:00:00,160 --> 00:00:11,040
Benvenuto benvenuto, io sono Filippo Strazzi e stai ascoltando Avvocate MAC Compennium Compennium è un podcast in cui ti parlo delle mie esperienze quotidiane con la tecnologia, in particolare con quella Apple.

2
00:00:11,040 --> 00:00:15,280
Compnium fa parte del network Runtime Radio, la Radio Geek.

3
00:00:15,280 --> 00:00:28,240
Questa è la puntata 36, nella quale ti parlerò dei miei test con Dwarf Star di Salvatore San Filippo sul mio Mac Studio M1 Max con 32 GB di RAM e di una nuova app che sto sviluppando.

4
00:00:28,240 --> 00:00:37,840
Ma prima sigla alcune comunicazioni di servizio.

5
00:00:37,840 --> 00:01:05,520
Questa puntata nasce da un esperimento che ho iniziato nel weekend e che mi ha positivamente stupito, registro ai primi di agosto, ho anche un'altra puntata in cantiere, quindi, salvo in previsti, dovrei riuscire a registrare le puntate, diciamo di agosto, prima della mia partenza per la montagna nelle ultime due settimane di agosto e quindi avere il mese completo, ma ovviamente lo scopriremo vivendo.

6
00:01:05,520 --> 00:01:14,560
Mi sono scordato di spedire di preparare la newsletter di luglio, quindi ne farò una sostanzialmente doppia.

7
00:01:14,560 --> 00:01:16,320
Spero per agosto.

8
00:01:16,320 --> 00:01:25,120
E come sempre, ancora sto registrando su YouTube, perché ovviamente questa registrazione la sto facendo a pezzi bocconi mentre sto facendo l'altro sostanzialmente.

9
00:01:25,120 --> 00:01:28,960
Quindi, insomma, per ora non ci si riesce a organizzare tutto bene.

10
00:01:28,960 --> 00:01:31,200
Fatte queste dovute premesse.

11
00:01:31,360 --> 00:01:36,720
Partiamo con un po' di storia per fare il recap della vicenda e introdurre l'argomento.

12
00:01:36,720 --> 00:01:54,240
Ho parlato varie volte sul podcast del progetto Dwarf Star o di S4 di Salvatore San Filippo recap intorno a maggio 2026 Antirezz, che è appunto lo pseudonimo di Salvatore, ha iniziato lo sviluppo di DS4.

13
00:01:54,240 --> 00:01:56,720
Qual era l'idea di fondo di Salvatore?

14
00:01:56,720 --> 00:02:13,720
Invece di un sistema come la massa ICP o Lama, che carica sostanzialmente n modelli di Large Language Model Open e quindi sono sistemi che per forza di cose, non possono essere ottimizzati per ogni singolo modello.

15
00:02:13,720 --> 00:02:27,240
Ragionare invece di creare un sistema ottimizzato per uno specifico modello, ma appunto che funzioni bene e quindi sia sostanzialmente ottimizzato solo per uno specifico modello di large language model.

16
00:02:27,240 --> 00:02:58,040
Nel caso specifico Salvatore ha creato DS4 per Dips-Sick 4 Flash, la scelta di Salvatore, nella sostanza, è stata perché DS4 è un da quello che dice lui è un ottimo modello e la versione FLASH è relativamente piccola, ma potente, per cui può girare, seppur quantizzato, su un MAC con 128 GB di RAM in modo decente.

17
00:02:58,040 --> 00:03:10,760
Attualmente il repository di Salvatore dice che, come limite minimo per far girare il sistema Dual Star è 96 GB.

18
00:03:10,760 --> 00:03:31,720
La cosa interessante è che per far girare appunto questo sistema, ha utilizzato delle caratteristiche, diciamo peculiari del Dipsic 4 Flash e quindi è riuscito a quantizzare a Q2, cioè veramente tanto, mettiamolo in questi termini, creando un modello GGF da solo 87 GB.

19
00:03:31,880 --> 00:03:33,840
Ovviamente su 128 GB.

20
00:03:33,840 --> 00:03:36,680
Il modello ne occupa di 87.

21
00:03:36,920 --> 00:03:50,320
Il resto, diciamo, può essere utilizzato per il sistema operativo e per l'eventuale finestra di contesto, che, peraltro, Dipsic deve riuscire ad arrivare forse a un milione di contesto.

22
00:03:51,120 --> 00:04:06,320
Le funzioni di S4 sono varie, non ho probabilmente neanche le capacità per spiegarle tutte bene, ma quello che ci interessa di più, o meno interessa di più per la mia vicenda: è la possibilità di fare il cosiddetto streaming degli esperti del modello da SSD.

23
00:04:06,320 --> 00:04:10,320
Questo in parole provare permette di caricare solo una parte del modello.

24
00:04:10,320 --> 00:04:19,040
Appunto, alcuni esperti, che sono appunto esperti di un contesto specifico per svolgere un determinato compito.

25
00:04:19,040 --> 00:04:22,800
Questo permette di non dover caricare l'intero modello in RAM.

26
00:04:22,800 --> 00:04:41,520
Ovviamente questo riduce le performance del modello stesso, perché ovviamente il modello viene caricato o scaricato parzialmente dalla RAM del MAC, inoltre DiPSIC 4, flash a delle caratteristiche particolari che permettono che ottimizzano la KV Cash.

27
00:04:41,520 --> 00:04:48,720
Ogni volta che si dà un prompt a un larger language model, questo viene convertito in un vettore numerico.

28
00:04:48,720 --> 00:04:50,720
Questo è il cosiddetto prefill.

29
00:04:50,880 --> 00:04:54,160
Nel Mac è il vero collo di bottiglia attualmente.

30
00:04:54,160 --> 00:05:00,240
La generazione infatti dei token è relativamente valida per essere hardware consumer.

31
00:05:00,240 --> 00:05:02,960
Grazie appunto all'ottimizzazione della QV Cash.

32
00:05:02,960 --> 00:05:08,960
Quindi questi vettori possono essere calcolati una volta e reinseriti sostanzialmente nella conversazione.

33
00:05:09,120 --> 00:05:16,000
Questo permette in pratica di appunto, velocizzare notevolmente le performance del modello.

34
00:05:16,000 --> 00:05:30,920
Quindi anche con contesti relativamente grossi, diciamo, ottimizzando la KV cache e tutto il resto, si riescono a fare cose che abitualmente appunto non sarebbero possibili con hardware simile.

35
00:05:31,160 --> 00:05:39,080
Ora, anche qui, se sei un ascoltatore da tempo del podcast, sai della mia fissa con l'inferenza locale.

36
00:05:39,080 --> 00:05:53,400
Pur avendo infatti sviluppato l'applicazione Animator per appunto anonimizzare i documenti, sono convinto che per l'avvocatura la soluzione, vera per l'utilizzo dell'IA generativa sia quella dell'inferenza locale.

37
00:05:53,400 --> 00:05:59,320
Il problema è che oggi per avere un Mac da 128 GB di RAM.

38
00:05:59,320 --> 00:06:38,120
Si deve spendere circa anche l'aumento dei costi dell'hardware e i recenti aumenti di Apple, in conseguenza si spende circa 4.000 euro, cifra che appunto, come ho detto già in altre puntate, è giustificabile in parte, ma sicuramente non per tutti, io sostanzialmente, proprio perché sono interessato a un hardware che non poteva minimamente gestire Dove Star, ho tenuto, però monitorato da tempo le isue del repository Github di DS4 di Salvatore.

39
00:06:38,120 --> 00:07:04,600
E tantissima roba semplicemente cancello dall'email perché mi arriva un'email ogni volta che c'è un aggiornamento, un issue nuovo e così via, ma un utente tale Giorgio Oppo, questo è il suo nickname, segnalava di aver fatto un fork per fare funzionare DS4 su un Mac M1 Pro con 16 GB di RAM, e questo mi aveva fatto ben sperare.

40
00:07:04,600 --> 00:07:13,800
Tuttavia, c'erano tutta una serie di problemi e così via, per cui non ci sono mai stato dietro più di tanto, non ho mai approfondito più di tanto.

41
00:07:13,800 --> 00:07:37,440
Tra l'altro, l'altra cosa particolare di questo fork è sostanzialmente che Oppo ha modificato il codice di S4 che sostanzialmente Salvatore San Filippo ha fatto sviluppare l'intelligenza artificiale in C in Swift, più la cosa interessante, però, è che ha creato un'app in Swift perciamo l'uso quotidiano di DS4.

42
00:07:37,440 --> 00:08:23,280
Infatti, DS4 sostanzialmente è un sistema riga di comando, anche questo era uno dei motivi per cui ero abbastanza, diciamo, ritenevo abbastanza poco comodo, diciamo, tutta la gestione di DS4 appunto, non avevo l'hardware per farlo girare, e due, diciamo, lavorare totalmente a riga di comando, non era comodissimo, e comunque appunto avrei dovuto creare una sovrastruttura, la cosa interessante, appunto, che poi mi ha fatto partire, diciamo, proprio che Oppo aveva già fatto qualcosa, quindi presumibilmente poteva funzionare anche sul mio Mac, visto che teoricamente lui era riuscito a farlo girare su un Mac con 16 GB di RAM, ma quindi cosa sono riuscito a fare?

43
00:08:23,280 --> 00:08:30,080
Allora, nella sostanza nei giorni scorsi, mentre sto registrando il primo d'agosto, credo, usando Codex.

44
00:08:30,080 --> 00:08:40,160
Per vedere, mi sono messo a usare Codex per vedere se usciva a compilare l'app Swift per il mio Mac Studio M1 Max con 32 GB di RAM.

45
00:08:40,160 --> 00:08:46,720
Dopo qualche problema iniziale ha funzionato e sono riuscito a far girare effettivamente sul mio Mac Studio di S4.

46
00:08:46,720 --> 00:09:06,440
E già, questo era un grande risultato, diciamo che originalmente ho detto: non giocavo con Codec, proviamo a fare questo esperimento, mettiamola così, e la mia idea era di dedicarci un'oretta di tempo, diciamo, del credo sabato pomeriggio che avevo.

47
00:09:06,760 --> 00:09:13,960
Inizialmente quindi ho tenuto il risultato iniziale che funzionava, è già questa è una gran cosa.

48
00:09:13,960 --> 00:10:19,480
A questo punto ho iniziato a fare una serie di test per vedere fino a dove poteva spingersi DS4 sul mio Mac con il fork di oppo, il problema più grosso, ovviamente, è il contesto, infatti, su piccoli contesti, DS4 funziona decisamente bene, ovviamente l'hardware di cui dispongo, ovviamente, con grossi contesti, però, i tempi sono decisamente più lunghi, ma questo è normale, perché sostanzialmente più il contesto è grosso, più raddoppiano i calcoli, anzi, il quadrato, una legge quadratica sostanzialmente e questo è particolarmente importante nel perfil dove il Mac sostanzialmente è decisamente poco performante, facendo fare poi i vari test, perché io non ho fatto niente, ovviamente ho fatto tutto codex, sono quindi arrivato alla conclusione, seppure utilizzabile, diciamo di S4 sul mio Mac Studio può lavorare solo su compiti programmati.

49
00:10:19,480 --> 00:10:44,080
Potenzialmente utilizzando la mia idea di far lavorare il Mac Studio durante la notte, in cosiddetti task complessi che richiedono molto contesto, giusto per darti un'idea: con contesti da 192a di parametri, il prefil solo per calcolare il prefill ci mette circa 60 minuti.

50
00:10:43,960 --> 00:10:47,920
Che quindi oggettivamente non è comodissimo.

51
00:10:48,160 --> 00:10:54,720
Su conesti più ridotti, i tempi non sono brevi, ma non sono neanche biblici, mettiamola così.

52
00:10:55,760 --> 00:11:06,880
Quindi una interazione a chat è fattibile solo su contesti di piccole dimensioni, che, però, tendenzialmente non sono quelli utili in un contesto legale.

53
00:11:06,880 --> 00:11:22,960
Ma diciamo l'idea invece di far lavorare sostanzialmente fare digerire le cose al Mac Studio la notte quindi preprogrammando attività e poi svolgendola nel corso della notte per trovare poi il risultato al mattino.

54
00:11:22,960 --> 00:11:25,200
Questo era un qualcosa di fattibile.

55
00:11:25,200 --> 00:11:58,320
E appunto, questo mi ha dato poi il la diciamo a approfondire ulteriormente i test, perché effettivamente era una cosa di cui ti ho già parlato e di cui se possibile, volevo fare appunto degli approfondimenti, anche perché se mai e quando mai uscirà il nuovo Mac Studio e così via, se sul serio ci sarà il taglio da 128 GB di RAM, effettivamente, tutta questa serie di test e esperimenti, mi permetterà di valutare effettivamente se ha senso o meno.

56
00:11:58,320 --> 00:12:06,080
Prescindere la voglia di acquistare un Mac di questo genere, acquistare lo strumento, diciamo, con maggiore cognizione di cause.

57
00:12:06,400 --> 00:12:39,480
Mentre mentre facevo appunto tutti questi test, mi è venuta l'idea, curiosità anche di testare la cosiddetta versione vanilla di IDS4, perché appunto, come ti raccontavo, ho poi è riuscito a fare tutte queste cose, ma con una versione custom, diciamo, riscritta, diciamo, sulla base di DS4 di Salvatore San Filippo, ma appunto lui diceva che la versione di Salvatore non funzionava invece su Mac come il mio, mettiamolo in questi tema, in questo termine.

58
00:12:39,480 --> 00:12:41,960
Quindi, ho detto: vabbè, dai, ci proviamo, vediamo.

59
00:12:41,960 --> 00:12:59,160
Tanto se Codec era riuscito a far partire uno, può provare a partire anche l'altro e vedere se effettivamente funzionava, e ovviamente con mio stupore e con mia gioia, soprattutto anche la versione vanilla di DS4 funziona sul mio Mac Studio.

60
00:12:59,160 --> 00:13:14,840
Anzi, grazie appunto all'ottimo lavoro di Salvatore, funziona addirittura meglio di Oppo nella sostanza di la versione Swift di Oppo, c'è un incremento relativamente significativo.

61
00:13:14,840 --> 00:13:17,240
Diciamo a livello di generazione.

62
00:13:17,240 --> 00:13:23,560
La versione Swift non viaggiava più di due token al secondo quindi comunque già pianino.

63
00:13:23,560 --> 00:13:31,320
Con la versione invece di Salvatore, soprattutto per la parte iniziale di generazione perché poi progressivamente decade, mettiamola in questi termini.

64
00:13:31,320 --> 00:13:40,840
Arrivava anche a tre token al secondo, che sì, non è una cosa clamorosa, ma sicuramente è un grosso miglioramento.

65
00:13:40,840 --> 00:14:25,360
Ho fatto un po' di testo, ho fatto tutta una serie, ho fatto fare a dire la verità: tutta una serie di benchmark sostanzialmente di quello che effettivamente si riesce a fare, di cosa si riesce a fare col mio Mac Studio e con DS4 di Salvatore, devo dire la verità, sono molto soddisfatto perché appunto riesce a gestire sul Mac Studio con tutta una serie di trucchi che adesso vedremo, sostanzialmente riesce a gestire anche con testi decisamente grossi, fino addirittura sono arrivato fino a senza problemi, diciamo fino a 1920.000 token, che iniziano a essere una quantità di testo, mettiamola così.

66
00:14:25,440 --> 00:14:35,760
Che tendenzialmente diciamo dai dai 30-60.000 token, è il minimo sindacale, mettiamola così per fare qualcosa in ambito legale.

67
00:14:35,760 --> 00:14:48,800
128, probabilmente è il livello giusto dal mio punto di vista, 192 inizia già a essere tanta roba, mettiamola in questi termini, e diciamo, quantomeno si possono.

68
00:14:49,120 --> 00:14:53,920
Con 192, a prescindere dei tempiamola così lunghissimi.

69
00:14:54,160 --> 00:14:58,000
Tuttavia, si possono fare veramente cose.

70
00:14:58,080 --> 00:15:00,640
Già grandi, mettiamola in questi termini.

71
00:15:00,640 --> 00:15:07,760
Attualmente, mentre sto registrando, sono nella fase di revisione integrale del repository per l'ottimizzazione.

72
00:15:08,080 --> 00:15:22,640
Nella sostanza, appunto, ho fatto tutti questi test, ma mi sono fatto come al solito prendere la mano, quindi ho iniziato a fare modifiche all'applicazione, alla parte applicativo, diciamo, di Swift e non al motore di hoppo.

73
00:15:22,640 --> 00:15:26,000
Mi sono reso conto che, però, c'erano più problemi che altro.

74
00:15:26,480 --> 00:15:34,880
Ovviamente avevo fatto un po' di accrocchi perché poi ero andato un po' in tanto al braccio e avevo lasciato andare un po' allo sbaraglio codex.

75
00:15:34,880 --> 00:15:52,880
Quindi adesso sono in una fase di preparazione per il lavoro futuro, mettiamola così, perché devo ripulire tutta la cosiddetta code base e arrivare a una situazione, diciamo, stabile e ben strutturata, per poi ragionare su eventuali sviluppi futuri di cui poi adesso ti parlo.

76
00:15:52,880 --> 00:16:00,360
Perché poi l'idea di questa puntata è nata, diciamo, per ragionare su cosa stavo facendo e su che direzione volevo prendere.

77
00:16:00,840 --> 00:16:18,040
Ci sono due differenti necessità concomitanti: da una parte l'ideazione, test e verifica di funzionalità, è comparazione dei risultati con differenti soluzioni, dall'altro il lavoro vero e proprio, cioè interfaccia e uso pratico.

78
00:16:18,040 --> 00:17:12,040
I due funzionano assieme sostanzialmente, cioè per poter stabilire se questo sistema è funzionale, cioè l'investimento poi futuro per avere una risposta, diciamo in tempo semireale, diciamo rispetto a questi sistemi di lavoro notturno, è che i flussi di lavoro devono essere sufficientemente strutturati, e ovviamente a me non interessa semplicemente ricevere una risposta dall'intelligenza artificiale, ma mi interessa, per esempio, poter fare ricerche giuridiche, poter far generare del testo in base a documenti che gli ho dato e quindi questo richiede ovviamente molto lavoro da una parte quindi tempi lunghi di elaborazione, ma anche dei flussi di lavoro strutturati e ben gestiti.

79
00:17:12,360 --> 00:17:34,200
E ovviamente è nato prima luogo la gallina, devo valutare e sto valutando sostanzialmente se ha più senso iniziare a creare dei flussi di lavoro anche strutturati e poi ragionare sulle ottimizzazioni, fare delle cose basiche per poi vedere invece o ragionare se ottimizzare dove riuscire a ottimizzare tutto questo.

80
00:17:34,200 --> 00:17:57,760
Insomma, è un processo abbastanza complicato che mi sta richiedendo che mi richiede molto tempo, ma appunto l'ho dovuto in parte fermare, diciamo che le idee mi stanno venendo, ma appunto prima devo avere una codebase ben strutturata e ripulire dalle robe che non servono a niente, perché, se no, ho già il progetto è comunque complesso.

81
00:17:58,080 --> 00:18:11,200
Se aggiungo complessità inutile, cioè tutto materiale che non serve, diciamo, è ovvio che l'intelligenza artificiale, che è già geniale, non è crea ulteriori complicazioni.

82
00:18:11,200 --> 00:18:25,360
Quindi, nella sostanza adesso devo stabilizzare le informazioni che il sistema e poi fare i test di inferenza e cercare di ottimizzare e valutare i limiti che ci sono.

83
00:18:25,360 --> 00:18:38,880
Perché appunto, come dicevo, per esempio, adesso non ho fatto dei veri test nel mondo legale, ma ho semplicemente confermato la mia teoria che questo sistema funziona e ovviamente anche se non funziona in presa diretta.

84
00:18:38,960 --> 00:18:45,600
Anche se appunto quando appena avrò un attimo di tempo, probabilmente farò anche un video dell'inferenza.

85
00:18:45,600 --> 00:18:55,920
Diciamo, l'ho mandato a qualche amico ma a qualche amico ma è proprio un video di un minuto neanche, giusto per far vedere come va la generazione del testo.

86
00:18:55,920 --> 00:19:07,520
Diciamo, devo mettere assieme tutte queste cose per vedere se effettivamente cosa funziona se vale la pena approfondire ulteriormente e andare avanti nello sviluppo di questa situazione.

87
00:19:07,520 --> 00:19:13,520
Quindi sono un po' in questa fase attualmente e mentre sto registrando, sono ancora in una fase di limbo.

88
00:19:13,680 --> 00:19:18,960
Adesso vediamo la parte più speculativa, cioè cosa sto pensando di fare.

89
00:19:19,760 --> 00:19:24,960
Visto il quadro, ho pensato di provare a sviluppare una nuova app.

90
00:19:24,960 --> 00:19:43,000
Nella sostanza è mia intenzione usare la versione vanilla vanilla, perché il gusto vanilla, solitamente è quello base su cui vengono fatti gli altri gusti di gelato, mettiamoli questi termini di S4 vanilla per me è semplicemente la versione base.

91
00:19:43,000 --> 00:19:44,680
Come serve per l'inferenza.

92
00:19:44,680 --> 00:19:55,480
Poi prendo spunto dall'approccio di Oppo e dal suo lavoro in Swift per avere un'app ed un'interfaccia per invece il server DS4 di Salvatore San Filippo.

93
00:19:55,480 --> 00:20:02,120
Tra altre cose, questo mi permette anche di avere ulteriori benefici.

94
00:20:02,360 --> 00:20:20,760
Attualmente mi ero reso conto che analizzando la codebase di Oppo che appunto, avendo fatto anche una riscrittura in Swift del motore, diciamo DS4, funzioni che erano state implementate dal Salvatore San Filippo, non ho ancora entrate nella sua codebase.

95
00:20:20,760 --> 00:20:46,360
Quindi sostanzialmente in questa maniera fatto, la mia applicazione si pone sopra, gestisce semplicemente l'interfaccia grafica e diciamo tutta una serie di trucchi per far funzionare meglio il server D S4 di Salvatore San Filippo, ma ottengo tutti i vantaggi dell'ultima release di Salvatore, quali sono le mie idee attuali per l'applicazione.

96
00:20:46,360 --> 00:21:01,720
Allora, innanzitutto non te la sto a fare complicata, diciamo l'applicazione di Oppo già aveva dei modi di semplificare la vita alla persona, io ho deciso di andare ancora più sul semplice.

97
00:21:01,720 --> 00:21:16,160
Quindi, nella sostanza, ho fatto implementare la Codex un sistema di skill semplice, cioè praticamente ho fatto copiare il sistema di Clue despop con una cartella in cui salvare le skill installate.

98
00:21:16,560 --> 00:21:27,040
Così da poter riciclare le mie skill legali che avevo già fatto che ne ho parlato nelle puntate precedenti, che ovviamente, però, andranno poi ottimizzate per DS4.

99
00:21:27,280 --> 00:21:58,480
Apro una e chiudo una breve parentesi, ovviamente, le skill qualunque skill, diciamo, creata per modelli di frontiera deve essere ripensata in parte per un modello, diciamo così meno intelligente, tra altre cose, DS4 Flash con una quantizzazione decisamente importante per cui, diciamo, non ha al 100% tutti i parametri che dovrebbe avere.

100
00:21:58,480 --> 00:22:03,360
Proprio per implementare in maniera efficace il lavoro legale.

101
00:22:03,440 --> 00:22:17,360
Integrato immediatamente l'MCP di Boudalau, che permette sostanzialmente di recuperare giurisprudenza norme e tant'altro e questo già funziona sostanzialmente, quindi fa le ricerche senza troppi problemi.

102
00:22:18,240 --> 00:22:33,280
Proprio per funzionare bene nel mondo legale, ho iniziato a implementare perché è in fase ancora di realizzazione, un sistema di ottimizzazione dei documenti legali per consumare il minor numero di token possibile all'interno di DS4.

103
00:22:33,760 --> 00:22:37,520
Questo viene tra le mie concezioni di ottimizzazione.

104
00:22:37,520 --> 00:22:51,680
Nella sostanza appunto, siccome più contesto do a Dipsick 4 Flash, più ovviamente i tempi si allungano da quello che ti ho raccontato prima.

105
00:22:51,920 --> 00:23:16,360
È importante, diciamo dare il minor numero, cioè dare il maggior numero di informazioni pertenenti e il minor numero di token possibili a un'interazione con DS4, in modo che sostanzialmente si possa utilizzare poi la gestione corretta di tutto il sistema del contesto e delle risorse del mio Mac Studio.

106
00:23:16,360 --> 00:23:30,680
Quindi, nella sostanza, ho innanzitutto inserito un sistema di rag interno ottimizzato, ho deciso di un sistema per estrapolare di estrazione testo da PDF e DocX.

107
00:23:30,680 --> 00:23:50,440
Nella sostanza attualmente i DOCX vengono vengono il testo dei DocX viene estrapolato attraverso Pandock, e per ora invece i PDF vengono il testo dei PDF viene estrapolato con PDF kit, anche se sto valutando l'utilizzo di Docklin gestito dall'applicazione.

108
00:23:50,440 --> 00:23:59,560
Questo fa sì che da una parte appunto viene passato solo il testo A DS4, il testo chiamiamo così ottimizzato, dall'altra.

109
00:24:00,520 --> 00:24:32,920
È possibile fare rag su PDF e DocX e questo ha un vantaggio perché tra le varie cose che ho voluto integrare sostanzialmente nel sistema è anche quello di quando va a fare l'estrapolazione delle informazioni, ogni informazione dovrebbe, perché tutta questa parte l'ho fatta iniziare a sviluppare, ma non ho ancora avuto modo di testarla approfonditamente nel sistema, dovrebbe darti anche la pagina di riferimento del PDF, per esempio.

110
00:24:32,920 --> 00:24:46,800
O come notebook LM, sostanziano i riferimenti al testo da dove ha estrapolato quell'informazione e quindi il testo da cui è estrapolato quell'informazione, quindi un sistema veloce di verifica.

111
00:24:47,040 --> 00:24:55,440
Ovviamente tutto all'interno di questo sistema, tutto in lavoro locale quindi molto molto interessante, almeno dal mio punto di vista.

112
00:24:55,440 --> 00:24:58,320
Poi c'è da valutare e implementare un sistema.

113
00:24:58,560 --> 00:25:03,840
Il sistema appunto di task cosiddetti notturni, che però non è ancora stato minimamente fatto.

114
00:25:03,840 --> 00:25:31,360
Diciamo, è solo nella fase di programmazione, barra strutturazione, per semplificare e ottimizzare il lavoro notturno e un sistema anche di calcolo notturno, questa secondo me è la cosa più interessante dal mio punto di vista: dei prefil, nella sostanza, appunto appunto come ti raccontavo di S4 di Salvatore San Filippo, tra i trucchi, diciamo, a quello di poter recuperare i calcoli, diciamo già svolti.

115
00:25:31,360 --> 00:25:44,160
Quindi, nella sostanza, per esempio, per le skill per le informazioni dell'MCP, sono tutte informazioni che devono essere calcolate, quindi inserite nel prefill così detto prima di poter fare qualsiasi altra cosa.

116
00:25:44,160 --> 00:26:09,520
Se io le faccio calcolare di notte, mettiamola così, a me e per esempio per le skill, che poi si stabilizzano, diciamo, salvo quei pezzi di prefile e strutturo tutto un sistema per cui posso ricostruire il prefile a pezzi, mettiamola così, teoricamente dovrei riuscire a ottimizzare l'inferenza di S4 anche con pochissima RAM.

117
00:26:09,520 --> 00:26:59,880
Ovviamente non funzionerà in maniera super veloce, ma sicuramente mi darà la possibilità invece di fare tante cose, anche perché, per esempio, anche qui i documenti fondamentali, per esempio, gli atti, possono essere prima convertiti in testo e quindi compattati, diciamo al minimo sindacale e poi ogni singolo documento, per esempio, di una pratica o i documenti più importanti, chiamiamoli così, possono essere già precalcolati e a questo punto passati all'interno del sistema, anche perché qui ho creato un'altra cosa che adesso è tutta da valutare, ma sostanzialmente il sistema lavora a pratica a pratiche, quindi, anche qui tu gli inserisci la pratica A, mettiamola così, te la indicizza, quindi va vettorializza tutto e così via.

118
00:26:59,880 --> 00:27:08,280
Ma tra l'altro, ti fa il prefill di tutti i vari documenti e sto ragionando anche, ti fa la sintesi dei documenti.

119
00:27:08,280 --> 00:27:12,520
Siccome ovviamente lavorando su in locale, questo è un ottimo risultato.

120
00:27:12,840 --> 00:27:27,000
A questo punto appunto Di-Sik ha già facendola durante la notte, mettiamola in questi termini, ha già la pappa pronta, diciamo e quindi riesce a funzionare meglio a fronte di risorse ridotte.

121
00:27:27,000 --> 00:27:30,920
Sto anche ragionando di testare tecniche e risultati.

122
00:27:31,640 --> 00:27:44,440
Per questo motivo che poter provare le cose è importante, per ottimizzare i flussi di lavoro vari, per esempio, appunto ho fatto tutta una serie di test veloci sulla skin per Bulldado.

123
00:27:44,440 --> 00:28:00,920
Perché appunto, diciamo la skill base è molto grossa, quindi occupa un grosso contesto e invece una skill ottimizzata quindi col minor testo possibile, ma con la maggior capacità di funzionare bene, mettiamola così permette varie cose.

124
00:28:00,920 --> 00:28:15,760
Tra l'altro quello che ho raccontato nella puntata 21: cioè il discorso delle mail e dell'estrapolazione di informazioni dalle mail per svolgere attività per creare dei report e così via, inizia a diventare molto interessante.

125
00:28:15,920 --> 00:29:19,680
Anzi, diciamo, mentre sto registrando la puntata, ho tra le varie altre cose iniziato a inserire tutto questo flusso di lavoro con le varie ricerche che avevo già fatto e con una bozza di applicazione che poi avevo lasciato l'a morire nel dimenticatorio, per vedere se riesco a fare tutta questa cosa, perché effettivamente in questa maniera è molto interessante, soprattutto siccome io archivio i file ML all'interno della pratica, la possibilità anche di indicizzare questi file già archiviati e di creare sostanzialmente una sorta di racconto della corrispondenza email diventa molto molto interessante e nella sostanza rienta pieno in questo progetto diciamo di applicazione, per cui tutto quello che ti sto raccontando, salve le cose che ho detto che già funzionano e che, però non sempre ho testato, ti danno un'idea di quello che anche con un hardware relativamente ridotto si potrebbe fare con DS4 che gira in locale.

126
00:29:19,680 --> 00:29:51,520
Ed è il motivo poi fondamentale per cui mi sono imbarcato in questa avventura che, come al solito non so che risultati porterà, ma diciamo di cui ti parlo, anche per farti capire che comunque insomma, un hardware che comunque, seppur carrozzato all'epoca ormai a 4 anni, potenzialmente con tutta una serie di vincoli, e comunque di trucchi per cercare di ottimizzarlo, può iniziare a essere utile per il lavoro nel mondo legale.

127
00:29:51,520 --> 00:30:24,360
È ovvio che hardware più potente permetterebbe di fare tutto più o meno in maniera automatica, molto più semplice, ma devo dire la verità, anche qui probabilmente tutta la parte di organizzazione del lavoro anche durante il periodo notturno, credo sia utile, consigliabile da inserire, perché comunque permette poi di far funzionare meglio di utilizzare meglio questo hardware perché, se no, tendenzialmente negli orari notturni non verrebbe mai utilizzato.

128
00:30:24,360 --> 00:30:30,520
Mi sembra giusto comunque ripetere i limiti e fare un punto anche sui limiti di una soluzione simile.

129
00:30:30,520 --> 00:30:38,280
Innanzitutto una normale inferenza come dialogo in chat di fatto è praticamente impossibile.

130
00:30:38,280 --> 00:30:46,920
Appunto, non ho ancora avuto modo di fare dei test veri, ma da quello che ho nasato, diciamo anche per una semplice ricerca giurisprudenziale.

131
00:30:46,920 --> 00:30:58,840
I tempi sarebbero veramente non dico biblici, ma comunque abbastanza lunghi, da quello che ho ragionato io non meno di 15-20 minuti a ricerca, quindi sicuramente fattibile.

132
00:30:58,840 --> 00:31:22,040
Ma diciamo per esempio per la ricerca giurisprudenziale, dove sostanzialmente non c'è un problema di riservatezza e di segreto, sicuramente ha più senso fare generare queste ricerche da cloud code, perplexity o quant'altro che lavorano in decine di secondi e non in 15-20 minuti.

133
00:31:22,520 --> 00:31:42,920
In più, ovviamente, ne posso fare una alla volta, mentre con gli altri sistemi possa addirittura lavorare in parallelo, quindi fare n ricerche e quindi questo attualmente non ha molto senso, ha molto più senso invece per quanto riguarda tutto il mondo dei documenti riservati.

134
00:31:42,920 --> 00:31:44,920
Teoricamente il sistema.

135
00:31:45,200 --> 00:31:53,360
Anche qui potrebbe essere fatto utilizzato come un sistema agentico, diciamo, a livello teorico è possibile.

136
00:31:53,360 --> 00:32:07,840
Probabilmente appunto con Rado idoneo è fattibile anche, ma nella concretezza del mio hardware diciamo sarebbe super lento, o anche qui da svolgere in periodi notturni.

137
00:32:07,840 --> 00:32:19,120
E probabilmente diciamo può rientrare tra uno sviluppo futuro quando avrò eventualmente indicizzato tutte le posizioni attive del mio ufficio.

138
00:32:19,280 --> 00:32:36,720
A questo punto, avendo nella maggior parte dei casi la notte libera, mettiamola così, diciamo, programmare, o ragionare di poter programmare dei task a lungo termine, diciamo, solo durante la notte potrebbe essere un qualcosa di utile, ma sicuramente non a breve.

139
00:32:36,720 --> 00:32:42,080
L'altro limite enorme che va considerato è che funziona solo per un utente.

140
00:32:42,080 --> 00:32:50,560
Quindi un sistema del genere, comunque allo stato attuale, ma anche la versione di Salvatore con 128 GB di RAM.

141
00:32:50,560 --> 00:33:14,560
Funziona solo ed esclusivamente per un utente eventualmente con un discorso di programmazione dei task uno dopo l'altro, ma comunque con rallentamenti significativi si potrebbe ragionare di dire appunto: l'utente fa una domanda, viene messa nella coda, progressivamente.

142
00:33:14,800 --> 00:33:21,360
Vengono date le risposte in base alla coda delle domande.

143
00:33:21,360 --> 00:34:25,640
Tuttavia, però credo che nella sostanza nel mondo legale non abbia molto senso, mettiamola così in quest'ottica qui comunque richiede un modo di lavorare differente per le mie necessità, diciamo e soprattutto nell'ottica di testare, sicuramente appunto strutturare un sistema di lavoro notturno è interessante dal mio punto di vista, ma anche qui probabilmente non è per tutti e non so neanche addirittura se poi i risultati lo meriteranno, nel senso che il problema grosso, appunto è che tu fai partire o programmi un task per partire alla notte mettiamola in questi termini: il task va e poi al mattino leggi il risultato, che sembra non è il risultato che speravi, o perché ci mancava qualcosa o perché appunto come tipico nell'archet language model, il primo approccio non è quello corretto, mettiamola così, e quindi la tua domanda o il risultato va adeguato.

144
00:34:25,800 --> 00:34:31,160
Quindi sì, il sistema, diciamo, rischia di essere veramente molto dilatato nel tempo.

145
00:34:31,160 --> 00:34:47,800
La mia idea di fondo infatti è quella sostanzialmente innanzitutto di far fare riassunti e avere in estrema sintesi tutta una serie di materiale che poi possa rendere la vita più semplice, diciamo, o addirittura fare la famosa raga all'interno dei documenti.

146
00:34:47,800 --> 00:34:53,960
Quindi mi ricordo che avevo letto da qualche parte che io, non so, in una testimonianza si diceva quella cosa.

147
00:34:53,960 --> 00:35:16,480
Io faccio la RAG e trovo la pagina esatta del PDF, quindi riesco a estrapolare le informazioni soprattutto su informazioni di grosso calibro, o posso far fare delle ricerche di grossa portata all'interno della documentazione di una documentazione grossa perché una volta che indicizzata la documentazione, io posso andare con la raga a fare tutte le ricerche del caso.

148
00:35:14,920 --> 00:35:21,040
Quindi, secondo me, su questo fronte, diciamo è la soluzione migliore.

149
00:35:21,520 --> 00:35:29,120
Bene, siamo arrivati in fondo, diciamo, tirando le solite somme, sicuramente è un'interessantissima prova di concetto.

150
00:35:29,120 --> 00:35:41,440
L'app Swift sopra il server DS4 permette di personalizzare senza riinventare la ruota, e questo secondo me è molto interessante, nel senso che appunto.

151
00:35:41,440 --> 00:35:58,240
Io adesso ho fatto questo ragionamento ovviamente in ambito legale perché è quello che interessa a me, ma volendo ovviamente utilizzando gli agenti per la codifica e quindi l'intelligenza artificiale per la codifica, questo sistema si applica a N realtà e a N situazioni differenti.

152
00:35:58,240 --> 00:36:01,520
Ovvio che va ragionato il sistema.

153
00:36:01,520 --> 00:36:14,560
È interessante avere appunto una potenziale app verticale per gli avvocati, con da una parte potenza e diciamo calibrazione proprio per i workflow specifici degli avvocati, senza però la complessità.

154
00:36:14,560 --> 00:36:37,440
Il lavoro che ho svolto fino adesso mi ha riconfermato come lo sviluppo di un'app è comunque sempre complessa e soprattutto è necessario pianificare il suo sviluppo, lo studio attento di come funziona di quali sono i flussi di lavoro sono fondamentali sostanzialmente per poi ottenere un buon risultato.

155
00:36:37,440 --> 00:36:43,520
L'esempio mio è che sono andato un po' alla sperendio, diciamo, e ne ho pagato subito le conseguenze.

156
00:36:43,520 --> 00:37:03,320
Adesso ho iniziato tutto un percorso di pianificazione a lungo termine di rielaborazione del sistema, proprio per anche ausiliato, ovviamente l'intelligenza artificiale proprio per creare una strada più lineare e sensata per lo sviluppo e la gestione di questa app.

157
00:37:03,720 --> 00:37:17,560
Come sempre, se ti è piaciuto quello che hai ascoltato, ti propongo di iscriverti alla newsletter ogni mese, questo mese no, ma ogni mese ti invio una mail con i link ad articoli che ho trovato interessanti.

158
00:37:17,560 --> 00:37:21,160
Ti avviso dei nuovi podcast o di nuovi articoli che ho pubblicato.

159
00:37:21,160 --> 00:37:33,320
Come sempre, trovi le note dell'episodio all'indirizzo https due punti slash slash www.avocati e trattino Mac.

160
00:37:36,680 --> 00:37:38,280
Che è il numero di questa puntata.

161
00:37:38,280 --> 00:37:40,680
Come sempre, ci sentiamo alla prossima.
