SlideShare a Scribd company logo
1 of 57
Download to read offline
Alberto Peripolli
Cosa, come e perché integrare l'IA nei nostri progetti
🤖 ChatGPT con Laravel & beyond
Chi sono?!?
• Freel
a
nce
• Amministr
a
tore nelle community L
a
r
a
vel It
a
li
a
• Gioc
a
tore di hockey 🏒
• P
a
p
à
di un b
a
mbino riccio
• Cofond
a
tore di
Alberto Peripolli
github.com/trippo
Cosa (spero) vi porterete a casa dopo il mio talk
Di cosa parleremo?
• Cos
a
o
ff
re OpenAI
a
noi svilupp
a
tori
• Come integr
a
rlo nei nostri progetti
• C
a
pire i limiti e perfezion
a
re le richieste per super
a
rli
• Esempi di utilizzo in progetti re
a
li
• Rischi nell'integr
a
zione dell'IA
• Cos
a
ci riserv
a
il futuro
Large language model
Cos'è e come funziona un LLM
• Un L
a
rge L
a
ngu
a
ge Model (LMM) è un modello linguistico
costituito d
a
un
a
rete neur
a
le con molti p
a
r
a
metri,
a
ddestr
a
t
a
su gr
a
ndi qu
a
ntit
à
di testo non etichett
a
to utilizz
a
ndo il self-
supervised le
a
rning.
??!??
??!??
Cos'è e come funziona un LLM
Per c
a
pire come funzion
a
vi consiglio di
a
scolt
a
re questo
episodio del podc
a
st
"PENSIERI IN CODICE"
P
a
rtendo d
a
un esempio semplice con i libri che
a
vete
a
c
a
s
a
, potete complet
a
re un input
a
ggiungendo p
a
rol
a
dopo p
a
rol
a
similmente
a
ch
a
tGPT...
pensieriincodice.it/118
Podc
a
st
Ecosistema OpenAI
• Modelli GPT (gener
a
tive pre-tr
a
ined Tr
a
nsformer)
a
ddestr
a
ti per comprendere lingu
a
ggio n
a
tur
a
le e il codice
• H
a
un
a
serie di modelli con prezzi di
ff
erenti
• Espone i propri servizi tr
a
mite API
• Non solo ch
a
tGPT m
a
a
nche imm
a
gini,
a
udio,
moder
a
zione, ...
Modelli e token
Ecosistema OpenAI
Per l'el
a
bor
a
zione dei testi non utilizz
a
le p
a
role m
a
i token
1 token = circ
a
4 c
a
r
a
tteri o 0,75 p
a
role per testo inglese
I token r
a
ppresent
a
no un
a
sequenze di c
a
r
a
tteri
Modelli e token
Ecosistema OpenAI
pl
a
tform.open
a
i.com/tokenizer
Modelli e token
Ecosistema OpenAI
I token sono import
a
nti per il c
a
lcolo del costo e il limite di prompt
GPT-4
GPT-3.5 turbo
Librerie
Richieste ad OpenAI
• open
a
i-php/client
• open
a
i-php/l
a
r
a
vel (wr
a
pper con con
f
ig
f
ile, F
a
c
a
de, testing)
Tipi di interazione con GPT
Richieste ad OpenAI
Ch
a
t Completion
Text Completion
Questi modelli di ch
a
t
a
ccett
a
no un elenco di
mess
a
ggi come input e restituiscono un
mess
a
ggio gener
a
to d
a
l modello come output.
L'inter
a
zione con essi quindi può
a
nd
a
re
a
v
a
nti
più volte
Questi modelli ricevono in input un
a
string
a
di
testo in form
a
to libero chi
a
m
a
t
a
prompt e
forniscono un
a
singol
a
rispost
a
.
gpt-3.5-turbo-instruct gpt-3.5-turbo, gpt-4
DEPRECATED
Chat completion
Parametro temperature
0 2
1
Best practices costruzione di un prompt
• Includi più dett
a
gli nell
a
tu
a
dom
a
nd
a
per ottenere risposte più pertinenti
• Chiedi
a
l modello di risponderti con un
a
person
a
lit
à
o competenz
a
(System prompt)
• Utilizz
a
delimit
a
tori per indic
a
re chi
a
r
a
mente p
a
rti distinte dell'input (3 x " ,
xml t
a
g)
• Speci
f
ic
a
re i p
a
ss
a
ggi necess
a
ri per complet
a
re un'
a
ttivit
à
• Richiedi uno stile di rispost
a
• Speci
f
ic
a
l
a
lunghezz
a
desider
a
t
a
dell'output
• Fornisci degli esempi
• Chiedi
a
l modello di rispondere utilizz
a
ndo un testo di riferimento
Summ
a
rize the text delimited by triple quotes
with
a
h
a
iku. """insert text here"""
How do I
a
dd numbers in Excel?
How do I
a
dd up
a
row of doll
a
r
a
mounts in
Excel? I w
a
nt to do this
a
utom
a
tic
a
lly for
a
whole sheet of rows with
a
ll the tot
a
ls ending up
on the right in
a
column c
a
lled "Tot
a
l".
You
a
re
a
L
a
r
a
vel tests expert, ple
a
se write
a
test for this cl
a
ss...
Use the following step-by-step instructions to respond to
user inputs.
Step 1 - The user will provide you with text in triple quotes...
Step 2 - Tr
a
nsl
a
te the summ
a
ry from Step 1 into Sp
a
nish...
Tempi di risposta delle API
V
a
ri
a
bili
a
second
a
del modello, lunghezz
a
del prompt
e disponibilit
à
server l
a
to OpenAI
• GPT-3.5 più veloce di GPT-4
• I tempi v
a
nno d
a
1
a
20 secondi
• Ci possono essere dei timeout
Streamed completion
Server-sent Events
Streamed completion
Frontend
Streamed completion
Backend
Streamed completion
Risultato
Streamed completion
LIVEWIRE
Streamed completion
Limiti
Richieste a GPT
• Non si
a
mo sicuri dell
a
correttezz
a
delle risposte
• Non esiste un modo per c
a
pire o cit
a
re le fonti utilizz
a
te nelle risposte
• I d
a
ti che possi
a
mo p
a
ss
a
re
a
GPT sono limit
a
ti:
Modello Limite token P
a
gine di un libro
gpt-3.5-turbo 4 097 9
gpt-3.5-turbo-16k 16 385 38
gpt-4 8 192 19
gpt-4-32k 32 768 77
Embedding
text-embedding-ada-002
Embedding è un modello che consente di convertire testo in un vettore di numeri
che ne misur
a
no l
a
correl
a
zione
Come funziona
Embedding
1. Dividi
a
mo il contenuto in sezioni o chunks (es. sotto c
a
pitoli di un libro)
2. Converti
a
mo ogni sezione con il modello di embedding in vettori
3. S
a
lvi
a
mo il contenuto dell
a
sezione e il vettore in d
a
t
a
b
a
se
4. Otteni
a
mo un
a
richiest
a
d
a
p
a
rte dell'utente
5. C
a
lcoli
a
mo l'embedding dell
a
richiest
a
6. Confronti
a
mo il vettore dell
a
richiest
a
con quelli del nostro d
a
t
a
b
a
se (
a
lg. cosine simil
a
rity)
7. P
a
ssi
a
mo il contenuto delle N sezioni più simil
a
ri
a
GPT insieme
a
ll
a
richiest
a
8. Otteni
a
mo l
a
rispost
a
d
a
GPT
Esempio
Embedding
Vehikl AI Te
a
ser
Casi d'uso
Embedding
• Ricerc
a
• Clustering
• Rilev
a
mento
a
nom
a
lie
• Cl
a
ssi
f
ic
a
zione
• Ch
a
tbot
Limiti
Richieste a GPT
• Non si
a
mo sempre certi del form
a
to o del tipo di risposte che ci
fornisce GPT
• Le inform
a
zioni imm
a
g
a
zzin
a
te nei modelli ris
a
lgono
a
Settembre 2021
Cos'è
Fine Tuning
• Un metodo di
a
ddestr
a
mento m
a
nu
a
le del modello GPT
Esempio: dataset per il training
Fine Tuning
...
Esempio: caricamento
fi
le
Fine Tuning
Esempio: risposta caricamento
fi
le
Fine Tuning
Esempio: creazione job di
fi
ne tuning
Fine Tuning
Esempio: risposta creazione job di
fi
ne tuning
Fine Tuning
Esempio: utilizzo del modello trainato
Fine Tuning
The GrUSP te
a
m,
a
group of young
a
nd bold boys/girls
Wh
a
t's l
a
r
a
veld
a
y?
The only d
a
y of the ye
a
r when you c
a
n put bot
a
nd hum
a
n in the s
a
me room
Caratteristiche
Fine Tuning
• Risult
a
ti di qu
a
lit
à
superiore
• Utilizzo di meno token nel prompt (in qu
a
nto il modello s
a
r
à
gi
à
a
llen
a
to sui nostri esempi)
• Richieste con l
a
tenz
a
inferiore
Casi d'uso
Fine Tuning
• Impost
a
zione dello stile, del tono, del form
a
to o di
a
ltri
a
spetti qu
a
lit
a
tivi
• Correggere gli errori nel seguire istruzioni complesse
• Gestire molti c
a
si limite in modi speci
f
ici
• Eseguire un
a
nuov
a
a
bilit
à
o
a
ttivit
à
di
ff
icile d
a
richiedere in un prompt
Avvertenze
Fine Tuning
• È f
a
ticos
a
e lent
a
d
a
re
a
lizz
a
re
• Molte volte si può r
a
ggiungere un risult
a
to p
a
r
a
gon
a
bile miglior
a
ndo il prompt
• Agendo sul prompt si h
a
un feedb
a
ck più cost
a
nte sui risult
a
ti
• Cost
a
8 volte l
a
completion
Limiti
Richieste a GPT
M
a
nc
a
nz
a
di conoscenz
a
del presente...
• Che tempo f
a
a
Venezi
a
?
• Mi f
a
i un ri
a
ssunto di questo sito https://www.l
a
r
a
veld
a
y.it?
• H
a
vinto il Mil
a
n nell'ultim
a
p
a
rtit
a
?
Non posso rispondere
a
quest
a
dom
a
nd
a
in modo
a
ccur
a
to poiché ....
Come funziona?
Function Call
1. Richiest
a
di ch
a
t completion p
a
ss
a
ndo
a
nche le de
f
inizioni delle funzioni che rendi
a
mo
disponibili
a
GPT
2. Il modello potrebbe scegliere di chi
a
m
a
re un
a
funzione rispondendo con un JSON form
a
tt
a
to
con tutti i p
a
r
a
metri
3. L
a
to
a
pplic
a
tivo richi
a
mi
a
mo l
a
nostr
a
funzione con i p
a
r
a
metri p
a
ss
a
ti d
a
GPT
4. Rif
a
cci
a
mo l
a
richiest
a
a
ggiungendo
a
nche l
a
rispost
a
dell
a
funzione
5. Otteni
a
mo l
a
rispost
a
d
a
GPT
Esempio
Function Call
Esempio
Function Call
Esempio
Function Call
Il tempo
a
Venezi
a
è soleggi
a
to con un
a
temper
a
tur
a
di 24 gr
a
di Celsius.
Cosa possiamo fare?
Function Call
• Recuper
a
re d
a
ti d
a
internet (scr
a
ping) o d
a
API esterne
• Ottenere inform
a
zioni d
a
ll
a
nostr
a
b
a
se d
a
ti
• Eseguire
a
zioni esterne (invio noti
f
iche,
a
cquisti, cre
a
re post,...)
• Eseguire funzioni custom
• Cre
a
re un
a
ssistente virtu
a
le
Avvertenze
Function Call
• Le p
a
rti testu
a
li destin
a
te
a
ll
a
dichi
a
r
a
zione delle functions vengono conteggi
a
te
come tokens
• Chiedete sempre conferm
a
a
ll'utente prim
a
di l
a
nci
a
re
a
zioni import
a
nti in m
a
nier
a
a
utom
a
tic
a
Esempi di utilizzo in progetti reali
• Gener
a
zione di contenuti
• Ri
a
ssunti di contenuti
• Sentiment An
a
lysis
• Miglior
a
re esperienz
a
utente richi
a
m
a
ndo funzion
a
lit
à
d
a
l testo
• Spieg
a
zione di codice
• Cre
a
zione di codice
• Richieste di inform
a
zioni su un contenuto
• Molto
a
ltro
Cosa possiamo farci con chatGPT?
What The Di
f
Esempi di utilizzo in progetti reali
• Wh
a
t The Di
ff
scrive
a
utom
a
tic
a
mente le descrizioni delle pull request, invi
a
noti
f
iche di riepilogo per tenere
a
ggiorn
a
te le p
a
rti interess
a
te non tecniche
e ti
a
iut
a
a
eseguire il ref
a
ctoring di problemi minori dur
a
nte l
a
revisione.
ChatGPT Plugin with Laravel
Esempi di utilizzo in progetti reali
• Esempio di come cre
a
re un plugin per l'interf
a
cci
a
di Ch
a
tGPT di OpenAI
che ritorn
a
l'html di un
a
p
a
gin
a
web
smousss.com
Esempi di utilizzo in progetti reali
Smousss, un
a
ssistente b
a
s
a
to sull'IA per gli svilupp
a
tori L
a
r
a
vel.
• Rendi tr
a
ducibili i tuoi progetti L
a
r
a
vel
• Gener
a
Model f
a
ctories m
a
nc
a
nti
• Gener
a
p
a
nnelli di
a
mministr
a
zione di L
a
r
a
vel Nov
a
• Gener
a
migr
a
zioni m
a
nc
a
nti
• Migr
a
re d
a
PHPUnit
a
Pest 2
Fix your Laravel exceptions with AI
Esempi di utilizzo in progetti reali
• Aggiungere
a
ll
a
p
a
gin
a
di errore di ignition un
a
spieg
a
zione
dell'errore gener
a
t
a
d
a
GPT b
a
s
a
t
a
sullo st
a
cktr
a
ce di errore
ChatGPT Mock API Generator for Laravel
Esempi di utilizzo in progetti reali
• P
a
cchetto L
a
r
a
vel che permette di gener
a
re un mock per API
utilizz
a
ndo dei prompt Ch
a
tGPT
Saying goodbye to WIP commit messages
Esempi di utilizzo in progetti reali
• Utilizzo di GPT per compil
a
re l
a
descrizione del commit
a
p
a
rtire
d
a
ll'output di "git di
ff
"
Rischi nell'integrazione dell'IA
• Non si è m
a
i certi dell
a
correttezz
a
dell
a
rispost
a
ottenut
a
• Allucin
a
zioni
• Bi
a
s
• D
a
t
a
Priv
a
cy
• Security (Prompt Injection, J
a
ilbre
a
king, Session Hij
a
cking)
Gioco Gandalf
Rischi nell'integrazione dell'IA
• https://g
a
nd
a
lf.l
a
ker
a
.
a
i
• Gioco inter
a
ttivo in cui bisogn
a
cerc
a
re di scoprire l
a
p
a
ssword custodit
a
d
a
G
a
nd
a
lf tr
a
mite un prompt con livelli increment
a
li di di
ff
icolt
à
Il nostro futuro con l'IA
• Lo sviluppo e miglior
a
mento dell'IA
a
umenter
à
sempre più velocemente...
Ultim
a
notizi
a
del 6 Novembre... OpenAI present
a
in bet
a
Assist
a
nts API e GPT-4-TURBO
• D
a
t
a
set
a
ggiorn
a
to
a
d Aprile 2023
• Contesto 128K token
• Costi ridotti per tutte le nuove versioni dei modelli
• Function c
a
ll multiple
• Possibilit
à
di ricevere e c
a
pire imm
a
gini (Vision)
• JSON mode
Il nostro futuro con l'IA
• IA s
a
r
à
d
a
ppertutto
• Ogni svilupp
a
tore dovr
à
imp
a
r
a
re
a
d integr
a
rl
a
e utilizz
a
rl
a
• I modelli LLM ottimizz
a
ti sul codice sostituir
a
nno molti junior developer
• LLM sostituir
a
nno molte API
• Ch
a
tbot o
a
ssistenti virtu
a
li sostituir
a
nno molte UI
Tutto questo è st
a
to studi
a
to e speriment
a
to giorno dopo giorno costruendo
Gr
a
zie
a
tutti!
Per vot
a
re il t
a
lk:
https://joind.in/t
a
lk/
a
7763

More Related Content

Similar to Laravelday 2023 - ChatGPT con Laravel ^ beyond

DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptSinergia Totale
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScriptSinergia Totale
 
Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...
Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...
Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...Codemotion
 
Come utilizzare il bot framework
Come utilizzare il bot frameworkCome utilizzare il bot framework
Come utilizzare il bot frameworkAlessio Iafrate
 
CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017
CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017
CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017Isabella Massardo
 
"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi
"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi
"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in DelphiMarco Breveglieri
 
A brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA eventA brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA eventPietro Di Bello
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
 
Python@Unina - Theory
Python@Unina - TheoryPython@Unina - Theory
Python@Unina - TheoryNaLUG
 
Repository pattern slides v1.1
Repository pattern slides v1.1Repository pattern slides v1.1
Repository pattern slides v1.1Christian Nastasi
 
Code Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryCode Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryAndrea Saltarello
 
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
 
Langue&parole traduzione automatica e post-editing 2015 finale
Langue&parole   traduzione automatica e post-editing 2015 finaleLangue&parole   traduzione automatica e post-editing 2015 finale
Langue&parole traduzione automatica e post-editing 2015 finaleIsabella Massardo
 

Similar to Laravelday 2023 - ChatGPT con Laravel ^ beyond (20)

Kotlin hexagonal-architecture
Kotlin hexagonal-architectureKotlin hexagonal-architecture
Kotlin hexagonal-architecture
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScript
 
Corso Java 1 - BASE
Corso Java 1 - BASECorso Java 1 - BASE
Corso Java 1 - BASE
 
Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...
Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...
Alessio Iafrate - Utilizziamo il Bot Framework per realizzare il nostro primo...
 
Come utilizzare il bot framework
Come utilizzare il bot frameworkCome utilizzare il bot framework
Come utilizzare il bot framework
 
Vdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_juneVdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_june
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017
CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017
CAT Tools for dummies - Corso online organizzato da Langue & Parole 2017
 
"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi
"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi
"Non Aprite Quella Unit!" ovvero "Scrivere Clean Code in Delphi
 
A brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA eventA brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA event
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
 
Python@Unina - Theory
Python@Unina - TheoryPython@Unina - Theory
Python@Unina - Theory
 
OOP with C#
OOP with C#OOP with C#
OOP with C#
 
Repository pattern slides v1.1
Repository pattern slides v1.1Repository pattern slides v1.1
Repository pattern slides v1.1
 
Code Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryCode Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled Repository
 
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
 
Thread
ThreadThread
Thread
 
Langue&parole traduzione automatica e post-editing 2015 finale
Langue&parole   traduzione automatica e post-editing 2015 finaleLangue&parole   traduzione automatica e post-editing 2015 finale
Langue&parole traduzione automatica e post-editing 2015 finale
 

Laravelday 2023 - ChatGPT con Laravel ^ beyond

  • 1. Alberto Peripolli Cosa, come e perché integrare l'IA nei nostri progetti 🤖 ChatGPT con Laravel & beyond
  • 2. Chi sono?!? • Freel a nce • Amministr a tore nelle community L a r a vel It a li a • Gioc a tore di hockey 🏒 • P a p à di un b a mbino riccio • Cofond a tore di Alberto Peripolli github.com/trippo
  • 3. Cosa (spero) vi porterete a casa dopo il mio talk Di cosa parleremo? • Cos a o ff re OpenAI a noi svilupp a tori • Come integr a rlo nei nostri progetti • C a pire i limiti e perfezion a re le richieste per super a rli • Esempi di utilizzo in progetti re a li • Rischi nell'integr a zione dell'IA • Cos a ci riserv a il futuro
  • 4. Large language model Cos'è e come funziona un LLM • Un L a rge L a ngu a ge Model (LMM) è un modello linguistico costituito d a un a rete neur a le con molti p a r a metri, a ddestr a t a su gr a ndi qu a ntit à di testo non etichett a to utilizz a ndo il self- supervised le a rning. ??!?? ??!??
  • 5. Cos'è e come funziona un LLM Per c a pire come funzion a vi consiglio di a scolt a re questo episodio del podc a st "PENSIERI IN CODICE" P a rtendo d a un esempio semplice con i libri che a vete a c a s a , potete complet a re un input a ggiungendo p a rol a dopo p a rol a similmente a ch a tGPT... pensieriincodice.it/118 Podc a st
  • 6. Ecosistema OpenAI • Modelli GPT (gener a tive pre-tr a ined Tr a nsformer) a ddestr a ti per comprendere lingu a ggio n a tur a le e il codice • H a un a serie di modelli con prezzi di ff erenti • Espone i propri servizi tr a mite API • Non solo ch a tGPT m a a nche imm a gini, a udio, moder a zione, ...
  • 7. Modelli e token Ecosistema OpenAI Per l'el a bor a zione dei testi non utilizz a le p a role m a i token 1 token = circ a 4 c a r a tteri o 0,75 p a role per testo inglese I token r a ppresent a no un a sequenze di c a r a tteri
  • 8. Modelli e token Ecosistema OpenAI pl a tform.open a i.com/tokenizer
  • 9. Modelli e token Ecosistema OpenAI I token sono import a nti per il c a lcolo del costo e il limite di prompt GPT-4 GPT-3.5 turbo
  • 10. Librerie Richieste ad OpenAI • open a i-php/client • open a i-php/l a r a vel (wr a pper con con f ig f ile, F a c a de, testing)
  • 11. Tipi di interazione con GPT Richieste ad OpenAI Ch a t Completion Text Completion Questi modelli di ch a t a ccett a no un elenco di mess a ggi come input e restituiscono un mess a ggio gener a to d a l modello come output. L'inter a zione con essi quindi può a nd a re a v a nti più volte Questi modelli ricevono in input un a string a di testo in form a to libero chi a m a t a prompt e forniscono un a singol a rispost a . gpt-3.5-turbo-instruct gpt-3.5-turbo, gpt-4 DEPRECATED
  • 14. Best practices costruzione di un prompt • Includi più dett a gli nell a tu a dom a nd a per ottenere risposte più pertinenti • Chiedi a l modello di risponderti con un a person a lit à o competenz a (System prompt) • Utilizz a delimit a tori per indic a re chi a r a mente p a rti distinte dell'input (3 x " , xml t a g) • Speci f ic a re i p a ss a ggi necess a ri per complet a re un' a ttivit à • Richiedi uno stile di rispost a • Speci f ic a l a lunghezz a desider a t a dell'output • Fornisci degli esempi • Chiedi a l modello di rispondere utilizz a ndo un testo di riferimento Summ a rize the text delimited by triple quotes with a h a iku. """insert text here""" How do I a dd numbers in Excel? How do I a dd up a row of doll a r a mounts in Excel? I w a nt to do this a utom a tic a lly for a whole sheet of rows with a ll the tot a ls ending up on the right in a column c a lled "Tot a l". You a re a L a r a vel tests expert, ple a se write a test for this cl a ss... Use the following step-by-step instructions to respond to user inputs. Step 1 - The user will provide you with text in triple quotes... Step 2 - Tr a nsl a te the summ a ry from Step 1 into Sp a nish...
  • 15. Tempi di risposta delle API V a ri a bili a second a del modello, lunghezz a del prompt e disponibilit à server l a to OpenAI • GPT-3.5 più veloce di GPT-4 • I tempi v a nno d a 1 a 20 secondi • Ci possono essere dei timeout
  • 22. Limiti Richieste a GPT • Non si a mo sicuri dell a correttezz a delle risposte • Non esiste un modo per c a pire o cit a re le fonti utilizz a te nelle risposte • I d a ti che possi a mo p a ss a re a GPT sono limit a ti: Modello Limite token P a gine di un libro gpt-3.5-turbo 4 097 9 gpt-3.5-turbo-16k 16 385 38 gpt-4 8 192 19 gpt-4-32k 32 768 77
  • 23. Embedding text-embedding-ada-002 Embedding è un modello che consente di convertire testo in un vettore di numeri che ne misur a no l a correl a zione
  • 24. Come funziona Embedding 1. Dividi a mo il contenuto in sezioni o chunks (es. sotto c a pitoli di un libro) 2. Converti a mo ogni sezione con il modello di embedding in vettori 3. S a lvi a mo il contenuto dell a sezione e il vettore in d a t a b a se 4. Otteni a mo un a richiest a d a p a rte dell'utente 5. C a lcoli a mo l'embedding dell a richiest a 6. Confronti a mo il vettore dell a richiest a con quelli del nostro d a t a b a se ( a lg. cosine simil a rity) 7. P a ssi a mo il contenuto delle N sezioni più simil a ri a GPT insieme a ll a richiest a 8. Otteni a mo l a rispost a d a GPT
  • 26. Casi d'uso Embedding • Ricerc a • Clustering • Rilev a mento a nom a lie • Cl a ssi f ic a zione • Ch a tbot
  • 27. Limiti Richieste a GPT • Non si a mo sempre certi del form a to o del tipo di risposte che ci fornisce GPT • Le inform a zioni imm a g a zzin a te nei modelli ris a lgono a Settembre 2021
  • 28. Cos'è Fine Tuning • Un metodo di a ddestr a mento m a nu a le del modello GPT
  • 29. Esempio: dataset per il training Fine Tuning ...
  • 32. Esempio: creazione job di fi ne tuning Fine Tuning
  • 33. Esempio: risposta creazione job di fi ne tuning Fine Tuning
  • 34. Esempio: utilizzo del modello trainato Fine Tuning The GrUSP te a m, a group of young a nd bold boys/girls Wh a t's l a r a veld a y? The only d a y of the ye a r when you c a n put bot a nd hum a n in the s a me room
  • 35. Caratteristiche Fine Tuning • Risult a ti di qu a lit à superiore • Utilizzo di meno token nel prompt (in qu a nto il modello s a r à gi à a llen a to sui nostri esempi) • Richieste con l a tenz a inferiore
  • 36. Casi d'uso Fine Tuning • Impost a zione dello stile, del tono, del form a to o di a ltri a spetti qu a lit a tivi • Correggere gli errori nel seguire istruzioni complesse • Gestire molti c a si limite in modi speci f ici • Eseguire un a nuov a a bilit à o a ttivit à di ff icile d a richiedere in un prompt
  • 37. Avvertenze Fine Tuning • È f a ticos a e lent a d a re a lizz a re • Molte volte si può r a ggiungere un risult a to p a r a gon a bile miglior a ndo il prompt • Agendo sul prompt si h a un feedb a ck più cost a nte sui risult a ti • Cost a 8 volte l a completion
  • 38. Limiti Richieste a GPT M a nc a nz a di conoscenz a del presente... • Che tempo f a a Venezi a ? • Mi f a i un ri a ssunto di questo sito https://www.l a r a veld a y.it? • H a vinto il Mil a n nell'ultim a p a rtit a ? Non posso rispondere a quest a dom a nd a in modo a ccur a to poiché ....
  • 39. Come funziona? Function Call 1. Richiest a di ch a t completion p a ss a ndo a nche le de f inizioni delle funzioni che rendi a mo disponibili a GPT 2. Il modello potrebbe scegliere di chi a m a re un a funzione rispondendo con un JSON form a tt a to con tutti i p a r a metri 3. L a to a pplic a tivo richi a mi a mo l a nostr a funzione con i p a r a metri p a ss a ti d a GPT 4. Rif a cci a mo l a richiest a a ggiungendo a nche l a rispost a dell a funzione 5. Otteni a mo l a rispost a d a GPT
  • 42. Esempio Function Call Il tempo a Venezi a è soleggi a to con un a temper a tur a di 24 gr a di Celsius.
  • 43. Cosa possiamo fare? Function Call • Recuper a re d a ti d a internet (scr a ping) o d a API esterne • Ottenere inform a zioni d a ll a nostr a b a se d a ti • Eseguire a zioni esterne (invio noti f iche, a cquisti, cre a re post,...) • Eseguire funzioni custom • Cre a re un a ssistente virtu a le
  • 44. Avvertenze Function Call • Le p a rti testu a li destin a te a ll a dichi a r a zione delle functions vengono conteggi a te come tokens • Chiedete sempre conferm a a ll'utente prim a di l a nci a re a zioni import a nti in m a nier a a utom a tic a
  • 45. Esempi di utilizzo in progetti reali • Gener a zione di contenuti • Ri a ssunti di contenuti • Sentiment An a lysis • Miglior a re esperienz a utente richi a m a ndo funzion a lit à d a l testo • Spieg a zione di codice • Cre a zione di codice • Richieste di inform a zioni su un contenuto • Molto a ltro Cosa possiamo farci con chatGPT?
  • 46. What The Di f Esempi di utilizzo in progetti reali • Wh a t The Di ff scrive a utom a tic a mente le descrizioni delle pull request, invi a noti f iche di riepilogo per tenere a ggiorn a te le p a rti interess a te non tecniche e ti a iut a a eseguire il ref a ctoring di problemi minori dur a nte l a revisione.
  • 47. ChatGPT Plugin with Laravel Esempi di utilizzo in progetti reali • Esempio di come cre a re un plugin per l'interf a cci a di Ch a tGPT di OpenAI che ritorn a l'html di un a p a gin a web
  • 48. smousss.com Esempi di utilizzo in progetti reali Smousss, un a ssistente b a s a to sull'IA per gli svilupp a tori L a r a vel. • Rendi tr a ducibili i tuoi progetti L a r a vel • Gener a Model f a ctories m a nc a nti • Gener a p a nnelli di a mministr a zione di L a r a vel Nov a • Gener a migr a zioni m a nc a nti • Migr a re d a PHPUnit a Pest 2
  • 49. Fix your Laravel exceptions with AI Esempi di utilizzo in progetti reali • Aggiungere a ll a p a gin a di errore di ignition un a spieg a zione dell'errore gener a t a d a GPT b a s a t a sullo st a cktr a ce di errore
  • 50. ChatGPT Mock API Generator for Laravel Esempi di utilizzo in progetti reali • P a cchetto L a r a vel che permette di gener a re un mock per API utilizz a ndo dei prompt Ch a tGPT
  • 51. Saying goodbye to WIP commit messages Esempi di utilizzo in progetti reali • Utilizzo di GPT per compil a re l a descrizione del commit a p a rtire d a ll'output di "git di ff "
  • 52. Rischi nell'integrazione dell'IA • Non si è m a i certi dell a correttezz a dell a rispost a ottenut a • Allucin a zioni • Bi a s • D a t a Priv a cy • Security (Prompt Injection, J a ilbre a king, Session Hij a cking)
  • 53. Gioco Gandalf Rischi nell'integrazione dell'IA • https://g a nd a lf.l a ker a . a i • Gioco inter a ttivo in cui bisogn a cerc a re di scoprire l a p a ssword custodit a d a G a nd a lf tr a mite un prompt con livelli increment a li di di ff icolt à
  • 54. Il nostro futuro con l'IA • Lo sviluppo e miglior a mento dell'IA a umenter à sempre più velocemente... Ultim a notizi a del 6 Novembre... OpenAI present a in bet a Assist a nts API e GPT-4-TURBO • D a t a set a ggiorn a to a d Aprile 2023 • Contesto 128K token • Costi ridotti per tutte le nuove versioni dei modelli • Function c a ll multiple • Possibilit à di ricevere e c a pire imm a gini (Vision) • JSON mode
  • 55. Il nostro futuro con l'IA • IA s a r à d a ppertutto • Ogni svilupp a tore dovr à imp a r a re a d integr a rl a e utilizz a rl a • I modelli LLM ottimizz a ti sul codice sostituir a nno molti junior developer • LLM sostituir a nno molte API • Ch a tbot o a ssistenti virtu a li sostituir a nno molte UI
  • 56. Tutto questo è st a to studi a to e speriment a to giorno dopo giorno costruendo
  • 57. Gr a zie a tutti! Per vot a re il t a lk: https://joind.in/t a lk/ a 7763