この記事では、2023年5月1日にエクスペリメンタルビルド(実験版)として公開された「生成AIアダプター for ChatGPT」の使い方を解説します。
ChatGPTとは?
ChatGPTは、いま多くのビジネスユーザーから注目を集めているAIアシスタントです。大規模言語モデル(LLM)という革新的なAI技術を利用して開発されたChatGPTは、膨大なデータから学習した知識を持っており自然な文章を生成することができます。その能力は、業務プロセスの効率化や戦略立案のサポートなど様々なビジネスシーンでの活用が期待されています。ChatGPTをビジネスに活用することでチームの知的生産性を飛躍的に向上させることができるでしょう。
「生成AIアダプター for ChatGPT」とは?
ASTERIA Warp の 「生成AIアダプター for ChatGPT」(以下、本アダプター)は、既存の社内システ ムやクラウドサービスに蓄積されたデータを元にChatGPTと連携して処理するためのアダプターです。本アダプターを利用すると、ChatGPTの能力を活かしたデータ処理をノーコードで手軽に実現できます。
本アダプターには1つのコンポーネントが含まれています。
コンポーネント | 説明 |
SimpleChatGPTCall |
OpenAI APIを使用してChatGPTからメッセージを取得します。 |
このコンポーネントを利用すると、OpenAI APIを使用してChatGPTへ質問文(プロンプト)を送信し、生成された回答文を受信することができます。
※OpenAI APIのAPIキーはお客様にてご用意いただく必要があります。
「生成AIアダプター for ChatGPT」の使い方
本アダプターの使い方を、次のステップに分けて解説します。なお、このエクスペリメンタルビルドは、ASTERIA Warp 2212をご利用いただいているお客様にお使いいただけます。
OpenAIのアカウント登録
本アダプターを利用するには、OpenAI のアカウント登録が必要です。
すでにアカウントをお持ちの場合は、次のステップへ進んでください。
- OpenAI APIのサイト(https://platform.openai.com/overview)を開き、画面右上の「Sign up」ボタンを押します。
- メールアドレスまたはGoogleアカウント、Microsoftアカウントを用いてアカウントを作成します。
- 画面の指示に従って登録作業を進めます。(ここでは詳細を割愛しますが、画面の指示通りにすれば問題ありません。)
- 「Welcome to OpenAI」の画面まで進んだら登録完了です。
なお、OpenAI APIは有償のサービスです。本稿公開時点では、初期登録時にいくらかの「Free Trial Credit」が付与されるため課金情報の登録前でも試用ができるようですが、継続利用する場合は課金情報の登録が必要になります。(https://platform.openai.com/account/billing/payment-methods)
APIキーの入手
OpenAIのアカウント登録が完了したら、次にAPIキーを入手する必要があります。
- 画面右上のアカウント名をクリックし、表示されたメニューから「View API keys」をクリックします。
- 「Create new secret key」をクリックします。
- キーを識別する名前をつけて、「Create secret key」をクリックします。名前は任意で、日本語も設定できます。
- APIキーが表示されるので、コピーします。このAPIキーはこのタイミングでしか取得できません。もしコピーを忘れたり、事後にAPIキーを紛失した場合は、新しいAPIキーを作成する必要があります。(1つのアカウントで複数のAPIキーを作成することが可能です)
- Doneをクリックしたら作成完了です。
- 作成が完了すると次のような画面に切り替わります。
アダプターの入手と導入
このエクスペリメンタルビルドは、ASTERIA Warp 2212をご利用いただいているお客様にお使いいただけます。 また、アダプターをダウンロードするためには、対象のASTERIA Warpサーバーからインターネットへ接続できる環境が必要です。
1. バックアップを実施してください。
手順は「アップデート前のバックアップ作業とアップデート前に戻すリカバリー作業について教えてください(バージョン1610以降)」に記載されています。
2. アダプターをダウンロードします。
フローサービス管理コンソールへ管理者(asu)でログインし、「システム」-「アップデート」-「アダプター」を開きます。
3. 「生成AIアダプター for ChatGPT(Experimental)」をダウンロードします。
4. フローサービス全体を再起動します。
5. フローデザイナーで「コンポーネント/マッパー関数の取得」を実施し、「fcexperimentalopenai-2212.1457.jar」を取得し、フローデザイナーを再起動します。
これで準備完了です。
フローの作成と実行
1. ダミーデータの生成
営業資料の作成やデモンストレーションを実施するとき、ダミーデータが必要になることがあると思います。しかし、ダミーデータを作るのは結構手間もかかり、案外大変な作業です。
ここでご紹介する「ダミーの商品データ一覧を作るフロー」を使うと、目的に合ったダミーデータを手軽に作成することができます。
ここから、フローの内容を解説します。
最初に「どのようなダミーデータを作ってほしいのか」を質問文として用意します。
ChatGPTへの質問文は「プロンプト」と呼ばれ、その内容によって得られる回答の内容や精度が変化します。現状では英語で指示を与えたほうが精度が向上する傾向がありますので、そのようにしました。ただし出力は日本語で得たいので、出力例など一部の指示は日本語にしてあります。
ここではマッパーコンポーネントの中で、Embed関数を使ってプロンプトを組み立てました。
Embed関数の「データ」プロパティは、このようになっています。フロー変数に設定した「対象ジャンル」と「件数」をプロンプトの中に組み込むようにしてあります。
Please generate sample data entries related to ${input1}. Use dummy names for the product names and manufacturer names. Set the unit price to a reasonable value. The item code should be a random 13-digit number starting with 20. Output only the generated results (Comma separated data).
日本語で出力してください。
Please generate ${input2} records.
Format the output with the data separated by a comma (,) and the fields in the following order:
商品名,商品コード,単価,メーカー名
えんぴつ,2012345678901,200,ABC鉛筆
消しゴム,2012345678912,150,DEF社
次に、そのデータを SimpleChatGPTCall コンポーネントを使って ChatGPT へ渡します。
SimpleChatGPTCallコンポーネントは、入力されたテキストストリームを質問文(プロンプト)としてChatGPTへ送信します。そして、得られた回答をテキストストリームとして出力します。
ここでは、「シークレットキー」プロパティにOpenAI APIから取得したAPIキーを、「モデル」プロパティには使用するモデルを設定します。なお、「モデル」プロパティでは、「gpt-3.5-turbo」と「gpt-3.5-turbo-0301」はプルダウンで選択可能ですが、「gpt-4」などを利用する場合は直接入力する必要があります。これは、モデル「gpt-3.5-turbo」はOpenAI のアカウントがあればどなたでも利用可能ですが、モデル「gpt-4」は申請をして招待が届いたアカウントだけで利用することができるためです。
また、gpt-4を利用する場合は、gpt-3.5-turboを比較して処理時間が長くなりますので、タイムアウト(秒)をデフォルトの60秒より長くしたほうが良い場合もあります。
最後に、出力されたテキストストリームをそのままファイルに保存しています。
今回のフローでは、ChatGPTからCSV形式のデータが出力されるようにプロンプトを作成しましたので、このファイルの内容はCSV形式になっていることが期待されます。
ただし、ChatGPTの出力は実行するたびにある程度変化します。場合によってはCSV形式のデータ以外の文言が付加される場合もありますので注意が必要です。
処理結果も見てみましょう。
今回は「商品名,商品コード,単価,メーカー名」の4つのフィールドを持つCSV 形式のデータとして回答を出力するように指示しました。
フロー実行の様子(フローデザイナーから実行します)
フロー変数「対象ジャンル」に「文房具」、「件数」に「10」と入力し、実行しました。
モデル「gpt-3.5-turbo」での出力例
マーカー,2012345678923,100,GHI 製作所
ボールペン,2012345678934,250,JKL 鉛筆
はさみ,2012345678945,300,MNO 製造株式会社
のり,2012345678956,50,PQR 製造業
付箋紙,2012345678967,80,STU 製紙所
定規,2012345678978,150,VWX 製造株式会社
ノート,2012345678989,300,YZA 文具店
ファイル,2012345678990,400,BCE オフィス用品
文房具セット,2012345679001,1000,FGH 製造業株式会社
モデル「gpt-4」での出力例
マーカー,2034567890123,350,XYZ マーカー
ボールペン,2045678901234,500,ペン工業
定規,2056789012345,300,STD 定規
デジタルノート,2067890123456,8000,電子株式会社
シャーペン,2078901234567,600,MNO シャーペン
ノートブック,2089012345678,400,紙の世界
クリップ,2090123456789,100,留め具専門
ステイプラー,2012345678000,1000,ジャンバーセンター
はさみ,2012345678111,1200,カット株式会社
修正テープ,2012345678222,250,エラサー
どちらも、ダミーデータとしては十分に利用できるデータが生成できたのではないでしょうか。
「対象ジャンル」に設定する内容を変更すれば、文房具以外のダミーデータも生成できますよ。
「件数」に関しては、おおよそその程度のデータを生成してくれますが、多少の誤差が発生する場合もあります。また、データ量が増えると回答が打ち切られますので、少しずつ作成するのがよいでしょう。
※解説内容は2023年5月1日時点のものです。
※解説の一部として外部サイトの使い方を含んでいますが、予告なく操作方法等が変更となる場合がありますのでご了承ください。