Fornire la tua documentazione con il software di domande e risposte utilizzando GPT-3, incorporamenti e Datasette
Se hai trascorso un certo periodo di tempo utilizzando modelli linguistici di grandi dimensioni, potresti aver considerato i potenziali vantaggi di poter utilizzare GPT-3 o ChatGPT con una raccolta specifica e aggiornata di testo o documentazione per migliorare la sua capacità di rispondere alle domande. A quanto pare, esiste un metodo intelligente per fare proprio questo. Questo articolo è basato sulla ricerca di Simon Willison.
Attraverso un po’ di sangue, sudore e codifica, Willison ha trovato una scorciatoia per questo processo attraverso un’utilità che ha creato chiamata Datasette. Ha usato Datasette come strumento per testare rapidamente nuove tecniche di intelligenza artificiale attraverso l’uso di funzioni SQL personalizzate.
Ecco come farlo utilizzando il modello di risposte della ricerca semantica di Simon :
- Condurre una ricerca (testuale o semantica) nella documentazione per identificare le informazioni pertinenti alla richiesta dell’utente.
- Raccogli parti rilevanti di tali informazioni e combinale in un unico blocco di testo.
- Crea un prompt combinando quel testo con l’affermazione “Dato il contenuto di cui sopra, rispondi alla seguente domanda: ” e la domanda dell’utente.
- Utilizza l’ API GPT-3 per elaborare l’intero prompt e restituire una risposta.
Nelle parole di Simon: “Questa è una forma di ingegneria rapida (e quindi è incline a rapidi attacchi di iniezione, quindi tienilo a mente). Devi adattare la tua richiesta complessiva al limite di token per GPT-3 , che attualmente è di 4.000 token. Un token è più o meno la stessa cosa di una parola.’
Per aumentare la tua comprensione del processo di Simon, abbiamo incluso un breve esempio della sezione di domande e risposte che ha eseguito sul suo blog personale.
D: ‘ Cosa fa il raschietto?’
R: ‘Shot-scraper è uno strumento da riga di comando che aiuta ad automatizzare il processo di acquisizione di schermate di pagine Web e di estrazione di dati da esse utilizzando JavaScript. Può essere utilizzato per acquisire schermate una tantum o acquisire più schermate in modo ripetibile definendole in un file YAML. Può anche essere utilizzato per eseguire JavaScript su una pagina e restituire il valore risultante .’
Simon ha usato il suo metodo per generare questi due pezzi di testo. Puoi anche istituire una ricerca semantica utilizzando gli incorporamenti. Ecco come Simon descrive il processo.
‘Un incorporamento è un elenco di numeri in virgola mobile. Ad esempio, considera una posizione di latitudine/longitudine: è un elenco di due numeri in virgola mobile. Puoi usare quei numeri per trovare altri punti vicini calcolando le distanze tra loro. Aggiungi un terzo numero e ora puoi tracciare le posizioni nello spazio tridimensionale e ancora calcolare le distanze tra loro per trovare i punti più vicini.
Questa idea continua a funzionare anche se andiamo oltre le tre dimensioni: puoi calcolare le distanze tra vettori di qualsiasi lunghezza, non importa quante dimensioni abbiano.
Quindi, se possiamo rappresentare del testo in uno spazio vettoriale multidimensionale, possiamo calcolare le distanze tra quei vettori per trovare le corrispondenze più vicine.’
Ora, io non sono un programmatore, e il resto della ricerca di Simon arriva a un punto che, temo a dire, fa girare la testa al mio piccolo giornalista. Quindi, se desideri maggiore chiarezza su Simon e su cosa fa, puoi trovare il suo blog qui .