Consigli su un bot di supporto per un forum di supporto tecnico (Discourse AI vs Discourse Chatbot)

Dopo aver esaminato alcuni argomenti, ecco cosa ho imparato e raccomandato.

Il sito è dedicato al supporto del sistema di sicurezza domestica Surety.

L’obiettivo dell’IA utilizzata con il forum Discourse è (rif):

  • Supportare il nostro team di assistenza umana in un forum di supporto tecnico.
  • Dovrebbe imparare dai dati storici del forum.
  • Avere la conoscenza specifica del dominio per fornire supporto.
  • Dovrebbe tentare di rispondere solo a domande pertinenti all’argomento.
  • Dovrebbe offrire un modo per l’utente di chiedere al bot di smettere di rispondere, in modo da poter attendere un operatore umano se ritiene che il bot non stia aiutando.

Ecco alcune delle domande poste da Ryan:

  • Questi modelli apprendono automaticamente o vengono affinati con i dati storici del forum?
  • Non duplicare il lavoro già svolto da persone più esperte.
  • Limitare gli argomenti su cui il bot interviene, in modo che non partecipi a conversazioni generali o fuori tema?
  • Il Chatbot originale di Discourse è destinato a essere sviluppato e mantenuto a lungo termine?
  • Oppure è previsto che venga sostituito dal Bot AI nel plugin ufficiale o integrato in esso?

Ecco una domanda pubblicata che ho sottoposto al bot Discourse AI attualmente abilitato nella versione del sito che ho provato, e una risposta generata da ChatGPT.

La domanda:

Ho un IQP4 con un modulo PowerG per il cablaggio diretto. I sensori cablati funzionano. Volevo eseguire un test sulla campana/sirena, ma non ho trovato l’opzione sull’IQP4. Posso testare la sirena sul pannello e suona insieme al dispositivo IQ Remote, ma la campana cablata no. Devo attivare l’allarme per far suonare la sirena cablata.

Esiste un modo per testare la campana sul modulo PowerG per il cablaggio diretto dall’IQP4?


Ecco la risposta ottenuta utilizzando il bot Discourse AI con GPT-4

Ho trovato un argomento pertinente nel nostro forum che potrebbe aiutarti con il tuo problema.

Nell’argomento Test wired bell on PowerG to hardwire?, l’utente aveva un problema simile in cui non riusciva a trovare l’opzione per testare la campana sul modulo PowerG per il cablaggio diretto dall’IQP4.

Ti invitiamo a consultare questo argomento per possibili soluzioni. Se hai ancora domande o hai bisogno di ulteriore assistenza, non esitare a chiedere.


Ecco la risposta ottenuta utilizzando il bot Discourse AI con GPT-3.5

Ho trovato un argomento sul Forum di Supporto Surety che discute il test della campana cablata sulla connessione PowerG per il cablaggio diretto con il pannello IQ 4 (IQP4). Puoi trovare l’argomento qui.

Nell’argomento, l’utente menziona di non aver trovato un’opzione per testare la campana/sirena direttamente sull’IQP4. Tuttavia, è riuscito a testare la sirena sul pannello e ha suonato insieme al dispositivo IQ Remote. La campana cablata, d’altro canto, non ha suonato a meno che l’allarme non fosse stato attivato.

Puoi visitare l’argomento per maggiori informazioni e verificare se ci sono soluzioni o suggerimenti forniti da altri utenti.


Sia il bot Discourse AI GPT-4 che quello GPT-3.5 hanno trovato lo stesso argomento.



Ecco la risposta ottenuta utilizzando ChatGPT

Non ho informazioni specifiche sull’ultima versione del software o sulle funzionalità del pannello IQ 4, poiché la mia formazione include conoscenze solo fino a gennaio 2022. Tuttavia, basandomi sui principi generali di test dei sistemi di allarme, ecco alcuni suggerimenti che potrebbero aiutarti a testare la tua sirena cablata collegata al modulo PowerG:

  1. Modalità di test del sistema:

    • Verifica se il tuo pannello di allarme dispone di una modalità «Test di sistema» o «Test a piedi». Questa modalità è generalmente progettata per testare sensori e allarmi senza attivare un vero evento di allarme. Se il tuo pannello dispone di questa funzione, dovrebbe consentirti di testare la sirena senza innescare un allarme completo.
  2. Controllo delle uscite:

    • Cerca un’opzione «Controllo uscite» o «Uscita ausiliaria» nelle impostazioni del tuo pannello di allarme. Questa funzione potrebbe consentirti di attivare manualmente le uscite, come la sirena, per scopi di test.
  3. Bypass delle zone:

    • Alcuni sistemi consentono di bypassare zone specifiche durante i test. Se la tua sirena cablata è associata a una zona particolare, potresti essere in grado di bypassare quella zona per il test.
  4. Manuale utente:

    • Consulta il manuale utente o la documentazione fornita con il tuo pannello IQ 4. Dovrebbe fornire istruzioni specifiche su come testare e controllare i diversi componenti del tuo sistema di allarme.
  5. Assistenza tecnica:

    • Se non riesci a trovare una soluzione da solo, considera di contattare l’assistenza tecnica del produttore. Potranno fornirti indicazioni basate sulle funzionalità e sulle capacità specifiche del tuo sistema.
  6. Aggiornamento del software del pannello:

    • Verifica se sono disponibili aggiornamenti software per il tuo pannello IQ 4. I produttori spesso rilasciano aggiornamenti per aggiungere nuove funzionalità o risolvere problemi, e un aggiornamento potrebbe includere una modalità di test specifica per la sirena.

Ricorda di fare attenzione durante i test per evitare di attivare accidentalmente un vero evento di allarme. Se non sei sicuro di alcuni passaggi, è sempre consigliabile consultare il manuale utente o contattare l’assistenza tecnica per assistenza.

È evidente che ChatGPT fornisce una risposta più dettagliata. Analizzerò i possibili motivi più avanti nell’argomento.


Nota: non ho accesso al plugin Discourse AI di Merefield (Card) (GitHub); sarebbe utile vedere la risposta alla stessa domanda pubblicata qui per confronto. :slightly_smiling_face:




Ecco il mio feedback.

L’IA di questi bot si basa su LLM (modelli linguistici di grandi dimensioni); la conoscenza è limitata dal set di dati di addestramento. I bot utilizzano inoltre RAG (Retrieval-Augmented Generation) per ampliare la loro conoscenza accedendo agli argomenti del forum.

I bot utilizzano tipicamente un prompt di sistema, ovvero una sorta di «persona», che non è un prompt utente con la richiesta inviata all’API LLM.

Lascio a ChatGPT il compito di spiegare la differenza.

ChatGPT

Cos’è un prompt di sistema? In cosa differisce da un prompt utente?

Risposta

Un prompt di sistema e un prompt utente sono termini spesso utilizzati nel contesto dei modelli linguistici e dei sistemi di IA conversazionale come GPT-3.5. Chiarisco la differenza tra i due:

  1. Prompt utente:

    • Un prompt utente è l’input fornito da un utente umano per avviare una conversazione o richiedere informazioni al sistema di IA.
    • È il testo o la query che una persona digita o pronuncia per interagire con il modello di IA.
    • Ad esempio, se stai utilizzando un chatbot o un modello linguistico, il tuo input che pone una domanda o fa un’affermazione costituisce il prompt utente.
  2. Prompt di sistema:

    • Un prompt di sistema, invece, è l’input o l’istruzione iniziale fornito al modello di IA per impostare il contesto o guidarne il comportamento durante una conversazione.
    • Viene utilizzato per fornire all’IA un punto di partenza o un contesto per generare risposte.
    • Il prompt di sistema aiuta a definire il tono, lo stile o il contenuto delle risposte dell’IA e funge da istruzione per guidare il comportamento del modello.
    • Mentre i prompt utente sono specifici delle domande o delle affermazioni dell’utente, i prompt di sistema riguardano più l’impostazione di un contesto generale o di un’istruzione per l’intera conversazione.

Nel caso di GPT-3.5 o modelli linguistici simili, una conversazione inizia tipicamente con un prompt di sistema seguito da prompt utente in uno scambio continuo. Il prompt di sistema influenza le risposte del modello durante tutta la conversazione, ma è la combinazione di prompt di sistema e prompt utente a determinare l’output del modello.


Il motivo per cui i bot non sono in grado di fornire una risposta molto più specifica è che la loro base di conoscenza manca dei manuali utente, delle istruzioni di installazione, ecc., relativi a questi prodotti. Inoltre, spesso i bot non riescono estrarre immagini e diagrammi da tale documentazione, come diagrammi di cablaggio e immagini presenti nei manuali di installazione.

Come primo passo, RAG dovrebbe essere utilizzato per espandere la conoscenza dell’IA il più possibile, anche se si tratta solo del testo estratto dalla documentazione. Sebbene il bot Discourse AI possa utilizzare RAG per tutti gli argomenti del forum, non so se sia consentito aggiungere informazioni esterne. In caso contrario, un’idea potrebbe essere quella di importare tutti i documenti come file PDF in una categoria, eventualmente nascosta; in tal modo, il codice di Discourse potrebbe accedervi più facilmente poiché si trovano all’interno del forum, e poi utilizzare Langchain per accedere ai PDF (rif).

Con questa conoscenza integrata, il prompt di sistema può essere modificato per migliorare le risposte, ma ciò sarà comunque molto lontano da ciò che si desidera. È molto probabile che si ricevano ancora risposte come la prima, con riferimenti a informazioni ma senza istruzioni passo passo quando necessarie. Inoltre, non esiste un modo per fornire feedback sulla risposta dell’IA che l’IA stessa possa riconoscere come feedback. In altre parole, se un utente rispondesse al bot indicando che qualcosa è sbagliato, il bot leggerebbe la risposta ma non capirebbe di dover aggiornare la conoscenza sulla base di ciò.

Per migliorare la qualità delle risposte, mi vengono in mente tre idee:

  1. Utilizzare HyDE (Hypothetical Document Embeddings)

«Precise Zero-Shot Dense Retrieval without Relevance Labels» di Luyu Gao, Xueguang Ma, Jimmy Lin e Jamie Callan (pdf)

Ho effettivamente scoperto HyDE grazie a Discourse (rif) e so che lo stanno utilizzando.

  1. RLHF (Apprendimento per rinforzo basato sul feedback umano). Non credo che nessuno dei due bot sia in grado di farlo, ma Discourse potrebbe starci pensando; mi piacerebbe sentire il loro feedback se desiderano condividerlo.

  2. Dati sintetici con RLHF. Questa è una tecnologia davvero all’avanguardia e non mi aspetto che nessuno dei due bot la implementi.

Uno dei metodi più dimostrati e riusciti per addestrare un LLM è far sì che si addestri da solo, ma serve una metrica in modo che sappia se il risultato è migliore o peggiore. Per il tuo sito, l’unico modo che attualmente comprendo per sapere se una soluzione è migliore o peggiore è che un umano valuti la soluzione fornita dall’IA. Per ottenere più round possibili di domande e soluzioni, le domande vengono generate da un’IA, un’altra IA genera la soluzione, quindi la soluzione viene misurata e utilizzata per migliorare l’IA che genera la soluzione.


Per migliorare la capacità del bot di aiutare gli utenti, dovrebbe porre una serie di domande per raccogliere informazioni e comprendere meglio il problema, in modo simile a quanto fa un medico per una diagnosi e una prognosi.

Un’altra opzione è esaminare tecnologie simili accessibili tramite il bot AI, come Microsoft Copilot.

Un elemento che non hai richiesto o notato, ma che è di valore, è il riferimento alla fonte originale. Il motivo per cui questo è importante è verificare se la risposta generata dall’IA è un’allucinazione o meno. Se viene incluso un riferimento, e si tratta di un riferimento reale e non di un’allucinazione, allora il riferimento può essere controllato per verificare se proviene da una fonte autorevole, come un manuale, e quindi si può essere certi che non sia un’allucinazione. Aggiungere riferimenti è semplice con RAG e dovrebbe essere previsto.


Ora affrontiamo i tuoi obiettivi specifici.

Supportare il nostro team di assistenza umana in un forum di supporto tecnico.

Questa è più un’affermazione che una domanda, quindi non risponderò come se fosse una domanda.

Dovrebbe imparare dai dati storici del forum.

In realtà questa faceva parte di un’affermazione più ampia che ho suddiviso. Il motivo per cui l’ho suddivisa è che, sebbene tu abbia ragione nel dire che i dati storici del forum sono preziosi, è necessaria anche la conoscenza di base, come quella contenuta nei manuali. I bot attuali utilizzano RAG con i post del forum, ma per quanto ne so non sanno come accedere a dati esterni.

Dovrebbe tentare di rispondere solo a domande pertinenti all’argomento.

Questo può essere ottenuto modificando il prompt di sistema. Sarebbe inoltre necessaria parte della tecnologia presente in Discourse AI Post Classifier - Automation rule.

Dovrebbe offrire un modo per l’utente di chiedere al bot di smettere di rispondere, in modo da poter attendere un operatore umano se ritiene che il bot non stia aiutando.

Questo può essere ottenuto modificando il prompt di sistema.

Questi modelli apprendono automaticamente o vengono affinati con i dati storici del forum?

Buona domanda. Sebbene abbia accennato a come iniziare a risolvere il problema in precedenza, in realtà è una domanda molto più complessa di quanto sembri, ma i grandi ricercatori di LLM stanno facendo progressi significativi e potrebbero esserci annunci interessanti nei prossimi mesi che renderanno tutto ciò molto più semplice.

Non duplicare il lavoro già svolto da persone più esperte.

Intenderò questo come il fatto che l’LLM non dovrebbe divagare su ciò che già sa. Ciò dipende da come il modello viene addestrato su nuove conoscenze. È possibile peggiorare il modello e rendere ancora più difficile far sì che un modello «dimentichi» certe cose. Per quanto ne so, nessuno dei due bot Discourse AI ha la capacità di apprendere, ovvero modificare i pesi nell’LLM, ma hanno la capacità di utilizzare RAG con i post degli argomenti. Quindi, un post di argomento scadente, spazzatura in ingresso, può generare spazzatura in uscita.

Limitare gli argomenti su cui il bot interviene, in modo che non partecipi a conversazioni generali o fuori tema?

Questo sarebbe simile a Discourse AI Post Classifier - Automation rule.

Il Chatbot originale di Discourse è destinato a essere sviluppato e mantenuto a lungo termine?

Lascio questa domanda al personale di Discourse.

Oppure è previsto che venga sostituito dal Bot AI nel plugin ufficiale o integrato in esso?

Lascio anche questa domanda al personale di Discourse.

6 Mi Piace