Ratschläge zu einem Support-Bot für ein technisches Support-Forum (Discourse AI vs Discourse Chatbot)

Ich versuche, einen KI-Bot zu erstellen, der unser menschliches Support-Team in einem technischen Support-Forum loben kann. Die Ziele sind, Unterstützung außerhalb der Geschäftszeiten zu leisten (derzeit müssen Benutzer warten, bis wir öffnen) und schnellere Unterstützung während der Geschäftszeiten zu bieten (Menschen reagieren langsamer). Wenn der Bot das Problem nicht löst, würden Menschen übernehmen und es während der Geschäftszeiten bearbeiten.

Einige Designziele sind:

  1. Es müsste aus unseren historischen Forendaten lernen, um das Domänenwissen für die Bereitstellung von Support zu haben. Die Daten in unserem Forum sind weitaus relevanter als allgemeines Internetwissen.
  2. Es sollte nur versuchen, themenbezogene Fragen zu beantworten. Es sollte jemandem helfen können, unsere Produkte zu beheben oder unseren Service zu nutzen, aber wenn jemand fragt, wie man einen Kuchen backt, sollte es nicht versuchen zu helfen. Es sollte sich an Themen halten, die denen im Forum ähneln.
  3. Es sollte dem Benutzer eine Möglichkeit bieten, dem Bot zu sagen, er solle mit der Beantwortung aufhören, damit er stattdessen auf einen Menschen warten kann, wenn er das Gefühl hat, dass der Bot nicht hilft.

Ich sehe, dass es das AI Bot-Modul im offiziellen Discourse AI-Plugin gibt.

Und es gibt den ursprünglichen Discourse AI Chatbot.

Welches Plugin wäre für diese Art von Anwendung besser geeignet? Ich habe beide separat gelesen und dieses Thema, das ähnlich ist, aber ich hätte gerne explizitere Ratschläge, wenn Sie welche haben.

Lernen oder optimieren sich diese Plugins automatisch mit historischen Forendaten? Wir können GPT-4 manuell optimieren (glaube ich), aber ich möchte die Fähigkeiten des Plugins nutzen, wenn möglich, und keine Arbeit duplizieren, die bereits von klügeren Leuten erledigt wurde. :slight_smile:

Erlauben diese Plugins, die Themen einzuschränken, mit denen sich der Bot beschäftigt, damit er keine allgemeinen, themenfremden Gespräche führt?

Ist der ursprüngliche Discourse Chatbot für die langfristige Entwicklung und Wartung vorgesehen? Oder ist geplant, ihn durch den AI Bot im offiziellen Plugin zu ersetzen oder in diesen zu integrieren? @merefield

4 „Gefällt mir“

Ich denke, der „Agentenmodus“ von Discourse Chatbot 🤖 könnte am besten zu Ihren Bedürfnissen passen.

Dieses Plugin ist von Drittanbietern und wird als Open-Source-Projekt von einem einzigen passionierten Entwickler gepflegt. Als solches verschiebt es die Grenzen des Möglichen und ist um einiges funktionsreicher.

Wenn Sie feststellen, dass es für Sie gut funktioniert, ermutige ich Sie, den Entwickler zu suchen und anzubieten, zu dessen Wartung beizutragen.

Im Gegensatz dazu wurde das andere (#offizielle) Plugin/Modul vom Discourse-Team mit Schwerpunkt auf Stabilität entwickelt und wird von deren beeindruckendem Entwicklerteam unterstützt.

(PS: Es ist keine gute Etikette, Leute hier mit @ zu erwähnen – insbesondere CEOs und vielbeschäftigte Entwickler –, es sei denn, es besteht ein dringender Bedarf)

5 „Gefällt mir“

Ja, beide verwenden RAG, um Forendaten in ihren Antworten zu nutzen.

Wo würden diese Gespräche stattfinden?

  • Themen
  • PMs
  • Chat
  • Externe Anwendung
2 „Gefällt mir“

Ich würde gerne für Hilfe dabei bezahlen. Ich werde mich melden.

Entschuldigung, ich wollte nicht unhöflich sein. Ich habe nur die Leute erwähnt, die über diese Plugins gepostet haben, falls sie sich äußern wollten.

2 „Gefällt mir“

Anfangs wahrscheinlich nur per PN. Wir nutzen derzeit keinen Chat, aber es scheint, als ob er dafür gut geeignet wäre, da ein Bot in Echtzeit antworten kann (im Gegensatz zu unseren sehr beschäftigten Menschen), das wäre also auch gut. Wenn es dann in den privaten Gesprächen gut funktioniert, würde ich es gerne für öffentliche Themen aktivieren.

2 „Gefällt mir“

Ich denke also, Sie sollten unser AIBot-Feature im DiscourseAI-Plugin ausprobieren. Beginnen Sie mit unserer „Forum Helper“-Persona, sie passt fast perfekt zu Ihrem Anwendungsfall.

Danach können Sie zum New AI Persona Editor for Discourse gehen, um eine Persona zu erstellen, die auf Ihre Bedürfnisse spezialisiert ist. Geben Sie ihr sowohl search- als auch read-Fähigkeiten und schreiben Sie eine gute Systemaufforderung, und Sie sind startklar.

Ich habe Ihnen hier auf Meta Zugang zu der Funktion gegeben. Aktualisieren Sie Ihren Browser, um sie zu sehen und damit zu spielen.

6 „Gefällt mir“

Ich habe Version 0.0.1 auf einer Kopie unseres Forums laufen. Es ist in Ordnung, aber es scheint nicht sehr intelligent zu sein. Es durchsucht hauptsächlich unser Forum und liefert eine Liste von Themen, die relevant sein könnten. Es scheint die Informationen nicht zu interpretieren und konversationell zu unterstützen. Und ich habe den Persona-Editor nicht. Der auf Meta scheint besser zu funktionieren, daher vermute ich, dass ich nicht die neueste Version habe.

2 „Gefällt mir“

Tatsächlich schneidet es besser ab, wenn ich es bitte, spezifischer zu sein und mich durch die Schritte zu führen.

2 „Gefällt mir“

Ich habe nicht vor, die Unterstützung für Chatbot in absehbarer Zeit einzustellen.

Es ist auf jeden Fall Open Source, daher sind Unterstützung und Beiträge von anderen willkommen.

Der Bot ist so konzipiert, dass er vorhandene Daten in Ihrem Forum nutzt, um Benutzerfragen zu beantworten.

Wenn Sie spezielle Anforderungen haben, die über das aktuelle Angebot hinausgehen und für die Sie Budget zur Verfügung stellen können, können Sie mich jederzeit beauftragen, Ihnen zu helfen.

4 „Gefällt mir“

Ja, ich habe Ihnen vorhin eine PM dazu geschickt. Im Moment ist die große Frage, welches Plugin wir verwenden sollen, und ich weiß nicht genug darüber (oder über Bots im Allgemeinen), um eine fundierte Entscheidung zu treffen. :slight_smile:

Ich brauche jemanden, der gut darin ist, uns den Einstieg zu erleichtern. Ich kann für die Hilfe und spezielle Funktionen bezahlen, falls wir welche benötigen.

Entschuldigung, dass ich Sie vorhin @-erwähnt habe, ich wusste nicht, dass das schlechte Manieren sind.

4 „Gefällt mir“

Gute Frage, ich weiß nicht, wie viele Benutzer hier praktische Erfahrung mit einem der beiden genannten KI-Bots haben, aber ich kann sagen, dass ich den Discourse AI-Bot auf der OpenAI-Website bereits in der Entwicklungsphase nutze. Ich gebe regelmäßig Feedback und Vorschläge, viele davon sind auf dieser Website aufgeführt. (list) Außerdem mache ich das alles kostenlos.

Wäre es möglich, eine Einladung auf die Website zu erhalten, um die Website besser zu verstehen?

Wenn Sie Fragen haben, können Sie diese gerne hier stellen oder mir eine private Nachricht senden.

Zu Ihrer Information

Wenn Sie nicht wissen, was RAG ist, hier ist eine schöne kurze Einführung.

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

3 „Gefällt mir“

Darf ich fragen, wie Sie sich überhaupt entschieden haben, welches der beiden KI-Bot-Plugins Sie verwenden möchten? (Discourse AI oder Discourse Chatbot)

1 „Gefällt mir“

Ich habe mich nicht entschieden. Die einzige Wahl war für das Discourse-Plugin.

Da die OpenAI Discourse-Website etwas älter ist, gibt es dort immer noch die Lounge-Kategorie. Sam von Discourse, nicht Sam von OpenAI, gewährte den TL3-Benutzern der OpenAI-Website Zugang zum Discourse KI-Bot. So erhielt ich Zugang und er wurde ausgewählt. Wenn Sie jedoch den Beitrag hier lesen und zwischen den Zeilen lesen, werden Sie vielleicht sehen, dass Sam mit uns zusammengearbeitet hat, um Feedback zu erhalten und Benutzer zu haben, die durch Themen in der Lounge wüssten, wozu ein solcher Bot fähig ist.

Wenn Änderungen am Discourse KI-Bot vorgenommen werden, sehen wir sie kurz nach dem Pushen und Installieren des Codes und werden ihn ausprobieren.

Ich kann nichts über das Plugin-Bot sagen und werde nicht spekulieren.

Ich hoffe, das hilft.

1 „Gefällt mir“

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 „Gefällt mir“

Vielen Dank für deine Hilfe und diesen ausführlichen Beitrag!

Das habe ich geschrieben, bevor ich von RAG wusste. Ich meinte nur, dass es unsere historischen Forendaten nutzen muss, nicht unbedingt darauf trainiert werden muss.

Ja, nach dem Feedback von dir und anderen scheint eine versteckte Kategorie als Wissensdatenbank der richtige Weg zu sein.

Ich möchte sowieso nicht, dass ein Benutzer die Wissensdatenbank aktualisieren kann. Nur Mitarbeiter sollten das tun können. Es wäre fantastisch, wenn Mitarbeiter die Antworten des Bots überprüfen und bewerten könnten, aber das scheint mit RAG nicht möglich zu sein.

Das ist cool!

Guter Punkt. Ich frage mich, was als Referenz angegeben werden sollte, wenn die Quelle in unserer versteckten Wissensdatenbank liegt?

Diese Frage war aufgrund meiner Naivität in Bezug auf die Funktionsweise von LLMs schlecht formuliert. RAG sollte vorerst ausreichen.

Ich meinte damit, dass ich keinen benutzerdefinierten Code für Funktionen entwickeln möchte, die merefield oder das Discourse-Entwicklerteam bereits in ihren Plugins erstellt haben. Ich möchte das verwenden, was bereits verfügbar ist, und nur bei Bedarf erweitern.

Nochmal vielen Dank, Eric!

2 „Gefällt mir“

Guter Punkt. Schön, dass du das bemerkt hast, das hätte ich in meiner Antwort erwähnen sollen.

Das scheint gut in die Überprüfungswarteschlange zu passen. Das ist Discourses Bezeichnung.

Nein.

RAG ist eine der vielen Technologien, die benötigt werden, um das zu erreichen, was du suchst. Im Falle der Bewertung der KI-Antwort unterscheidet sich dies vom Zweck von RAG. Das menschliche Feedback für eine generierte Vervollständigung ist Teil der RLHF-Technologie.

Das ist es!

Die meiste dieser Technologie ist so neu und bewegt sich so schnell, dass man offen für Ideen von jedem und überall sein sollte.

Dasselbe, als ob du ein Mensch wärst und es in einer Antwort an eine echte Person bemerken würdest. Ich würde denken, der Name des Handbuchs, das Veröffentlichungsdatum, die Sektion und der Absatz.

Danke, dass du das geteilt hast. Ich sehe viele Beiträge von vielen Benutzern und sage dir, dass es mir eine Freude ist, dir zu helfen.

Das war lustig, aber viele werden nicht einmal wissen, warum. Die Technologie bewegt sich so schnell, dass ich sicher bin, dass viele einen Monat lang Code erstellen und dann feststellen, dass er bereits in eine Technologie integriert wurde und das, was sie erstellt haben, nun überflüssig und vielleicht sogar veraltet ist. Wenn du dir Zeit nimmst, etwas über Langchain zu lernen, wirst du vielleicht bemerken, dass Benutzer sagen, dass sie fast ihren gesamten Code für ihre App weggeworfen und einfach Langchain verwendet haben.

Eine weitere Quelle zum Lernen ist die DeepLearning.AI Kurzkurse (derzeit kostenlos).

Gern geschehen.

Stelle ruhig weitere Fragen, dafür helfe ich dir. Je mehr Fragen die Leute zu dieser Technologie stellen, desto mehr können wir uns gegenseitig helfen, unsere Ziele zu erreichen.

3 „Gefällt mir“

Eric, das habe ich oben bereits beantwortet.

War meine Antwort nicht klar genug?

Bei allem Respekt, ich bin mir nicht sicher, was diese Fragen mit den „Discourse-Mitarbeitern“ zu tun haben?

Das Repository wird von mir erstellt und gepflegt, wie aus der URL, der Commit-Historie und dem Plugin-Thema hervorgeht?

Sollte Chatbot jemals die GitHub-Organisation wechseln, würde dies wahrscheinlich zu Pavillion geschehen.

1 „Gefällt mir“

Wenn ich das lese, denke ich an den Bot, den man sieht, wenn man Discourse zum ersten Mal beitritt. @discobot
Wenn in der Aussage das Wort plugin verwendet worden wäre, hätte ich an Ihr Plugin gedacht und nicht so geantwortet, wie ich es getan habe.

1 „Gefällt mir“

Ich bin mir nicht sicher, was Sie mit „versteckt“ meinen, aber ich gehe davon aus, dass sowohl der Chatbot als auch das KI-Plugin RAG nur für Inhalte in öffentlich zugänglichen Kategorien verwenden werden.

Genau, also nehme ich an, dass der beste Ansatz heutzutage darin besteht, diese PDF-Dokumente als Dateien hochzuladen und sie in einem Assistenten zu verwenden, anstatt sie in eine Kategorie hochzuladen und dann zu extrahieren? Dies könnte mit On-the-fly-RAG aus Foreninhalten kombiniert werden.

2 „Gefällt mir“

Es könnte von Vorteil sein, eine Kategorie zu haben, die für RAG verwendet wird, aber für Benutzer nicht sichtbar ist, da sie nicht benutzerfreundlich organisiert/präsentiert wird. Für Dinge wie Rohe Bedienungsanleitungen oder vielleicht gängige Skripte, denen der Bot folgen könnte.

2 „Gefällt mir“