🙆‍♀️

ChatGPTでUnreal EngineによるAIチャットボット構築ガイド (コピペでOK)

2023/05/13に公開

GPTを使ったUnreal Engineチャットボットの作成とJSON形式での出力データの扱い方

この記事では、Unreal EngineでGPTを使ったチャットボットを作成する方法と、GPTからの出力データをJSON形式で扱う方法を説明します。VARestプラグインOpenAI APIを使用して、チャットボットを実装します。

注意

この実装方法は、APIキーを変数として保存しているため
ソフトとしてそのまま配布してしまうとAPIキーを抜き取られて不正利用される可能性があるため配布を行う場合はAPIキーを入力式にするようにしてください

チャットボットの実装

事前準備

  1. Unreal Engineのプロジェクトを作成します。
  2. マーケットプレイスからVARestプラグインをインストールして、プロジェクトに追加します。

ブループリントでの実装

ブループリントの参考例<-ここからコピペできます

全体ノード

  1. Set Headerノードを作成し、ヘッダー情報を設定します。APIキーを含めるため、AuthorizationヘッダーにBearer APIキーを設定します。

  2. リクエストデータを構築するため、Construct Json Requestノードを追加し、ユーザーの入力とAIの出力を配列形式で送信します。役割(role)は以下の3つです。

    • system: GPTをどのように振る舞わせるかを決める
    • user: ユーザーからの入力
    • assistant: AIからの出力
      GPTはあくまでこれらの流れから回答を作成するので、ユーザーが自由にassistantの返答内容を改変してもよい。

3.URLを設定し、Apply URLノードを作成します。これでリクエストが正しい形式で送信されます。

  1. APIからの結果を受け取り、VARestのBreak Jsonノードを使用して必要なデータを取得します。

以下のリンクから、ブループリントの参考例をコピーして使用できます。変数のInputTextにAPIに送信するテキストを設定し、APIKey変数にAPIキーをコピーしてください。
ブループリントの参考例

これで、Unreal EngineでGPTを使ったチャットボットが完成しました。必要に応じて、ブループリントをカスタマイズして、さらに高度なチャットボットを作成できます。

GPTからの出力データをJSON形式で扱う方法

GPTから出力されたデータを効率的に扱う方法として、JSON形式で出力することが有効です。特に、会話内容だけでなく、感情パラメーターや他の情報を一緒に出力する場合、JSON形式で出力することで、データの抽出が簡単になります。

JSON形式での出力方法

GPTがJSON形式で出力するように指示するには、いくつかのコツがあります。

  1. 初回のAI出力をJSON形式にする: 最初のAIの出力をJSON形式にすることで、その後のAIの出力もJSON形式になります。これにより、データの扱いが容易になります。

  2. AIとユーザーのデータを組み合わせてリクエスト: リクエストには、AIの出力データとユーザーの入力データを組み合わせて送信することが重要です。これにより、AIの出力データ形式を自由に加工できます。

Unreal EngineのJSONプラグインを使ったデータの取り扱い

Unreal Engineには標準で搭載されているJSONプラグインがあります。これを使って、JSONテキストを変数や構造体に変換することができます。

  1. プラグインを有効にする: Unreal Engineのプラグイン設定から、JSONプラグインを有効にします。

  1. JSONデータを変換: プラグインのノードを使って、JSONテキストを変数や構造体に変換します。例えば、Load Json From Stringノードを使って、JSONデータを構造体に変換できます。

画像8: Load Json From Stringノードの使用例

  1. データの取り出し: 必要なデータ(テキストや感情パラメーターなど)を構造体から取得し、チャットボットの応答として表示や処理を行います。Get fieldノードを使用してデータを取り出すことができます。

これらの手順により、GPTから出力されたデータをJSON形式で扱い、効率的にデータを抽出することができます。

Discussion