技術サポートフォーラム向けのサポートボットに関するアドバイス(Discourse AI対Discourse Chatbot)

AI ボットを作成して、テクニカルサポートフォーラムのヒューマンサポートチームに賛辞を送りたいと考えています。目標は、営業時間外のサポートを提供すること(現在はユーザーは開店するまで待たなければなりません)と、営業時間中のサポートを迅速化すること(人間は応答が遅いため)です。ボットが問題を解決できない場合は、人間が引き継ぎ、営業時間中に対応します。

設計目標のいくつかは次のとおりです。

  1. サポートを提供するためのドメイン知識を持つために、過去のフォーラムデータから学習する必要があります。フォーラムのデータは、一般的なインターネットの知識よりもはるかに適切です。
  2. トピックに沿った質問にのみ回答を試みる必要があります。製品のトラブルシューティングやサービスの利用を支援することはできますが、ケーキの焼き方について質問された場合は、支援を試みるべきではありません。フォーラムにすでに存在するトピックに似たトピックに限定する必要があります。
  3. ユーザーがボットに回答を停止するように指示できる方法を提供する必要があります。これにより、ボットが役に立たないと感じた場合に、人間を待つことができます。

公式 Discourse AI プラグインに AI ボットモジュールがあるのを見ました。

そして、元の Discourse AI Chatbot があります。

この種のアプリケーションには、どちらのプラグインが適していますか?それぞれを個別に読み、このトピックも読みましたが、もし何か共有できることがあれば、より明確なアドバイスをいただけると幸いです。

これらのプラグインのいずれかは、過去のフォーラムデータで自動的に学習またはファインチューニングしますか?GPT-4 を手動でファインチューニングできると思いますが(そう思います)、プラグインの機能を可能な限り活用し、より賢い人々がすでに完了した作業を重複させたくありません。:slight_smile:

これらのプラグインのいずれかは、ボットが一般的なオフサイトの会話に関与しないように、ボットが関与するトピックを制限できますか?

元の Discourse Chatbot は長期的に開発および保守される予定ですか?それとも、公式プラグインの AI Bot に置き換えられるか、それに統合される予定ですか? @merefield

「いいね!」 4

Discourse Chatbot 🤖 の「エージェントモード」がニーズに最も適していると思います。

このプラグインはサードパーティ製で、情熱的な開発者1名によってオープンソースプロジェクトとして維持されています。そのため、可能性の限界を押し広げ、非常に豊富な機能を提供します。

もしうまく機能するようでしたら、開発者を探して、そのメンテナンスに貢献することを検討してみてください。

対照的に、もう一方の(official)プラグイン/モジュールは、安定性を重視してDiscourseチームによって開発され、彼らの印象的な開発チームによってサポートされます。

(追伸:ここで人々を@メンションするのは、特にCEOや忙しい開発者に対して、よほどの必要がない限り、最善のマナーではありません。)

「いいね!」 5

はい、どちらもRAGを使用して、フォーラムデータを応答に活用します。

それらの会話はどこで行われますか?

  • トピック
  • PM
  • チャット
  • 外部アプリケーション
「いいね!」 4

喜んでこの件についてお支払いします。連絡してみます。

申し訳ありません、失礼なつもりはありませんでした。これらのプラグインについて投稿した人たちに、意見を求めたかっただけです。

「いいね!」 2

最初は、おそらくプライベートメッセージ(PM)でしょう。現在チャットは使用していませんが、ボットがリアルタイムで返信できるため(非常に忙しい人間とは異なり)、うまく機能する可能性があります。そうなれば、プライベートな会話でうまく機能した場合、公開トピックでも有効にしたいと考えています。

「いいね!」 2

ですので、DiscourseAIプラグインのAIBot機能を試してみてはいかがでしょうか。「フォーラムヘルパー」ペルソナから始めるのが、あなたのユースケースにほぼ完璧に合致するはずです。

その後、Discourse用新規AIペルソナエディタで、あなたのニーズに特化したペルソナを作成できます。searchreadの両方の機能を付与し、適切なシステムプロンプトを記述すれば、すぐに使い始められます。

ここではMetaでこの機能へのアクセスを許可しましたので、ブラウザをリフレッシュして、実際に試してみてください。

「いいね!」 6

私のフォーラムのコピーでバージョン0.0.1を実行しています。それは大丈夫ですが、それほど賢くないようです。主にフォーラムを検索し、関連する可能性のあるトピックのリストを提供するだけです。情報を解釈して会話形式でサポートを提供しているようには見えません。また、ペルソナエディタがありません。Metaにあるものはよりうまく機能するように見えるので、最新バージョンではないと思われます。

「いいね!」 2

具体的に指示して手順を説明するように頼むと、実際にはよりうまく機能します。

「いいね!」 2

Chatbot のサポートを近いうちに中止するつもりはありません。

いずれにしてもオープンソースなので、他者からのサポートや貢献も歓迎します。

このボットは、フォーラムにある既存のデータを活用してユーザーの質問に答えるように設計されています。

現在の提供内容を超える特別な要件があり、それを実装するための予算がある場合は、私を雇って支援を依頼することを検討できます。

「いいね!」 4

はい、先ほどPMを送らせていただきました。現時点での大きな問題は、どのプラグインを使用するかということで、それら(またはボット全般)について十分な知識がないため、自信を持って決定できません。:slight_smile:

開始を支援してくれる、この分野に詳しい人が必要です。支援や、必要であれば特別な機能についても費用を支払うことができます。

以前@メンションしてしまったこと、失礼なマナーだと知らなかったこと、申し訳ありません。

「いいね!」 4

良い質問ですね。ここにいるユーザーのうち、言及されているAIボットのどちらかの実用的な経験を持っている人が何人いるかわかりませんが、私はOpenAIサイトでDiscourse AIボットを開発段階から利用していることをお伝えできます。定期的にフィードバックや提案を行っており、その多くはこのサイトに記載されています。(list)すべて無料でやっています。

サイトの理解を深めるために、このサイトへの招待状をいただくことは可能でしょうか?

質問があれば、ここで気軽に質問するか、プライベートメッセージを送ってください。

FYI

RAGが何かわからない場合は、これが良い短い紹介です。

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

「いいね!」 3

そもそも、Discourse AIとDiscourse ChatbotのどちらのAIボットプラグインを使用することにしたのか教えていただけますか?

「いいね!」 1

私が決定したわけではありません。唯一の選択肢はDiscourse用でした。

OpenAI Discourseサイトは少し古いので、まだラウンジカテゴリがあります。DiscourseのSam(OpenAIのSamではない)がOpenAIサイトのTL3ユーザーにDiscourse AIボットへのアクセスを許可しました。それが私がアクセスを得た方法であり、それが選択された理由です。しかし、ここの投稿を読んで行間を読むと、Samがフィードバックを得るために私たちと協力しており、ラウンジのトピックを通じてそのようなボットの能力を知っているユーザーがいたことがわかるかもしれません。

Discourse AIボットに変更が加えられると、コードがプッシュされインストールされた直後にそれらを確認し、試してみます。

プラグインボットについては何も言えませんし、推測もしません。

お役に立てば幸いです。

「いいね!」 1

いくつかのトピックをざっと確認した結果、私が学んだことと推奨事項をまとめました。

このサイトは、Surety ホームセキュリティシステムのサポート用です。

Discourse フォーラムで使用される AI の目的は (参考) 以下の通りです。

  • 技術サポートフォーラムにおいて、人間のサポートチームを補完すること。
  • フォーラムの過去のデータから学習すること。
  • サポートを提供するためのドメイン知識を備えること。
  • トピックに関連する質問に対してのみ回答を試みること。
  • ユーザーがボットに回答を中止し、人間による対応を待つよう指示できる機能を提供すること(ボットが役立っていないと感じた場合)。

また、Ryan からの質問の一部を以下に挙げます。

  • これらは自動的に過去のフォーラムデータから学習したり、微調整したりしますか?
  • すでに賢い人々が行った作業を重複させないこと。
  • ボットが一般的なトピック外の会話に参加しないように、関与するトピックを制限すること。
  • 元の Discourse Chatbot は長期的に開発・維持される予定ですか?
  • それとも、公式プラグイン内の AI ボットに最終的に置き換えられるか、統合される予定ですか?

以下は、私が試したサイトのバージョンで現在有効になっている Discourse AI ボットに投げた投稿された質問と、ChatGPT からの回答です。

質問

IQP4 に PowerG からの有線接続があります。有線センサーは動作しています。ベル/サイレンのテストを行いたいのですが、IQP4 でそのオプションが見つかりません。パネル上でサイレンをテストすると、IQ Remote とともに音が鳴りますが、有線のベルは鳴りません。アラームをトリップさせないと、有線のサイレンは鳴りません。

PowerG からの有線接続のベルを IQP4 からテストする方法はありますか?


以下は、GPT-4 を使用した Discourse AI ボットによる返信です。

あなたの課題に役立つ関連トピックをフォーラムで見つけました。

トピック Test wired bell on PowerG to hardwire? では、ユーザーが IQP4 から PowerG 有線接続のベルをテストするオプションが見つからないという同様の問題を抱えていました。

解決策の可能性を確認するために、このトピックをご覧ください。まだ質問がある場合や追加のサポートが必要な場合は、お気軽にお尋ねください。


以下は、GPT-3.5 を使用した Discourse AI ボットによる返信です。

Surety サポートフォーラムで、IQ パネル 4 (IQP4) を使った PowerG 有線接続のベルのテストについて議論しているトピックを見つけました。トピックはこちらです。

トピック内で、ユーザーは IQP4 自体でベル/サイレンをテストするオプションが見つからなかったと述べています。ただし、パネル上でサイレンをテストしたところ、IQ Remote とともに音が鳴りました。一方、有線のベルはアラームがトリップされない限り鳴りませんでした。

より詳細な情報や、他のユーザーから提供された解決策や提案を確認するために、そのトピックをご覧ください。


Discourse AI の GPT-4 ボットと GPT-3.5 ボットの両方が、同じトピックを見つけました。



以下は、ChatGPT による返信です。

私の学習データは 2022 年 1 月までのものであるため、IQ パネル 4 の最新ソフトウェアバージョンや機能に関する具体的な情報は持っていません。ただし、アラームシステムのテストに関する一般的な原則に基づき、PowerG に接続された有線サイレンをテストするためのいくつかの提案を以下に示します。

  1. システムテストモード:

    • アラームパネルに「システムテスト」または「ウォークテスト」モードがあるか確認してください。このモードは、実際のアラームイベントをトリガーせずにセンサーやアラームをテストするために設計されています。パネルにこの機能があれば、フルアラームを発生させずにサイレンをテストできるはずです。
  2. 出力制御:

    • アラームパネルの設定に「出力制御」または「補助出力」オプションがないか探してください。この機能により、テスト目的でサイレンなどの出力を手動でトリガーできる場合があります。
  3. ゾーンバイパス:

    • 一部のシステムでは、テスト中に特定のゾーンをバイパスできます。有線サイレンが特定のゾーンに関連付けられている場合、テストのためにそのゾーンをバイパスできるかもしれません。
  4. ユーザーマニュアル:

    • IQ パネル 4 に同梱されたユーザーマニュアルまたはドキュメントを参照してください。アラームシステムのさまざまなコンポーネントをテストおよび制御する方法に関する具体的な手順が記載されているはずです。
  5. 技術サポート:

    • 自分で解決策が見つからない場合は、メーカーの技術サポートに連絡することを検討してください。彼らは、システム固有の機能と能力に基づいたガイダンスを提供できます。
  6. パネルソフトウェアの更新:

    • IQ パネル 4 に利用可能なソフトウェア更新がないか確認してください。メーカーは新しい機能を追加したり問題を解決したりするために更新をリリースすることが多く、サイレン用の特定のテストモードが含まれている可能性があります。

実際のアラームイベントを誤ってトリガーしないよう、テスト中は注意してください。手順に不明点がある場合は、常にユーザーマニュアルを参照するか、技術サポートに連絡して助言を得ることをお勧めします。

明らかに、ChatGPT の方がより詳細な回答を提供しています。この理由については、後ほどトピック内で詳しく説明します。


注:Merefield による Discourse AI プラグイン (カード) (GitHub) にはアクセスできませんが、同じ質問に対する応答をここで比較して見ることができれば素晴らしいでしょう。:slightly_smiling_face:




以下は私のフィードバックです。

これらのボットの AI は LLM(大規模言語モデル)に基づいており、知識は学習セットによって制限されています。また、ボットは RAG(検索拡張生成)を使用して、フォーラム内のトピックにアクセスすることで知識を補強しています。

ボットは通常、ユーザーからの LLM API へのリクエストであるユーザープロンプトではなく、システムプロンプト(ペルソナと考えられるもの)を使用します。

その違いを ChatGPT に説明させましょう。

ChatGPT

システムプロンプトとは何ですか?ユーザープロンプトとの違いは何ですか?

回答

システムプロンプトとユーザープロンプトは、言語モデルや GPT-3.5 などの会話型 AI システムの文脈でよく使われる用語です。両者の違いを明確にします。

  1. ユーザープロンプト:

    • ユーザープロンプトは、人間が AI システムとの会話を開始したり、情報をリクエストしたりするために提供する入力です。
    • 人が AI モデルと対話するためにタイプまたは発話するテキストまたはクエリです。
    • 例えば、チャットボットや言語モデルを使用する場合、質問を投げかけたり発言したりする入力がユーザープロンプトになります。
  2. システムプロンプト:

    • システムプロンプトは、会話の文脈を設定したり、AI モデルの行動を誘導したりするために、AI モデルに最初に与えられる入力または指示です。
    • AI に応答を生成するための出発点や文脈を提供するために使用されます。
    • システムプロンプトは、AI の応答のトーン、スタイル、または内容を形作り、モデルの行動を導く一種の指示として機能します。
    • ユーザープロンプトがユーザーの質問や発言に特化しているのに対し、システムプロンプトは会話全体に対する一般的な文脈や指示を与えるものです。

GPT-3.5 や同様の言語モデルの場合、会話は通常、システムプロンプトに続いてユーザープロンプトが継続的に交換される形で始まります。システムプロンプトは会話全体を通じてモデルの応答に影響を与えますが、モデルの出力を決定するのはシステムプロンプトとユーザープロンプトの組み合わせです。


ボットがより具体的な回答を提供できない理由は、それらの知識ベースにこれらの製品に関するユーザーマニュアルや設置手順などが欠けているためです。さらに、ボットは配線図や設置マニュアルで使用されている画像や図などのドキュメントから画像を抽出できないことが多いです。

まず、RAG を使用して、ドキュメントのテキストのみであっても、AI の知識を可能な限り拡張すべきです。Discourse AI ボットはフォーラム内のすべてのトピックに対して RAG を使用できますが、外部情報の追加を許可しているかどうかはわかりません。もし許可されていない場合、すべてのドキュメントを PDF として(おそらく非表示の)カテゴリにインポートするというアイデアがあります。そうすれば、Discourse のコードがフォーラム内にあるためアクセスしやすくなり、Langchain を使用して PDF にアクセスできます (参考)。

これにより知識が追加されれば、システムプロンプトを調整して返信を改善できますが、それでもあなたが求めているものとは程遠いでしょう。依然として、最初の回答のように情報への参照はあっても、必要な場合にステップバイステップの指示がないような返信が来る可能性が高いです。また、AI の返信に対してフィードバックを与えても、AI がそれをフィードバックとして認識する方法もありません。つまり、ユーザーがボットに対して何か間違っていると返信しても、ボットはその返信を読み取ることはできても、それに基づいて知識を更新する必要があるとは理解しません。

返信の品質を向上させるために、3 つの考えが浮かびます。

  1. HyDE(仮説的ドキュメント埋め込み)の利用

Luyu Gao, Xueguang Ma, Jimmy Lin, Jamie Callan による「Precise Zero-Shot Dense Retrieval without Relevance Labels」(PDF

私は実際に Discourse (参考) で HyDE を知り、彼らがこれを使用していることを知っています。

  1. RLHF(人間のフィードバックからの強化学習)。両方のボットがこの機能を持っているとは思いませんが、Discourse がこれを検討しているかもしれません。もし共有する意図があれば、彼らのフィードバックを聞きたいです。

  2. RLHF を用いた合成データ。これは本当に最先端であり、どちらのボットも実装するとは期待していません。

LLM を訓練する最も実証され、成功している方法の一つは、LLM 自身に訓練させることですが、結果が良くなったか悪くなったかを知るための指標が必要です。あなたのサイトの場合、AI からの解決策が優れているか劣っているかを知る現在の唯一の方法は、人間がその解決策を評価することです。より多くの質問と解決策のラウンドを得るために、AI が質問を生成し、別の AI が解決策を生成し、その解決策を測定して、解決策を生成する AI を改善するために使用します。


ボットがユーザーを支援する能力を向上させるためには、医療従事者が診断と予後を行う際と同様に、一連の質問を行って情報を収集し、問題をよりよく理解する必要があります。

もう一つの選択肢は、Microsoft Copilot のような、AI ボットからアクセス可能な類似の技術を検討することです。

あなたが要求または指摘しなかったが価値のある項目として、ソースへの参照があります。これが重要な理由は、AI の生成が幻覚(ハルシネーション)ではないかを確認するためです。参照が含まれている場合、それが幻覚ではなく実際の参照であれば、その参照がマニュアルなどの権威あるソースからのものであるかを確認でき、幻覚ではないと判断できます。RAG を使用すれば参照を追加するのは容易であり、期待されるべきです。


さて、あなたの具体的な目標に対応します。

技術サポートフォーラムにおいて、人間のサポートチームを補完すること。

これは質問というより声明なので、質問として回答しません。

フォーラムの過去のデータから学習すること。

これは実際には私が分割したより大きな声明の一部でした。分割した理由は、フォーラム内の過去のデータが価値あるものであるという点では正しいですが、マニュアルなどの基礎知識も必要だからです。現在のボットはフォーラムの投稿に対して RAG を使用していますが、外部データにアクセスする方法は持っていないようです(AFAIK)。

トピックに関連する質問に対してのみ回答を試みること。

これはシステムプロンプトを調整することで達成できます。これには Discourse AI ポスト分類器 - 自動化ルール の技術も一部必要になります。

ユーザーがボットに回答を中止し、人間による対応を待つよう指示できる機能を提供すること(ボットが役立っていないと感じた場合)。

これもシステムプロンプトを調整することで達成できます。

これらは自動的に過去のフォーラムデータから学習したり、微調整したりしますか?

良い質問です。以前にこの問題を解決する方法に触れましたが、これは実際には見た目よりもはるかに難しい質問です。ただし、大規模な LM 研究者はこの分野で大きな進歩を遂げており、今後数ヶ月以内にこれを大幅に容易にする興味深い発表があるかもしれません。

すでに賢い人々が行った作業を重複させないこと。

これは、LLM が既知の知識から逸脱しないようにするという意味と解釈します。これは、モデルが新しい知識に対してどのように訓練されるかに依存します。モデルを悪化させることも、モデルに「忘却」させることも難しい可能性があります。AFAIK、Discourse AI のどちらのボットも、LLM の重みを変更する学習機能は持っていませんが、トピックの投稿に対して RAG を使用する機能は持っています。したがって、悪いトピック投稿(ゴミ)を入力すると、ゴミ出力になります。

ボットが一般的なトピック外の会話に参加しないように、関与するトピックを制限すること。

これは Discourse AI ポスト分類器 - 自動化ルール と同様です。

元の Discourse Chatbot は長期的に開発・維持される予定ですか?

これは Discourse スタッフにお任せします。

それとも、公式プラグイン内の AI ボットに最終的に置き換えられるか、統合される予定ですか?

これも Discourse スタッフにお任せします。

「いいね!」 6

ご協力と詳細な投稿、ありがとうございます!

RAGについて知る前に書いたものです。必ずしも学習させるのではなく、過去のフォーラムデータを使用する必要があるという意味でした。

はい、あなたや他の人からのフィードバックの後、知識ベースとしての非表示カテゴリが最善の方法のようです。

ユーザーが知識ベースを更新できるようにしたくありません。スタッフのみがそれを実行できるようにしたいです。スタッフがボットの応答をレビューして評価できると素晴らしいのですが、RAGではそれは不可能のようです。

それは素晴らしいですね!

良い点ですね。ソースが非表示の知識ベースにある場合、どのような参照を提供すべきか疑問に思いますか?

この質問は、LLMの仕組みに関する私の無知のために悪く表現されていました。RAGは当面十分でしょう。

merefieldやDiscourseの開発チームがプラグインで既に構築している機能のためにカスタムコードを開発したくないという意味でした。既に利用可能なものを使用し、必要に応じてのみ強化したいと考えています。

再度、Eric、ありがとうございました!

「いいね!」 2

良い点ですね。それに気づいてくれて嬉しいです。私も返信でそう述べるべきでした。

それは、レビューキューにうまく移行するのではないでしょうか。それがDiscourseの呼び方です。

いいえ。

RAGは、あなたが求めているものを得るために必要な多くの技術の1つにすぎません。AIの返信を評価するという点では、RAGの目的とは異なります。生成された完了に対する人間のフィードバックは、RLHF技術の一部です。

そうです!

これらの技術のほとんどは非常に新しく、急速に進歩しているため、誰からでも、どこからでもアイデアを受け入れるべきです。

人間が実際の人物への返信で言及する場合と同じです。マニュアルの名前、発行日、セクション、段落を言及すると思います。

共有していただきありがとうございます。多くのユーザーからの投稿を見てきましたが、あなたを助けることができて嬉しいです。

それは面白かったですが、多くの人はその理由さえ知らないでしょう。技術は急速に進歩しているため、ある月にはコードを作成し、次の月にはそれがテクノロジーに組み込まれていることに気づき、作成したものが冗長になり、時代遅れにさえなっている可能性があると確信しています。Langchainについて学ぶ時間を取ると、ユーザーがアプリのコードをほとんどすべて捨てて、Langchainを使い始めたと述べているのを見るかもしれません。

学習のためのもう一つの情報源は、DeepLearning.AIの短期コース(現在無料)です。

どういたしまして。

もっと質問してください。私が手伝っているのはそのためです。この技術について質問する人が多ければ多いほど、お互いの目標達成をより多く助け合うことができます。

「いいね!」 3

Eric、すでに上記で回答しました。

私の回答は十分に明確ではありませんでしたか?

失礼ですが、これらの質問は「Discourse Staff」とどのような関係があるのでしょうか?

リポジトリは、URL、コミット履歴、およびそのプラグイントピックから明らかであるはずですが、私によって作成および保守されています。

もしチャットボットがGitHub orgに移動することになった場合、それはおそらくPavillionになるでしょう。

「いいね!」 1

それを読んだとき、私はDiscourseに初めて参加したときに表示されるボットを連想しました。 @discobot
もしその記述で「プラグイン」という言葉が使われていたら、あなたのプラグインのことを連想し、私がしたような返答はしなかったでしょう。

「いいね!」 1

「非表示」とはどういう意味か分かりませんが、チャットボットとAIプラグインの両方が、公開されているカテゴリのコンテンツに対してのみRAGを使用すると仮定します。

まさにその通りです。つまり、カテゴリにアップロードしてから抽出するのではなく、最近ではPDFドキュメントをファイルとしてアップロードし、アシスタントで使用するのが最善のアプローチということでしょうか?これは、フォーラムコンテンツからのオンザフライRAGと組み合わせることができます。

「いいね!」 2

ユーザーには表示されないがRAGに使用されるカテゴリがあると便利かもしれません。これは、エンドユーザーにとって使いやすい方法で整理/提示されていないためです。生のユーザーマニュアルや、ボットが従う可能性のある一般的なスクリプトなどです。

「いいね!」 3