ナレッジベースから対話型ロボットまで: GPT チュートリアルは、コンテンツベースのインテリジェントな対話システムの構築に役立ちます


7068d7a7b3a6a7131c3109680a9b5880.jpeg

1 はじめに

このアイデアは私の個人的なニーズから来ています。私は 100 近くのニュースレターを連載し、多くのコンテンツを蓄積してきました。これらの資料を AI にインポートすると、AI がこれらのデータを使用して私の質問に答え、さらには執筆の提案も提供できるようになります。

最初の頃、​​私は非常に愚かな方法を試しました。それは、質問するときにニュースレターのテキストを AI に渡すというもので、そのプロンプトはおそらく次のようなものでした。

次の文章をわかりやすく要約してください。

テキスト: """
私のニュースレター
"""


この方法も使用できますが、現在 Cha**GPT には非常に大きな制限があり、トークンの最大数は 4096 (約 16,000 文字) に制限されています。これはリクエスト + レスポンスであり、実際のリクエストの合計数であることに注意してください。それほど多くはありません。言い換えれば、一度にあまりにも多くのコンテンツを Cha**GPT にインポートすることはできません (ニュースレターには 5,000 語近くあります)。この問題は、 GPT インデックス  ; と;Lennys ニュースレターの例。

試してみてください。使い方は非常に簡単で、手順も非常に簡単です。プログラミングを知らなくても、簡単に手順に従ってこの機能を実現できます。

次の例のコードをわずかに最適化し、原則へのいくつかの導入を追加しました。皆さんも気に入っていただければ幸いです。

2. 原理の紹介

実際、従来のロボットの分野では、同様の機能を備えた電子商取引の接客サービス製品が多数存在し、言葉を発するとロボットが応答してくれるなど、私のニーズに応える既製の方法が存在します。

この従来のロボットは通常、人間の質問に答えるという意図に基づいています。たとえば、私たちは顧客サービスロボットを構築しましたが、その動作原理は次のとおりです。

016af78fc0e6f412cc5fdbf6dcac4c70.jpeg

ユーザーが「パスワードを忘れた場合はどうすればよいですか?」と尋ねると、インテントに最も近い「パスワード」を検索します。各インテントには、「忘れたパスワードを取得する方法」や「パスワードを忘れた場合はどうすればよいですか?」などのサンプル質問が多数用意されています。 「パスワードを忘れた場合はどうすればよいですか」、これらのサンプル質問には「A ボタンをクリックしてパスワードを取得する」という回答があり、ボットはサンプル質問に最も近いインテントと一致して回答を返します。

しかし、これには問題があり、「ログインできない」「パスワードを忘れた」「ログインエラー」など、多くの意図を設定する必要があり、それらはすべて 1 つのことを表しているかもしれませんが、3 つを設定する必要があります。意図と 3 セットの質問と回答。

従来のロボットには多くの制限がありましたが、この従来のアプローチは私たちにインスピレーションを与えてくれました。

この方法を使えば、トークン制限の問題を解決できそうです。特定の意図を満たすドキュメントを AI に渡すだけで、AI はそのドキュメントのみを使用して回答を生成します。

22a83fef503d928e5546fd4410960fcb.jpeg

たとえば、上記の接客ロボットの例では、ユーザーが「パスワードを忘れたらどうすればいいですか?」と尋ねた場合、「ログイン」に関するインテントが照合され、同じまたは類似のインテントを持つ文書が「ログイン例外処理ソリューション ドキュメント」などのナレッジ ベースが照合され、最後にこのドキュメントが GPT-3 に渡され、GPT-3 はこのドキュメントの内容を使用して回答を生成します。

GPTIndex ライブラリを簡単に理解すると、上の図の左側の部分を実行することになります。その動作原理は次のとおりです。

  1. ナレッジベースまたはドキュメントインデックスを作成する
  2. 最も関連性の高いインデックスを見つける
  3. 最後に、対応するインデックスの内容をGPT-3に渡します。

3. 制限事項と注意事項

この方法はトークン制限の問題を解決しますが、多くの制限もあります。

  1. ユーザーが曖昧な質問をすると、一致が間違っている可能性があり、GPT-3 が間違った内容を取得し、最終的には非常にとんでもない答えを生成します。
  2. ユーザーがあまりコンテキストのない情報を要求すると、ボットは誤った情報を生成することがあります。

したがって、このテクノロジーを顧客サービス ロボットとして使用したい場合は、次のことをお勧めします。

  1. いくつかの誘導用の質問を使用して、最初にユーザーの意図を明確にします。これは、従来の顧客サービス ロボットと同様に、いくつかのボタンを作成し、ユーザーが最初にクリックできるようにします (たとえば、ログインできないなど)。
  2. 類似性が低すぎる場合は、「申し訳ありませんが、質問には答えられません。手動のカスタマー サービスに切り替える必要がありますか?」というボトムアップの回答を追加することをお勧めします。

4. 練習する

誰でも簡単に使えるように、コードを Google Colab に置きました。環境をインストールする必要はありません。ブラウザでこれを開くだけです。 コード ファイル

ところで、それをコピーして Google ドライブに保存できます。

情報

多くの友人から、下のボタンをクリックできないというフィードバックを受け取りました。以下は単なるスクリーンショットであり、操作するにはこのコード ファイルを開く必要があります。また、答えが期待と異なる問題については、主にベクトルマッチングの問題であり、現時点では解決策はありません。

ステップ 1: データをインポートする

インポートには 2 つの方法があり、1 つはオンライン データをインポートする方法です。

GitHub データのインポートは比較的簡単です。初めて使用する場合は、まずこの方法を試してみることをお勧めします。以下のコードの前に再生ボタンをクリックすると、コードが実行されます。

af2578a00f249215d57d7ccd489656ab.jpeg

実行後、私が作成したいくつかのニュースレターがインポートされます。私と同じようにデータをインポートしたい場合は、クローンの後ろのリンク アドレスを変更するだけです。

2 番目の方法は、オフライン データをインポートすることです。左側のフォルダー ボタンをクリックし (ログインしていない場合は、この手順でログインできます)、次の図で 2 とマークされたアップロード ボタンをクリックしてファイルをアップロードします。複数のファイルをアップロードする場合は、最初にフォルダーを作成してから、すべてのファイルをこのフォルダーにアップロードすることをお勧めします。

238ad79d6b8c0c8f8f38a32813e121fe.jpeg

ステップ 2 と 3: 依存ライブラリをインストールする

再生ボタンをクリックするだけです。

ただし、3 番目のステップでは、パラメータを変更してみることができます。次のように変更できます。

  1. num_ouputs:出力トークンの最大数を設定します。数値が大きいほど、質問に答えるときにマシンが答えることができる単語が増えます。
  2. 温度:  これは主に、モデルによって生成された結果のランダム性を制御するためのものです。つまり、温度が低いほど、結果はより確実になりますが、同時に、より平凡で面白くなくなるということです。予期しない答えを取得したい場合は、このパラメータを増やすとよいでしょう。ただし、シナリオがデータ抽出や FAQ シナリオなどの事実ベースのシナリオである場合は、このパラメーターを 0 に設定することが最善です。

他のパラメータはそのままにしておいてください。大きな問題ではありません。

ステップ 4: OpenAI API キーを設定する

これには、OpenAI (OpenAI は Cha**GPT ではないことに注意してください) にログインし、右上隅のアバターをクリックして [API キーの表示] をクリックするか、このリンクをクリックして直接アクセスする必要があります。次に、[新しい秘密キーの作成] をクリックし、そのキーをコピーしてドキュメントに貼り付けます。

e9b1233d3032ccc34cf53d736f678bb5.jpeg

ステップ 5: インデックスを構築する

このステップは、最初のステップでインポートされたデータを介して実行され、OpenAI の埋め込み API を使用します。最初のステップで独自のデータをアップロードした場合は、「 」内の Jimmy-Newsletter-Corpus をアップロードしたフォルダーの名前に変更するだけです。

知らせ:

  • このステップでは OpenAI クレジットが消費されます。1000 トークンの価格は $0.02 です。次のコードを実行する前に、アカウントにお金があるかどうかに注意する必要があります。
  • 使用している OpenAI アカウントが無料アカウントの場合、頻度に関する警告が表示されることがあります。この時点では、しばらく待ってから次のコードを実行できます (さらに、インポートされたナレッジ ベース データが多すぎると、引き金)。この制限を解除する最善の方法は、OpenAI アカウントの [請求] ページでクレジット カードをバインドすることです。カードの結び方は自分で探す必要があります。

ステップ 6: 質問する

このステップでは、質問を試すことができます。最初のステップでプリセット データをインポートした場合は、次の質問を試すことができます。

  • 第90号の主な内容は何ですか?
  • 第 90 号で言及されている本と同様の本をお勧めします

独自のデータをインポートする場合は、次のような質問をすることもできます。

  • 要約する
  • 質問をする
  • 情報抽出

上記は簡単な紹介ですが、フォローしてプライベート メッセージを送信すると、無料の GPT 学習教材、Midjourney AI ペイント学習教材、GoGPT.VIP チュートリアルを入手できます。

AI イノベーション ワークショップ GOGPT を検索して、AI を受け入れ、GPT を受け入れ、明るい未来を受け入れましょう。

818b2c8f3290b4490fa110c559993a3f.jpeg

おすすめ

転載: blog.csdn.net/siyu471384214/article/details/131545054