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

Sto cercando di creare un bot AI in grado di fare i complimenti al nostro team di supporto umano per un forum di supporto tecnico. Gli obiettivi sono fornire supporto al di fuori dell’orario di lavoro (attualmente gli utenti devono aspettare la nostra apertura) e un supporto più rapido durante l’orario di lavoro (gli umani rispondono più lentamente). Se il bot non risolve il problema, gli umani interverrebbero e lo gestirebbero durante l’orario di lavoro.

Alcuni obiettivi di progettazione sono:

  1. Dovrebbe imparare dai nostri dati storici del forum per avere la conoscenza del dominio necessaria per fornire supporto. I dati del nostro forum sono molto più pertinenti della conoscenza generale di Internet.
  2. Dovrebbe tentare di rispondere solo a domande pertinenti. Dovrebbe essere in grado di aiutare qualcuno a risolvere i problemi dei nostri prodotti o a utilizzare il nostro servizio, ma se qualcuno chiede come preparare una torta, non dovrebbe tentare di aiutare. Dovrebbe attenersi ad argomenti simili a quelli già presenti nel forum.
  3. Dovrebbe fornire un modo all’utente per dire al bot di smettere di rispondere, in modo che possa aspettare un umano invece, se ritiene che il bot non stia aiutando.

Vedo che c’è il modulo AI Bot nel plugin ufficiale Discourse AI.

E c’è il Discourse AI Chatbot originale.

Quale plugin sarebbe migliore per questo tipo di applicazione? Ho letto di ciascuno separatamente e questo argomento che è simile, ma mi piacerebbe avere consigli più espliciti, se ne avete da condividere.

Uno di questi plugin impara o si adatta automaticamente ai dati storici del forum? Possiamo adattare manualmente GPT-4 (credo), ma vorrei sfruttare le capacità del plugin quando possibile e non duplicare il lavoro già svolto da persone più intelligenti. :slight_smile:

Uno di questi plugin consente di limitare gli argomenti di cui il bot può discutere in modo che non si impegni in conversazioni generali e fuori tema?

Il Discourse Chatbot originale è destinato a essere sviluppato e mantenuto a lungo termine? O è previsto che venga eventualmente sostituito dall’AI Bot nel plugin ufficiale, o integrato in esso? @merefield

4 Mi Piace

Penso che potresti trovare la “Modalità Agente” di Discourse Chatbot 🤖 la più adatta alle tue esigenze.

Questo plugin è di terze parti e mantenuto come progetto open source da un singolo sviluppatore appassionato. Come tale, spinge i confini di ciò che è possibile ed è molto più ricco di funzionalità.

Se lo trovi efficace, ti incoraggio a cercare lo sviluppatore e offrire un contributo per la sua manutenzione.

Al contrario, l’altro plugin/modulo (#ufficiale) è stato sviluppato dal Team Discourse con un’enfasi sulla stabilità e sarà supportato dal loro impressionante team di sviluppo.

(P.S. non è buona educazione menzionare le persone qui - specialmente CEO e sviluppatori impegnati - a meno che non ci sia una seria necessità)

5 Mi Piace

Sì, entrambi utilizzano RAG per sfruttare i dati del forum nelle loro risposte.

Dove avrebbero luogo quelle conversazioni?

  • Argomenti
  • Messaggi privati
  • Chat
  • Applicazione esterna
2 Mi Piace

Sarei felice di pagare per ricevere aiuto su questo. Mi farò vivo.

Mi dispiace, non volevo essere scortese. Stavo solo menzionando le persone che hanno pubblicato informazioni su quei plugin nel caso in cui volessero intervenire.

2 Mi Piace

Inizialmente, probabilmente solo messaggi privati. Al momento non utilizziamo la chat, ma sembra che potrebbe funzionare bene per questo scopo poiché un bot può rispondere in tempo reale (a differenza dei nostri umani molto impegnati), quindi anche questo potrebbe essere un vantaggio. Poi, se funzionasse bene nelle conversazioni private, vorrei abilitarla sugli argomenti pubblici.

2 Mi Piace

Quindi penso che dovresti provare la nostra funzionalità AIBot nel plugin DiscourseAI. Inizia con la nostra persona “Forum Helper”, si adatta quasi perfettamente al tuo caso d’uso.

Successivamente, puoi andare su Nuovo editor di persona AI per Discourse per creare una persona specializzata sulle tue esigenze. Dagli le capacità search e read e scrivi un buon prompt di sistema e sei pronto per partire.

Ti ho dato accesso alla funzionalità qui su Meta, aggiorna il tuo browser per vederla e giocarci.

6 Mi Piace

Ho la versione 0.0.1 in esecuzione su una copia del nostro forum. Va bene ma non sembra molto intelligente. Principalmente cerca nel nostro forum e fornisce un elenco di argomenti che potrebbero essere pertinenti. Non sembra interpretare le informazioni e fornire supporto in modo conversazionale. E non ho l’editor di persona. Quello su Meta sembra funzionare meglio, quindi sospetto di non avere l’ultima versione.

2 Mi Piace

In realtà fa meglio quando gli chiedo di essere più specifico e di guidarmi attraverso i passaggi.

2 Mi Piace

Non ho intenzione di abbandonare il supporto per Chatbot a breve termine.

In ogni caso è open source, quindi il supporto e il contributo da parte di altri sono benvenuti.

Il bot è progettato per sfruttare i dati esistenti sul tuo forum per rispondere alle domande degli utenti.

Se hai requisiti speciali che necessitano di implementazione che vanno oltre l’offerta attuale e hai il budget da destinare a ciò, puoi sempre considerare di assumermi per aiutarti.

4 Mi Piace

Sì, ti ho inviato un messaggio privato in merito in precedenza. A questo punto la grande domanda è quale plugin utilizzare e non ne so abbastanza su di essi (o sui bot in generale) per prendere una decisione sicura. :slight_smile:

Ho bisogno di qualcuno che sia bravo in questo per aiutarci a iniziare. Posso pagare per l’aiuto e per funzionalità speciali, se ne avremo bisogno.

Mi scuso per averti menzionato in precedenza, non sapevo fosse una cattiva educazione.

4 Mi Piace

Ottima domanda, non so quanti utenti qui abbiano esperienza pratica con uno dei bot AI menzionati, ma posso dire che ho utilizzato il bot Discourse AI sul sito OpenAI anche in fase di sviluppo. Fornisco regolarmente feedback e suggerimenti, molti dei quali sono elencati su questo sito. (list) Faccio tutto gratuitamente.

Sarebbe possibile ricevere un invito al sito per comprendere meglio il sito?

Se hai domande, non esitare a chiedere qui o a inviarmi un messaggio privato.

A titolo informativo

Se non sai cos’è RAG, questa è una breve introduzione.

https://research.ibm.com/blog/retrieval-augmented-generation-RAG

3 Mi Piace

Posso chiedere come hai deciso quale dei due plugin per bot AI utilizzare in primo luogo? (Discourse AI o Discourse Chatbot)

1 Mi Piace

Non ho deciso io. L’unica scelta riguardava quello per Discourse.

Dato che il sito Discourse di OpenAI è un po’ più vecchio, ha ancora la categoria Lounge. Sam di Discourse, non Sam di OpenAI, ha concesso agli utenti TL3 del sito OpenAI l’accesso al bot AI di Discourse. Quindi è così che ho avuto accesso ed è stato scelto. Tuttavia, se leggi il post qui e tra le righe, potresti vedere che Sam ha lavorato con noi per ottenere feedback e per avere utenti che sapessero cosa un tale bot fosse in grado di fare tramite argomenti nella Lounge.

Man mano che vengono apportate modifiche al bot AI di Discourse, le vediamo poco dopo che il codice viene inviato e installato e proveremo a utilizzarle.

Non posso dire nulla riguardo al plugin bot e non speculerò.

Spero sia d’aiuto.

1 Mi Piace

After taking a look at a few of the topics this is what I learned and recommended.

The site is for support of the Surety home security system.

The goal for the AI used with Discourse forum is (ref)

  • Compliment our human support team for a technical support forum.
  • It would need to learn from our historical forum data.
  • Have the domain knowledge to provide support.
  • It should only attempt to answer on-topic questions.
  • It should provide a way for the user to tell the bot to stop answering so they can wait for a human instead if they feel like the bot isn’t helping.

And here are some of the questions from Ryan

  • Do these automatically learn or fine-tune with historical forum data?
  • Not duplicate work that’s already been done by smarter people.
  • Restrict the topics the bot will engage in so it doesn’t engage in general, off-topic conversations?
  • Is the original Discourse Chatbot intended to be developed and maintained long term?
  • Or is it planned to eventually be replaced by the AI Bot in the official plugin, or folded into it?

Here is a posted question I gave to the Discourse AI bot currently enabled on the version of the site I tried and an answer from ChatGPT.

The question:

I have a IQP4 with a Powerg to hardwire. The wired sensors are working. I wanted to run a test on the bell/siren, but could not find the option on the IQP4. I can test the siren on the panel and it sounds along with the IQ Remote, but the hardwired bell does not. I have to trip the alarm to get the hardwired siren to sound.

Is there a way to test the bell on the powerg to hardwire from the IQP4?


Here is the reply using the Discourse AI bot with GPT-4

image

I found a relevant topic on our forum that may help you with your issue.

In the topic Test wired bell on PowerG to hardwire?, the user had a similar issue where they could not find the option to test the bell on the PowerG to hardwire from the IQP4.

Please have a look at this topic for possible solutions. If you still have questions or need further assistance, feel free to ask.


Here is the reply using the Discourse AI bot with GPT-3.5

I found a topic on the Surety Support Forum that discusses testing the wired bell on the PowerG to hardwire connection with the IQ Panel 4 (IQP4). You can find the topic here.

In the topic, the user mentions that they couldn’t find an option to test the bell/siren on the IQP4 itself. However, they were able to test the siren on the panel and it sounded along with the IQ Remote. The hardwired bell, on the other hand, did not sound unless the alarm was tripped.

You can visit the topic for more information and to see if there are any solutions or suggestions provided by other users.


Both the Discourse AI GPT-4 and GPT-3.5 bot found the same topic.



Here is the reply using ChatGPT

I don’t have specific information on the IQ Panel 4’s latest software version or features, as my training only includes knowledge up to January 2022. However, based on general principles of alarm system testing, here are some suggestions that might help you test your hardwired siren connected to the PowerG:

  1. System Test Mode:

    • Check if your alarm panel has a “System Test” or “Walk Test” mode. This mode is typically designed for testing sensors and alarms without triggering a real alarm event. If your panel has this feature, it should allow you to test the siren without setting off a full alarm.
  2. Output Control:

    • Look for an “Output Control” or “Auxiliary Output” option in your alarm panel settings. This feature may allow you to manually trigger outputs, such as the siren, for testing purposes.
  3. Zone Bypass:

    • Some systems allow you to bypass specific zones during testing. If your hardwired siren is associated with a particular zone, you might be able to bypass that zone for testing.
  4. User Manual:

    • Refer to the user manual or documentation that came with your IQ Panel 4. It should provide specific instructions on how to test and control different components of your alarm system.
  5. Technical Support:

    • If you’re unable to find a solution on your own, consider reaching out to the manufacturer’s technical support. They can provide guidance based on the specific features and capabilities of your system.
  6. Panel Software Update:

    • Check if there are any available software updates for your IQ Panel 4. Manufacturers often release updates to add new features or address issues, and an update might include a specific test mode for the siren.

Remember to exercise caution while testing to avoid accidentally triggering a real alarm event. If you’re unsure about any steps, it’s always a good idea to consult the user manual or contact technical support for assistance.

Clearly ChatGPT is giving a more detailed answer. I will go into possible reasons later in the topic.


Note: I do not have access to the Discourse AI plugin by Merefield (Card) (GitHub), it would be nice to see the response to the same question posted here for comparison. :slightly_smiling_face:




Here is my feedback.

The AI for these bots are based on LLMs, the knowledge is limited by the training set. The bots are also using RAG to augment their knowledge by accessing the topics in the forum.

The bots will typically use a system prompt, think persona, which is not a user prompt with the request to the LLM API.

I will let ChatGPT explain the difference.

ChatGPT

What is a system prompt? How is it different from a user prompt?

Completion

A system prompt and a user prompt are terms often used in the context of language models and conversational AI systems like GPT-3.5. Let me clarify the difference between them:

  1. User Prompt:

    • A user prompt is the input provided by a human user to initiate a conversation or request information from the AI system.
    • It’s the text or query that a person types or speaks to interact with the AI model.
    • For example, if you’re using a chatbot or a language model, your input asking a question or making a statement would be the user prompt.
  2. System Prompt:

    • A system prompt, on the other hand, is the initial input or instruction given to the AI model to set the context or guide its behavior for a conversation.
    • It’s used to provide the AI with a starting point or context for generating responses.
    • The system prompt helps shape the tone, style, or content of the AI’s responses, and it serves as a sort of instruction to guide the model’s behavior.
    • While user prompts are specific to the user’s queries or statements, system prompts are more about giving a general context or instruction for the entire conversation.

In the case of GPT-3.5 or similar language models, a conversation typically starts with a system prompt followed by user prompts in an ongoing exchange. The system prompt helps influence the model’s responses throughout the conversation, but it’s the combination of system and user prompts that determines the model’s output.


The reason the bots are not able to give a much more specific answer is because their knowledge base is lacking the user manuals, installation instructions, etc. for these products. Further bots are often not able to extract images and diagrams from such documentation such as wiring diagrams and images used in the installation manuals.

As a start, RAG should be used to expand the knowledge for the AI as much as possible even if it is only the text from the documentation. While the Discourse AI bot can use RAG for all of the topics in the forum I don’t know if they are allowing external information to be added. If not, one idea would be to import all of the documents as PDFs into a category, possibly hidden, and then the Discourse code could get at them easier as they are in the forum and then use Langchain to access the PDFs (ref)

With this the knowledge in there the system prompt can be tweaked to improve the replies but this will still be far from what you seek. You will still most likely get replies like the first with references to information but no step by step instructions when needed. Also there is no way to give feedback about the AI reply that the AI would know is giving feedback. In other words if a user replied to the bot that something is wrong, the bot would read the reply but not understand that it would need to update the knowledge based on that.

To improve the quality of the replies three thoughts come to mind.

  1. Make use of HyDE (Hypothetical Document Embeddings)

“Precise Zero-Shot Dense Retrieval without Relevance Labels” by Luyu Gao, Xueguang Ma, Jimmy Lin and Jamie Callan (pdf )

I actually learned of HyDE from Discourse (ref) and know they are using it.

  1. RLHF ( Reinforcement learning from human feedback). I don’t think either of the bots are capable of this and Discourse might be considering this; would like to hear their feedback if they care to share.

  2. Synthetic data with RLHF. This is really cutting edge and not something I would expect either bot to implement.

One of the most demonstrated and successful ways to train an LLM is to have them train themselves but you need some metric so they know if the result is better or worse. For your site the only way I currently understand to know if a solution is better or worse is for a human to rate the solution from the AI. To get more possible rounds of questions and solutions, the questions are generated by an AI with another AI generating the solution and then the solution is measured and used to improve the AI generating the solution.


To improve the ability of the bot to help users it should perform a series of questions to collect information to better understand the problem similar to the way a medical doctor will for a diagnosis and prognosis.

Another option is to look at similar technology that can be accessed with the AI bot such as Microsoft Copilot.

One item that you did not request or note that is of value is references back to the source. The reason this is important is to check if the AI completion is an hallucination or not. If a reference is included, is a real reference and not a hallucination then the reference can be checked to see if it is from an authoritative source such as a manual and then be known to not be a hallucination. Adding references is easy to do with RAG and should be expected.


Now to address your specific goals.

Compliment our human support team for a technical support forum.

That is more of a statement than a question, so will not answer it as a question.

It would need to learn from our historical forum data.

This was actually part of a larger statement that I broke up. The reason I broke it up is that while you are correct that the historical data in the forum is of value, the base knowledge such as that in the manuals is also needed. The current bots use RAG with the forum post but AFAIK do not know how to access external data.

It should only attempt to answer on-topic questions.

This can be accomplished by tweaking the system prompt. This would also need some of the technology in Discourse AI Post Classifier - Automation rule

It should provide a way for the user to tell the bot to stop answering so they can wait for a human instead if they feel like the bot isn’t helping.

This can be accomplished by tweaking the system prompt.

Do these automatically learn or fine-tune with historical forum data?

Good question. While I have brushed on how to start to solve this earlier, it really is a much harder question than it seems but the large LLM researchers are making much better progress with this and their might be some interesting announcements in the next few months that can make this much easier.

Not duplicate work that’s already been done by smarter people.

I will take that to mean that the LLM should not digress on what it knows. That depends on how the model is trained on new knowledge. It is possible to make the model worse and even harder to get a model to unlearn. AFAIK neither of the Discourse AI bots have the ability to learn, meaning change the weights in the LLM, but they do have the ability to use RAG with topic post. So bad topic post, garbage in, can create garbage out.

Restrict the topics the bot will engage in so it doesn’t engage in general, off-topic conversations?

This would be similar to Discourse AI Post Classifier - Automation rule

Is the original Discourse Chatbot intended to be developed and maintained long term?

Will leave that one for the Discourse staff.

Or is it planned to eventually be replaced by the AI Bot in the official plugin, or folded into it?

Will leave that one for the Discourse staff.

6 Mi Piace

Grazie per il tuo aiuto e per un post così approfondito!

L’ho scritto prima di conoscere RAG. Intendevo solo che deve utilizzare i dati storici del nostro forum, non necessariamente essere addestrato su di essi.

Sì, dopo il feedback da parte tua e di altri, una categoria nascosta come knowledge base sembra la strada da percorrere.

Non vorrei comunque che un utente potesse aggiornare la knowledge base. Solo lo staff dovrebbe essere in grado di farlo. Sarebbe fantastico se lo staff potesse rivedere e valutare le risposte del bot, ma non sembra possibile con RAG.

Fantastico!

Buon punto. Mi chiedo cosa dovrebbe fornire come riferimento se la fonte è nella nostra knowledge base nascosta, però?

Questa domanda era formulata male a causa della mia ingenuità su come funzionano gli LLM. RAG dovrebbe essere sufficiente per ora.

Quello che intendevo era che non voglio sviluppare codice personalizzato per funzionalità che merefield o il team di sviluppo di discourse hanno già integrato nei loro plugin. Voglio usare ciò che è già disponibile e migliorare solo quando necessario.

Grazie ancora Eric!

2 Mi Piace

Bel punto. Sono contento che tu l’abbia notato, avrei dovuto dirlo nella mia risposta.

Sembra che si collegherebbe bene alla coda di revisione. Questa è la definizione di Discourse.

No.

RAG è una delle tante tecnologie necessarie per ottenere ciò che cerchi. Nel caso della valutazione della risposta dell’IA, questo è diverso dallo scopo di RAG. Il feedback umano per un completamento generato fa parte della tecnologia RLHF.

Lo è!

La maggior parte di questa tecnologia è così nuova e si muove così velocemente che si dovrebbe essere aperti a idee da chiunque e ovunque.

La stessa cosa che faresti se fossi un umano e lo annotassi in una risposta a una persona reale. Penserei al nome del manuale, alla data di pubblicazione, alla sezione e al paragrafo.

Grazie per aver condiviso questo. Vedo molti post da molti utenti e ti dirò che è un piacere aiutarti.

È stato divertente, ma molti non sapranno nemmeno perché. La tecnologia si muove così velocemente che sono sicuro che molti creano codice un mese, poi si rendono conto che è stato integrato in una tecnologia e ciò che hanno creato è ora ridondante e potrebbe persino essere obsoleto. Se ti prendi il tempo di imparare Langchain, potresti vedere utenti che affermano di aver buttato via quasi tutto il codice della loro app e di aver iniziato a usare Langchain.

Un’altra fonte per imparare tali cose sono i corsi brevi di DeepLearning.AI (attualmente gratuiti).

Prego.

Fai altre domande, è per questo che ti sto aiutando. Più persone fanno domande su questa tecnologia, più possiamo aiutarci a vicenda a raggiungere i nostri obiettivi.

3 Mi Piace

Eric, ho già risposto a questo sopra.

La mia risposta non è stata abbastanza chiara?

Con tutto il rispetto, non sono sicuro di cosa abbiano a che fare queste domande con lo “staff di Discourse”?

Il repository è stato creato e viene mantenuto da me, come dovrebbe essere chiaro dall’URL, dalla cronologia dei commit e dal suo topic del plugin?

Se a un certo punto Chatbot dovesse passare a un’organizzazione GitHub, probabilmente sarebbe a Pavillion.

1 Mi Piace

Quando ho letto questo, ho pensato al bot che vedi quando ti unisci per la prima volta a Discourse. @discobot
Se l’affermazione avesse usato la parola plugin, avrei pensato al tuo plugin e non avrei risposto come ho fatto.

1 Mi Piace

Non sono sicuro di cosa intendi per “nascosto”, ma presumo che sia il Chatbot che il plugin AI utilizzeranno RAG solo sui contenuti in categorie pubblicamente accessibili.

Esattamente, quindi prendo che invece di caricare in una categoria e poi estrarli, oggi l’approccio migliore per questo sarebbe caricare quei documenti PDF come file e utilizzarli in un assistente? Questo potrebbe essere combinato con RAG al volo dai contenuti del forum.

2 Mi Piace

Potrebbe essere utile avere una categoria utilizzata per RAG ma non visibile agli utenti perché non è organizzata/presentata in modo user-friendly. Per cose come manuali utente grezzi o magari script comuni che il bot potrebbe seguire.

2 Mi Piace