Nel futuro c'è tanta AI, pervaderà ogni campo e settore, lavorando con le PMI mi viene da fare un parallelismo con l'impatto che ha avuto internet e le possibilità che ha generato, solo che qui mi pare si vada ancora più veloci. Sicuramente uno scenario sfidante ma anche molto emozionante. Ne vedremo delle belle!
- Home
- Emanuele Ricci
- Post
Emanuele Ricci
@Emanuele Ricci
Mi piace il web tanto che ne ho fatto un lavoro.
Mi trovi anche su LinkedIn https://www.linkedin.com/in/emricci/
Post creati da Emanuele Ricci
-
RE: Nel Futuro di Internet e dell'AI c'è ancora Google!
-
RE: GPT3 in Google SHEETS
@emanuela-0 nel copia incolla del codice mi sa che alcuni caratteri sono cambiati.... come spiegazione è valida, per il codice vai a questo link e fai una copia del foglio. https://docs.google.com/spreadsheets/d/1vE6CoRh_JzL5tXBcmbq0xIVnooKxvSkQvUSlQpLqSBs/edit?usp=sharing
Ricordati di inserire l'api key in ESTENSIONI > APPS SCRIPT se no non funziona. -
GPT3 in Google SHEETS
Su invito di @giorgiotave vi scrivo questa piccola guida frutto delle mie curiosità degli ultimi giorni.
Perdonatemi eventuali inesattezze, si tratta più che altro di appunti.Il fine: portare il potere di GPT3 in G Sheets.
Il come: useremo uno script che collega G Sheets alle Api di open.ai e crea due funzioni personalizzate di G Sheets che saranno
=GPT3
=GPT3_RANGEPrima di cominciare dovete creare un account su [https://openai.com/api/](link url) e ottenere una vostra API KEY per utilizzare lo script. Una volta creato l’account segnatevi la vostra API KEY
Ho testato e creato diversi script in questi giorni ma questo per il momento è quello che ritengo più semplice e flessibile, per essere corretti vi segnalo che questo è una modifica di un codice creato da HarishGarg.
Ovviamente lo usate a vostro rischio e pericolo, è frutto di alcuni test che ho fatto ed è sicuramente migliorabile….. bla, bla, bla
const OPENAI_API_KEY = ""; // <- INSERISCI QUI LA TUA API KEY
const OPENAI_API_URL = "https://api.openai.com/v1/completions";/**
- Submits a prompt to GPT-3 and returns the completion
- @param {string} prompt Prompt to submit to GPT-3
- @param {float} temperature Model temperature (0-1)
- @param {string} model Model name (e.g. text-davinci-002)
- @param {int} maxTokens Max Tokens (< 4000)
- @return Completion from GPT-3
- @customfunction
*/
function onOpen(){
let ui = SpreadsheetApp.getUi();
ui.createMenu('Salva Valori')
.addItem('Save', 'saveAsFixedValue')
.addToUi();
}function saveAsFixedValue(){
let ss = SpreadsheetApp.getActiveSheet()
let data = ss.getDataRange().getValues()
ss.getRange(1,1,data.length,data[0].length).setValues(data)
}function GPT3(
prompt,
temperature = 0.6,
model = "text-davinci-002",
maxTokens = 256
) {
var data = {
prompt: prompt,
temperature: temperature,
model: model,
max_tokens: maxTokens,
};
var options = {
method: "post",
contentType: "application/json",
payload: JSON.stringify(data),
headers: {
"Authorization":Bearer ${OPENAI_API_KEY}
,
"Content-Type": "application/json",
},
};
var response = UrlFetchApp.fetch(
OPENAI_API_URL,
options
);return JSON.parse(response.getContentText()).choices[0].text.trim();
}/**
- Submits examples to GPT-3 and returns the completion
- @param {Array<Array<string>>} input Range of cells with input examples
- @param {Array<Array<string>>} input Range of cells with output examples
- @param {string} Cell to pass as input for completion
- @param {float} temperature Model temperature (0-1)
- @param {string} model Model name (e.g. text-davinci-002)
- @param {int} maxTokens Max Tokens (< 4000)
- @return Completion from GPT-3
- @customfunction
*/
function GPT3_RANGE(
examples_input,
examples_output,
input,
temperature = 0.6,
model = "text-davinci-002",
maxTokens = 256
) {
prompt =I am an input/output bot. Given example inputs, I identify the pattern and produce the associated outputs.
;
for (let i = 0; i < examples_input.length; i++) {
example_input = examples_input*;
example_output = examples_output*;prompt += `
Input: ${example_input}
Output: ${example_output}`;
}prompt += `
Input: ${input}
Output:`;console.log(prompt);
return GPT3(prompt, temperature, model, maxTokens);
}
Aprite un file G SHEETS andate in STRUMENTI > ESTENSIONI > APPS SCRIPT
Incollate il codice e inserite la vostra API KEY dove indicato e salvate. La API KEY la trovate nel vostro account di open.ai .
La prima volta che salvate lo script o che usate la formula riceverete un avviso:
Cliccate su avanzate e autorizzate.
Diamo una occhiata al codice:
Ho inserito una funzione che crea una voce di menu nei fogli che si chiama “Salva Valori” questo perchè quando riaprite il foglio G SHEETS, i risultati vengono ricaricati e consumate risorse, inoltre rischiate che il risultato che avete ottenuto cambi, perchè ad ogni interrogazione GPT3 può restituire risultati diversi. Grazie a “Salva Valori” questo non accade.
Ricordatevi di premerlo quando avrete ottenuto il risultato voluto e che, una volta premuto, le formule vengono sostituite dai valori in cella. Il bottone si trova nel foglio nel menu principale.A seguire lo script collega G SHEETS ad open.ai.
Poi c’è la funzione che crea la prima formula personalizzata GPT3, noi potremo inserire il prompt direttamente nei fogli mentre "temperature", "model" e "maxTokens" si definiscono all’interno della funzione.
Per capire come impostare al meglio la vostra AI vi rimando qui alla documentazione ufficiale:
[https://beta.openai.com/docs/introduction](link url)e vi riporto un estratto:
"The token count of your prompt plus max_tokens cannot exceed the model's context length. Most models have a context length of 2048 tokens (except for the newest models, which support 4096).
....
What sampling temperature to use. Higher values means the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer."Il language model qui è il text-davinci-002 se passate a text-davinci-003 probabilmente i testi saranno migliori, però alla fine della guida vedrete che il davinci-002 ha compreso meglio un piccolo test.
A questo punto possiamo utilizzare GPT3 nei nostri fogli.
La flessibilità di questo script sta nel fatto che possiamo utilizzare qualsiasi prompt e quindi fare moltissime cose.
Prima di tutto possiamo ottenere risposte da chatGPT direttamente nei nostri fogli e questo è molto utile…. un esempio?
=GPT3("scrivi la formula Google sheets per fare la media dei valori contenuti tra B2 e B7 quando nell'intervallo A2 A7 il valore corrispondente è 'Emanuele')")
Restituisce la formula =AVERAGEIF(A2:A7,"Emanuele",B2:B7)
Utile se non vi ricordate una formula.Ma non finisce qui, aggiungendo un intervallo dati dopo il prompt, il prompt può essere applicato all’intervallo dati.
Un esempio:
se mettiamo nella cella A5 il nome di un prodotto ES: Apple Watch Series 8 GPS 41mme proviamo in B5 questa formula: =GPT3("scrivi una breve descrizione di questo prodotto"&A5&"?").
Restituisce:
"L'Apple Watch Series 8 GPS da 41 mm è uno smartwatch di ultima generazione che offre una vasta gamma di funzionalità. Include la connettività GPS, un monitoraggio della frequenza cardiaca, una ricca esperienza di fitness e l'accesso a un'ampia gamma di app. La cassa in alluminio resistente e l'eccellente display Retina offrono un design moderno e resistente. La batteria a lunga durata offre fino a 18 ore di utilizzo."
NON MALE …..
In questo video invece potete vedere come utilizzando diversi prompt nelle formule ho generato diverse versioni di un testo cambiando il tono: professionale, allegro, apocalittico, etc.:
[https://www.linkedin.com/posts/emricci_chatgpt-ai-googlesheets-activity-7013430889778954240-8nd5](link url)
E se le risposte non vi piacciono? Potete addestrare l’AI, come? Fornendo dati di esempio attraverso la seconda formula personalizzata =GPT3_RANGE.
Qui vedete una serie di operazioni che ho inserito tra A26 e A28 e i risultati tra B26 e B28
Se provate a chiedere all AI di completare la serie aggiungendo il dato in B29 con questa formula:
=GPT3_RANGE($A$26:$A$28,$B$26:$B$28,A29) la risposta terrà conto non solo di cosa c’è in A29 (2+5) ma anche degli esempi che abbiamo fornito.
Ho insegnato all’ AI che 2+5 fa 8.Nota: Ho fatto lo stesso test cambiando il language model e mettendo il text-davinci-003 e invece di “8” restituiva “9”, perchè? Non ne ho la più pallida idea, magari qualcuno bravo può spiegarlo nei commenti…. Però questo ci ricorda che i risultati vanno sempre verificati.
Io fino ad ora ho testato lo strumento, il prossimo passo è elaborare prompt articolati che mostrino risultati sempre migliori, mi ci dedicherò dopo le vacanze.
BUON DIVERTIMENTO!
-
RE: Sezione di supporto Ufficiale!
@juanin Grazie sempre completo nelle risposte. Ovviamente immagino vada evitato di usare tag manager o collegare GA a Google ADS altrimenti si ricadrebbe in una casistica di NON compliance con GDPR perchè tornerremmo a fornire i dati a Google (potenzialmente Google inc in USA), corretto?
-
RE: Sezione di supporto Ufficiale!
Io ho provato con GA4 e mi pare funzioni senza problemi. Adesso i cookie di tracciamento sono di prima parte. Mi confermate che essendo di prima parte possono essere installati senza il consenso dell'utente.
-
RE: Con GA4 c'è un problemi di privacy come GA3?
Se non si può usare a scuola lo puoi usare x lavoro con i dati di clienti? Direi di no a logica.
Se continua così a breve non si potrà usare più nulla.... -
RE: Con GA4 c'è un problemi di privacy come GA3?
@claudiosaitta @kal avete assolutamente ragione, però vi faccio notare che il Garante ha analizzato e si è espresso su GA non su stape.io. Usare GA client side è palesemente errato, mentre... fino a che il garante non si esprime su stape.io io sono in buona fede.... Se seguiamo il vostro ragionamento che è corretto formalmente allora dovremmo smettere di usare FB, Google Ads, Insta e qualsiasi altra cosa abbia dati accessibili dagli USA....
-
RE: Con GA4 c'è un problemi di privacy come GA3?
@claudiosaitta @kal questo è dalle policy di stape.io:
International transfers and localisation of data
To achieve uniform protection of client data, we are offering to conclude an international transfer mechanism with Stape, namely the Standard Contractual Clauses (SCC) as approved by the European Commission.
In the scope of our compliance assessment we also envisage the possibility of restructuring the geography of our data processing to store and process our client’s data in accordance with its region. -
Come installare GA4 Server Side per essere GDPR compliants
@sermatica bisognerebbe aggiungere una guida su come installarlo server side per essere GDPR compliants
-
RE: Richiesta di rimozione ex art. 17 GDPR
https://support.google.com/analytics/answer/9450800?hl=it
Prova a dare un occhio lì. Puoi rimuovere i dati del giorno in cui ti ha fatto la visita creando da solo una richiesta eliminazione dati e selezionando il giorno.
Comunque ha inventato un nuovo tipo di spam da domani vedremo gente cliccare su tutti gli annunci Ads dei competitor e nel contact form della landing page richiedere la rimozione dati... così, tanto x simpatia.
-
RE: Richiesta di rimozione ex art. 17 GDPR
Sarà qualcuno che vende un altro tool alternativo a GA che fa del terrorismo....
-
RE: [Polemic] Certificazione SEO di Google
Bella, è stato un successo.... ci vediamo al WMF.
-
RE: [Polemic] Certificazione SEO di Google
@giorgiotave @gfiorelli1 @merlinox Sto controllando e mi pare che le righe sul keyword stuffing siano state rimosse dal corso, almeno io non riesco più a trovarle. Se mi volete chiamare su Twitter ce l'ho l'account è questo: https://twitter.com/21Interferenze
-
RE: [Polemic] Certificazione SEO di Google
@merlinox non è un corso di terze parti, gli insegnati si presentano tutti come persone che lavorano per Google, specificano ruolo ed esperienza.
-
RE: [Polemic] Certificazione SEO di Google
@gfiorelli1 @giorgiotave immagino adesso lo faranno cambiare... se lo fanno ve lo scrivo.
-
RE: [Polemic] Certificazione SEO di Google
@giorgiotave No assolutamente. Non sto scherzando, vuoi il copia incolla? eccolo:
"How to avoid keyword stuffing
Here are some actions you can take to ensure you aren’t keyword stuffing:Write more than 300 words on your webpage.
Your webpage is more likely to be ranked higher in search engine result pages if you write a higher volume of quality content.
Keep your keyword density below an industry standard of 2%.
This means that 2% of the words on the webpage or fewer should be target keywords.
Be thoughtful about keyword placement.
Your keywords should be used only once in the following places on each page within your website: page title, subheading, first paragraph, and body conclusion."
Sta nel primo corso di 7, quello che si intitola: Foundations of Digital Marketing and E-commmerce
-
RE: [Polemic] Certificazione SEO di Google
Ciao @giorgiotave ti va di arrabbiarti
Parlando di SEO.... nel corso Google consiglia di scrivere almeno 300 parole e mantenere una keywords density inferiore al 2% per evitare il keyword stuffing.... lo giuro c'è scritto proprio così! Nel 2022 resuscitiamo il vecchio approccio 300 words... -
RE: [Polemic] Certificazione SEO di Google
Preso dalla curiosità mi sono iscritto e lo sto facendo.... NON è ASSOLUTAMENTE una certificazione SEO.....
Per quello che vedo nella prima parte, è una introduzione al digital marketing con un focus sull'e-commerce.... Carina all'inizio la parte dedicata al "marketing inclusivo" - Black Lives Matter docet.
Se vi interessa mano mano che vado avanti vi do qualche impressione, non vedo l'ora di arrivare al capitolo sulla SEO per vedere come la spiega Google....