Discourse チャットボット 🤖

動作するようになりました!本当にありがとうございます!

「いいね!」 2

素晴らしい!

しかし、あはは、Ro-Bot は嘘をつきました(これは LLM の限界です)。

Ro-Bot は、システムプロンプトに追加しない限り、これを知ることはできませんでしたが、クォータがなくなるまで、どのクエリでもクォータを消費します。

「いいね!」 2

知っておくと便利ですね!(笑) 誰かに聞かれた場合に備えて、追加しておきますね。:smiley:

「いいね!」 1

皆さん、こんにちは。

@merefield 素晴らしいプラグインと多大な尽力に心より感謝いたします。あなたの貢献に深く感謝しています。

埋め込み(embeddings)とプロンプト(prompts)の最適な使い方について、いくつかガイダンスを求めています。現在、OpenAIはgpt4o-miniでうまく機能しているので、埋め込みでも同様にスムーズに機能することを期待しています。私の計画は、用語と背景情報を考案し、AIにそれについて尋ねて、架空の用語が返ってくるかどうかを確認することです。

まだ完全に明確ではない点が1つあります。インデックス作成のためにカテゴリを設定する場合、関連する一致が見つかった場合にトピック全体がプロンプトに含まれるのでしょうか、それとも埋め込みを作成するために使用されたテキストの特定の部分だけが含まれるのでしょうか。トークン使用量の効率が重要であることを考えると、小規模で焦点を絞ったトピックと、長くて詳細なトピックのどちらが良いかを判断しようとしています。

また、さまざまなプロンプト入力間の関係についても探求しています。chatbot.prompt.system.basic.open 設定と、ボットの応答を形成するためにフィードできる非表示テキストをテストしています。これらが何らかの形で連携していることは知っていますが、その仕組みについては完全には確信が持てません。たとえば、システムプロンプトに「あなたは誰かです。A、B、Cを実行してください」のような指示を含めると、非表示テキストプロンプトに含めるよりも効果が低いようです。これらの概念をより深く理解し、最善のアプローチを見つけようとしています。

何か洞察を共有していただければ幸いです。

こんにちは、ブライアンさん。

トピックタイトルは埋め込まれ、投稿はそれぞれ個別に埋め込まれます。

クエリはどちらかに一致させ、関連する投稿を返すことができます。

埋め込みを使用したら、RAG ボット システム プロンプトに切り替える必要があります。

公開応答には chatbot.prompt.system.rag.open を、PM や DM のプライベート応答には chatbot.prompt.system.rag.private を使用します。この区別は、1 対 1 のサポート ボットを使用する場合に少し異なる処理を行うことができるように導入されました (任意ですが、同一のままにすることもできます)。

隠しテキストとは、追加のカテゴリ固有のプロンプトのことですか?

私は主に、紹介カテゴリに新しい人が投稿したときに、温かく歓迎するためにそれを使用しています。しかし、それ以外にも創造的な用途があるはずです。

これは少し異なる方法で行われます。ボットの一部ではなく、隠されたユーザー プロンプトとして投稿されます。たとえば次のようになります。

フォーラムへようこそ!みんなとてもフレンドリーで、助けたいと思っていることを伝えてください!まだ読んでいない場合は、ウェルカム トピックをこちらで読むように促してください: LINK、そして投稿ガイドラインをこちらで読むように促してください: LINK

その結果、一人称で書くのが最善です。

ロバートさん、ありがとうございます。単純なことでした。.rag プロンプトを使用するように読んだにもかかわらず、基本的な .open を使い続けていました。

Rag のプロンプトとして OpenAI に送信されるのは何か、まだ理解しようとしています。埋め込み全体ですか?したがって、非常に長いトピックを作成した場合、その非常に長いプロンプト全体がプロンプトとして送信されますか?言い換えれば、1つのトピックにすべての情報を含めるよりも、より正確な2つの短いトピックを作成する方がトークン的には安価ですか?最も合理的なアプローチを効率的に見つけようとしています。

ログ設定を変更し、情報を警告にリダイレクトすると(これらの設定はプラグイン設定の最後のものになります)、/logs で API へのすべての呼び出しを読むことができます。

ログを汚染したくない場合は、設定を元に戻すことを忘れないでください。

こんにちは、ロバートさん。

チャットボットにログインするたびに、「こんにちは、今日はHappyBooksについて何をお手伝いできますか?」と表示されます。テキストで送信した場合にのみ応答するようにしたいのですが。

どうすればよいですか?

「いいね!」 1

ウィリーさん

Quicklaunchボタンを使用すると、この設定をオフにしない限り、常に最初に話します。

「いいね!」 1

そして、それは「ハウリング」というスペルミスです(修正します):sweat_smile: :blush:

「いいね!」 2

チャットボットに、サイトに関する質問にのみ回答させ、5 + 5 = ? のような質問には回答させないようにするにはどうすればよいですか?

システムプロンプトを使用して、例とともにそのような質問に絶対に応答しないようにします。

しかし、幸運を祈ります。他のLLMがそのようなルールにどれだけ従うかはわかりませんが、OpenAIのモデルは従う場合も従わない場合もあります。たとえここで意図したとおりに、今、そしてあなたにとって従ったとしても、状況は他の投稿、明日、そして他のユーザーにとってはまったく逆になる可能性が高いです。

「いいね!」 2

代替案として、提供されているクォータシステムでアクセスを管理するという単純なアプローチもあります。ユーザーがプライベートメッセージで 5 と 5 を足し合わせたいのであれば、それは彼ら次第ですが、その過程でクォータを消費することになります。

いずれにせよ、それは多くのトークンを消費するようには思えません :sweat_smile:

公開の場では、新しい投稿と同様に、サイト上で出現するコンテンツをレビューするのはモデレーター次第です。

私自身のサイトでは、ボットに、サイトの主なトピックにはおそらく関連しない、あらゆる種類のタスクを定期的に依頼しています :joy: (ただし、プライベートでクォータ内で行っています)。

「いいね!」 1

5+5=10

これはiOSによって自動的に行われました😂(そして時々本当に迷惑です)。

もしこれがOpenAIチャットボットによってカウントされたら、実質的に何もかかりませんでした。

「いいね!」 2

@merefield さん、これはPerplexityでも動作するように設定されていますか?PerplexityもGPTモデルを使用しています。

プロキシが見つかれば、できるかもしれません。しかし、そのようなごちゃごちゃしたものがなければ、OpenAIだけです。

私は一介のデベロッパーなので、スコープは現実的に保つ必要がありました。

「いいね!」 1

はい、試してみます。結果については追ってご連絡します。

@merefieldさん、AIがプロンプトにうまく従っていないようでした。ログから切り取られているようです。

システムプロンプトに保存した完全なプロンプトは以下のとおりです。これはテストプロンプトとして選択されました。

コメディアンチャットボットのペルソナプロンプト。あなたはコメディアンチャットボットであり、あらゆる会話に笑いと喜びをもたらすように設計された仮想エンターテイナーです。あなたのトーンは、軽快で、機知に富み、魅力的で、コメディのタイミングのセンスがあり、幅広いユーモアのスタイルにまたがるレパートリーを持っています。あなたの役割は、デジタルパーティーの主役となり、巧妙な観察を行い、パンチラインを届け、ユーモアを聴衆の文脈や好みに適応させることです。

ログには1行しか表示されていませんか、それともプロンプトが切り取られていますか?

設定は見つかりませんでした。以前はOpenAIで問題なく利用できていました。

よろしくお願いします!ブライアン

昨夜、チャットボットを無効にしました。なぜなら、「最初の返信」がカテゴリプロンプトに全く従わなかったからです。もっと堅牢なものがわかったらPMを送ろうと思っていましたが、こうなりました。通常の会話もシステムプロンプトに従うという点では、あまり良くありませんでした。

はい、インターフェースが出力を切り捨てます。

通常通り、production.log ファイルで完全なログを見つけることができるはずです。

(Discourse ディレクトリから tail shared/standalone/log/rails/production.log)

「いいね!」 1