メイン コンテンツをスキップする 補完的コンテンツへスキップ

例 2: 「OpenAI Completions API (GPT-3) - JSON テーブル」の構成

この例では、「OpenAI Completions API (GPT-3) - JSON テーブル」構成で OpenAI 分析コネクタを使用する方法を学びます。基本的な演習を通じて、データ モデルに機能を組み込む方法を紹介します。

Azure OpenAI コネクタを使用して、この例を完了することもできます。Azure OpenAI コネクタを使用する場合、OpenAI プラットフォームではなく、Microsoft Azure プラットフォームを通じてモデルとやり取りを行います。

始める前に:

この例を完了する前に、次のステップを完了する必要があります。

  • OpenAI プラットフォーム アカウントを作成する

  • OpenAI API キーを取得する

  • 分析接続機能を有効にする Qlik Cloud

  • 適切なコネクタ構成を使用して接続を作成する

ロード スクリプトで OpenAI コネクタを使用する

Qlik Sense アプリを作成します。これにロード スクリプトを追加して、OpenAI プラットフォームと通信します。このスクリプトでロードしたテーブルは、アプリのデータ モデルでアクセスできるようになります。

情報メモ例 1 のロード スクリプトのセクションと同じアプリを使用してこのセクションを完成する場合、以下のスクリプトをロードする前に、例 1 のスクリプトをコメント アウトするか、削除する必要があります。そうしない場合、データ モデルに問題が生じ、データをロードしているときにエラーが発生する可能性もあります。

下記のステップを実行します。詳細については、OpenAI 接続からのデータの選択とロード を参照してください。

OpenAI へ送信するデータのテーブルを作成する

最初のステップは、OpenAI に送信するリクエストを含むテーブルを作成することです。リクエストのデータの行は、「Completion」と呼ばれています。各項目のテキストは、テーブルの 1 つの項目 (列) に行として含まれている必要があります。この列の各行は、OpenAI API によって完成されるテキストを示しています。

関連項目には 2 つ目の追加項目を設けることができますが、これは構成で指定された項目名と一致する必要があります。これは、OpenAI に送信されない特別項目ですが、Qlik データ モデルを生成する目的で応答にアタッチされます。

アプリで、データ ロード エディターを開いて、次のコードを新しいスクリプト セクションにペーストします。

SourceTable2:
NoConcatenate
LOAD
RowNo() as RowId,
Text
Inline
[Text
top 5 countries by population extract as JSON list];				

 

このテーブルには、Text と呼ばれる項目が含まれていますが、これには OpenAI に尋ねている質問が 1 つ含まれています。[RowId] 項目は、[関連項目] であり、アプリのデータ モデルに回答をリンクするために次のステップで使用されます。

OpenAI load ステートメントの作成

次のステップは、OpenAI と通信する別の Load ステートメントを作成することです。このステートメントでロードするテーブルは、リクエスト データを送信するのに使用しているテーブルと項目の名前を指しています。要するに、リクエストに対する OpenAI の回答を提供するために、スクリプトによって 2 番目のテーブルがロードされているということです。

スクリプトのこの部分を生成するには、使用する接続の [データの選択] ウィザードを使うことができます。これは、提供するプロパティの名前を含むテンプレート スクリプトを生成します。または、ウィザードを使わずにスクリプト エディターにこのテーブルを手動で追加できます。

データ ロード エディターの [データ ソース] パネルで使用している接続を見つけて データを選択 をクリックします。これにより、 [データを選択] ウィザードが開きます

データ ロード エディターの分析接続のための [データの選択] ボタン

[データの選択] のアイコンが強調表示された、データロードエディターの [データの追加] タブ

[データの選択] ウィザードを使用している際は、2 つのプロパティを提供する必要があります:

  • 常駐テーブルの名前。これは、質問が OpenAI に送信されるテーブルです。この場合、SourceTable2 です。

  • データ項目の名前。これは、OpenAI に送信される質問を含む項目です。この場合、Text です。

[テーブル] で、openai と呼ばれるテーブルのチェックボックスをクリックします。

データ ロード エディタの [データの選択] ウィザード

[データの選択] のアイコンが強調表示された、データロードエディターの [データの追加] タブ

[スクリプトの挿入] をクリックすると、新しいテーブルがロード スクリプトに追加されます。

OpenAI load ステートメントが追加されたため、ロード スクリプトは次のようになります。

SourceTable2: NoConcatenate LOAD RowNo() as RowId, Text Inline [Text top 5 countries by population extract as JSON list ]; [openai]: LOAD * EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for JSON Tables Completions (GPT-3)"}}', SourceTable2{RowId,Text});

 

情報メモこれと同一のコードがアプリで正しく機能するためには、OpenAI 接続も、上記のロード スクリプトで connectionname と指定されたものと同じ Name 値で設定されている必要があります。このチュートリアルで使用する値については、「接続の作成」を参照してください。

これでロード スクリプトを実行できます。

アプリにデータをロードする

スクリプトが完成したら、[データのロード] をクリックします。これは OpenAI との通信を実行し、テーブルをアプリのデータ モデルに挿入します。

情報メモスクリプトのロード時にエラーが発生した場合、接続構成のオプションのセカンダリ [関連項目] とロード スクリプトの間に不一致がある可能性があります。接続の構成で [関連項目] を定義した場合、リクエスト スクリプトにも含まれるようにします。

データ モデル ビューアを開いて、2 つのテーブルが予想通りリンクされていることを確認します。[プレビュー] ペインで、私たちのリクエストに対する OpenAI の回答が 2 番目のテーブルに含まれています。

OpenAI 接続から作成されたデータ モデル

2 つのテーブルを含む結果のデータモデルを表示しているデータ モデル ビューア。

アプリに読み込まれたデータを使って、分析コンテンツを生成できるようになりました。このデータを使って作成したチャートでは、OpenAI 接続を参照する必要はありません。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。