🤖 Chatbot CostyCNC
Cos'è, come funziona e come aiutarci a migliorarlo
💬 Cos'è il chatbot CostyCNC?
Il chatbot CostyCNC è un assistente automatico che risponde alle domande più comuni sulla macchina taglia polistirolo. Lo trovi nella home page del sito, in basso a destra.
Non è una persona. È un software che riconosce le parole chiave della tua domanda e ti dà la risposta più adatta, spesso con il link alla guida completa.
Puoi chiedergli cose come:
- "La macchina si blocca mentre taglia"
- "Il taglio viene storto"
- "I motori vanno al contrario"
- "Come si usa il G-code?"
- "Quanto costa la macchina?"
📍 Dove trovarlo
Il chatbot è integrato nella home page di costycnc.it. Cerca l'icona della chat in basso a destra, oppure clicca qui:
🙋 Aiutaci a migliorarlo
Il chatbot impara dalle vostre domande. Ogni settimana leggo le domande che non hanno ricevuto risposta e aggiorno il chatbot con le risposte mancanti.
Quindi non devi fare nulla di speciale: se il chatbot non sa rispondere, hai già fatto la tua parte. Riprova la settimana successiva e probabilmente troverai la risposta.
Più domande riceve, più diventa utile per tutti.
🛠️ Come funziona
Il chatbot è basato su Dialogflow, un servizio di Google che permette di creare assistenti virtuali. Funziona così:
- Intent = una coppia domanda/risposta. Es: "quanto costa" → "I prezzi sono sul sito".
- Training phrases = le frasi che l'utente può scrivere per attivare una intent. Più frasi ci sono, meglio il chatbot capisce.
- Agent = l'insieme di tutte le intent. È il "cervello" del chatbot.
Quando scrivi una domanda, il chatbot confronta le tue parole con tutte le training phrases che conosce e sceglie la risposta con il punteggio di somiglianza più alto. Se nessuna supera la soglia minima, risponde con un messaggio generico di "non ho capito".
⚠️ Problemi incontrati nella costruzione
Costruire un chatbot non è banale. Ecco gli ostacoli più comuni che ho dovuto superare:
📦 Formato ZIP di importazione
Dialogflow ES richiede una struttura di file molto precisa, non documentata ufficialmente. Dopo numerosi tentativi ho scoperto che lo ZIP deve avere questa struttura:
🔑 Regole d'oro (che nessuno ti dice)
-
Nome file training: deve essere
{nome}_usersays_it.json— tutto attaccato, con_itfinale. - UUID validi: ogni intent e ogni frase deve avere un ID univoco in formato UUID v4.
-
Campo "type": deve essere la stringa
"0", non il numero0. - BOM UTF-8: i file devono essere salvati senza BOM, altrimenti l'importazione fallisce.
-
Cartella doppia: mai creare
bot/bot/dentro lo ZIP.
❌ Errori tipici
-
'X' is not a valid intent ID. Must be a UUID→ usauuid.uuid4()per generare ID validi. -
can not be passed into JsonElement→ nome file sbagliato (controlla il suffisso). -
Nothing to import→ cartella doppia o mancaagent.json.
💡 Consigli per chi vuole costruirne uno
- 📤 Esporta regolarmente un backup dell'agent (Settings → EXPORT AS ZIP).
- 🎯 Controlla il pannello "Training" ogni settimana per vedere le domande NO MATCH.
- ➕ Aggiungi le frasi non riconosciute alle intent esistenti.
- 📉 Abbassa la soglia ML a 0.4 in Settings per riconoscere meglio le varianti.
- 🌍 Se serve, aggiungi altre lingue in Settings → Languages.