🤖 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:

🏠 Vai alla home page →

🙋 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.

🏠 Vai alla chat in home page →

🛠️ 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:

tuo-bot.zip └── tuo-bot/ ├── agent.json ├── package.json └── intents/ ├── nome_intent.json ├── nome_intent_usersays_it.json └── ...

🔑 Regole d'oro (che nessuno ti dice)

  • Nome file training: deve essere {nome}_usersays_it.json — tutto attaccato, con _it finale.
  • 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 numero 0.
  • 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 → usa uuid.uuid4() per generare ID validi.
  • can not be passed into JsonElement → nome file sbagliato (controlla il suffisso).
  • Nothing to import → cartella doppia o manca agent.json.
⚠️ Nota importante: Dialogflow ES è in fase di dismissione lenta da parte di Google. Per nuovi progetti di grandi dimensioni, considera Dialogflow CX (ma è più complesso e ha un formato di importazione diverso).

💡 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.