GPT3ライクなボットを統合する?

皆さん、

Discourseへのボット統合に関する興味深いトピックがいくつかありますが、GPT-3、BlenderBotなどの大規模メモリモデルAIボットの統合に関するトピックは見当たりませんでした。どなたか考えたことはありますか?あるいは、アイデアの実装で進展はありましたか?

私は、大規模AIボットをシステム上の通常のユーザーとしてDiscourseの別のインスタンスに設定することを考えています。他の人間ユーザーと同じように参加しますが、投稿が彼に直接向けられた場合や、投稿で彼のハンドルが言及された場合にのみ返信するかもしれません。

新しいインスタンスで再び飛び込む前に、今回はまずフィードバックを得ようと思いました。

何かご教示いただければ幸いです。

「いいね!」 12

ええ、それは面白い実験になりそうですね。
ChatプラグインにDialogFlowのようなものを接続する機能についても考えていました。

すぐに専用の時間は取れませんが、同じような考えを持つ人たちと一緒に、考えを巡らせたり、少し実験したりできれば嬉しいです。

「いいね!」 8

素晴らしい!私の現時点での考えは、哺乳類/人間の脳が重複と専門化によって進化してきたのと同じように、時間の経過とともに多くの異なるAIアプリを中央エンティティに追加できるようにすることです。

始めるためにDiscourseインスタンスを作成すべきでしょうか?

「いいね!」 4

まずは技術的な設計から始めましょう。どのようなAPIに接続しますか?両システム間にソフトウェアが必要になりますか、それともGPT APIを呼び出すプラグインで十分でしょうか?

「いいね!」 6

@RGJ

Hubotの投稿は以前にも見ました。車輪の発明が必要なものに飛び込む前に、学習演習としてそのオプションを試してみることを考えました。それは役に立つと思いますか?

「いいね!」 3

はい、もちろんです。1週間ほど留守にしますが、その後は少し時間を取って色々試してみます。Nodeはあまり好きではないので、Python、Ruby、PHPのいずれかでやりたいのですが。まずはこれで経験を積みましょう。

「いいね!」 3

私はRubyを好みます!

素晴らしいです!私も少し旅行に出ますが、戻る前に詳しく読んでみます。

ありがとうございます!

「いいね!」 3

ここ数ヶ月、私はほとんどインターネットから離れていましたが、戻ってみるとGPT-3に関する多くの興奮が見られました。それが、Discourseにどのように応用できるかについて考えさせられました。

OpenAIを使用した「スタッフアシスタント」ボットを作成するというアイデアをいじっています。現在はtext-davinci-003モデルでテストしています。基本的な設計は、Python OpenAIライブラリがインストールされたサーバーを指すDiscourse投稿イベントWebhookになると思います。

私が取り組んでいる最初のタスクは、ボットにプレーンテキストの説明からData Explorerクエリを返すようにすることです。まだモデルのファインチューニングは試していませんが、リクエストのプロンプトにDiscourseデータベース構造に関する情報が提供されていれば、驚くほど良い結果が得られています。

この種のことにOpenAIを使用すると高価すぎるか、結果が本番サイトで使用するには十分な精度ではないことが判明する可能性があります。

私はただ楽しみのためにこれに取り組んでいます。もう1つの明らかなことは、Discourseフォーラムの既存の返信に対してカスタマーサポートボットをトレーニングすることです。これは、スタッフユーザー向けのボットを設定するよりも(コストと精度の両面で)難しい問題のように思えます。

「いいね!」 13

私のユースケースは異なります(ボットは、非営利団体のメンバーとの以前の会話を記憶する必要があります)。BlenderBotのさまざまなバージョンで、過去1週間でかなりの進歩を遂げました。プロジェクト専用にDiscourseをセットアップしたここにさらに投稿します。

https://forum.phirho.org

  • ぜひご参加ください!
「いいね!」 3

サインアップは無効になっています。招待が必要です。

「いいね!」 1

ああ!すみません!あなたは3人目です。メールアドレスをDMで送ってください。

「いいね!」 1

考えてみれば、そこに複数のボットを配置できない理由はありません。

「いいね!」 1

私も同じことを聞こうとしていました。チャットやスレッドで質問できるChatGPTボットがあれば、とても便利でしょう。以下は、それを仮想マシンで実行する方法のチュートリアルです。

「いいね!」 3

非常に巧妙で、驚くほど面白く、興味深い! - しかし、私の必要とするもの(セッション間のメモリ)はできません。

ChatGPTは会話の以前の内容を覚えていますか? | OpenAI ヘルプセンター | https://help.openai.com/en/articles/6787051-does-chatgpt-remember-what-happened-earlier-in-the-conversation

「いいね!」 3

もし私が間違っていたら訂正していただけると嬉しいのですが、ChatGPTはあなたが最後に送信したプロンプトのテキストしか「覚えていない」と理解しています。OpenAIのプレイグラウンドで、チャットを開始し、テキストを送信した後に「コードを表示」ボタンをクリックすることでこれをテストできます。テキストを送信するたびに、それがプロンプトに追加されていることがわかります。

prompt="以下はAIアシスタントとの会話です。アシスタントは親切で、創造的で、賢く、そして非常にフレンドリーです。\n\n人間: プロンプトがどのように設定されるかを確認しているだけです。\nAI: こんにちは!プロンプトの設定方法についてお調べのようですね。他に何かお手伝いできることはありますか?\n人間: 自分のアプリケーションでOpenAIのチャット機能を使用する場合、ユーザーが新しい質問を投稿するたびにプロンプトを更新し続けるべきですか?プロンプトを最新の状態に保つことは、ユーザーが各質問に対して最も関連性の高い情報を確実に得られるようにするために非常に重要です。アプリケーションのサイズや会話の複雑さに応じて、プロンプトを定期的に更新したり、更新が必要な時期を判断するためのより洗練されたシステムを開発したりする必要があるかもしれません。他に何かお手伝いできることがあればお知らせください。"

これは、ドキュメントで言及されている4000トークン(約3000語)の制限に達するまで続けることができます。長いプロンプトを送信すると高価になる可能性があることに注意してください。現在、Davinciモデルでは1000トークンあたり0.02ドルだと思います。

私の理解が正しければ、ChatGPT for Discourseを処理するアプリケーションまたはDiscourseプラグインは、新しい質問と返信をすべてプロンプトに追加する必要があります。これは4kトークン(約3k語)に達するまで行うことができます。その制限を超えた場合、OpenAIからエラーが返されるようです。そのエラーは、OpenAIにリクエストを送信しているアプリケーションで処理する必要があります。

トークン制限の回避策として、会話から重要な詳細を抽出し、その詳細のみをプロンプトに更新する方法を見つけることが考えられます。ユーザーに代わってこの情報を取得するためにリクエストを行うことができるかもしれません。次のようなものです。

これらの詳細は、OpenAIにリクエストを送信しているアプリケーションに保存され、後で会話を再開するために使用できます。

これに関するより決定的な回答は、https://community.openai.com/ で得られます。彼らがコミュニティにDiscourseを使用しているのは素晴らしいことです!

「いいね!」 8

あなたの言う通りだと思いますが、私が提供したリンクには、ChatGPTにはセッション間のメモリがないと書かれています。これは私のユースケースには必要です。

「いいね!」 3

ChatGPTとやり取りをしてネットワークリクエストを見ると、バックエンドに送信されるconversation_idも提供されていることがわかります。OpenAIのドキュメントにも記載されていると思います。

そのため、プロンプト以外にもコンテキストがある可能性がありますね。:thinking:

「いいね!」 3

それはテストしやすいですね。

「いいね!」 3

これが私が言及していたものであり、(私のユースケースにとって重要です):

https://help.openai.com/en/articles/6787051-does-chatgpt-remember-what-happened-earlier-in-the-conversation

「いいね!」 1

すみません、おっしゃっていることを読み間違えました。

「いいね!」 3