ChatGPTはじめAI技術が爆発的に広がっていますが、皆さんうまく活用されていますでしょうか?
利用者の広がりに合わせて機密情報が漏洩する事故も起きています。利便性の報道が過熱する中見逃されがちですが、ChatGPTでは入力したテキスト(プロンプト)はAIの学習に使われる場合があります。ですので、機密情報を入力した場合、それが学習されモデル内に知識として残り、第三者が利用した際にその情報が返答に含まれてしまうケースが考えられます。
例えば、一般企業でChatGPTの危険な利用用途としてありそうなのが「議事録の要約」です。議事録は会社の機密情報を多く含んでいるものです。これをChatGPTに入力してしまうと、その情報がモデルの学習に利用され、意図しない形で第三者の返答に紛れ込むことが考えられます。
怖いですね。
そこで、今回はモデルに入力内容を学習させずにチャットAIを利用する方法をご説明します。
本記事の想定読者
- ChatGPTのようなチャットAIを業務で使いたいけど、機密情報の流出を気にしている方
- pythonなどのプログラム言語でコーディングを行うレベルの利用は想定していない方
- curlなどのコマンドラインでの利用に抵抗のある非エンジニアの方
入力テキストの学習に関するChatGPTとOpenAI APIの違い
冒頭で述べた通り、ChatGPTは入力されたテキストを学習に利用します。しかし、ChatGPTを提供しているOpenAI社が「入力されたテキストを学習に利用しない」としているサービスがあります。それがOpenAI APIです。
OpenAI APIは自社ITサービス内に組み込んでチャット系AIを呼び出して使うための仕組みです。例えば、自社のチャットサービスに組み込んで、チャット系AIに返事をさせるなどです。OpenAI APIはサービスに組み込むことを目的に用意されているものではありますが、サービスに組み込まずとも直接利用することも可能です。
APIはプログラムから呼び出されることを前提に用意されるものなので、基本的にはプログラム言語やコマンドライン(ITエンジニアが使うアノ黒い画面)で呼び出すことが多いです。今回は非エンジニアの方でも利用できるように、プログラム言語やコマンドラインを使わずにAPIの実行を行う方法をご紹介します。
また、APIの実行を試すためにOpenAI社が用意しているPlaygroundサービスも紹介します。
【注意事項】OpenAI社はAPI経由での利用では、現時点でモデルの学習に利用しないとしています。しかし、今後の規約改定での変更やOpenAI社内でデータがモニタリングされる可能性は残ります。弊社および著者は本記事内容を実行したことによる一切の責任を負いません。
OpenAI APIの申込方法
まずはAPIの利用を申し込みます。
APIの利用はChatGPTとは別になりますので、すでにChatGPTを申し込んでいる方も申し込みが必要です。
OpenAI APIのページにアクセスし「Sign up」からサインアップを行います。
アカウントを作成します。
アカウント作成後は以下のようなOverviewページが表示されます。
OpenAI APIをRESTクライアントで試してみる
アカウントが準備出来たので、実際に自分のパソコンからOpenAIにAPIを使って接続してみましょう。
OpenAIにログインしている状態で、右上のアカウント名をクリックして出てくるメニューから「View API Key」をクリックします
API keysページで「create new secret key」をクリックしてAPIキーを生成します。
キーは後で利用するので緑のコピーボタンで控えておきましょう。
今回は「Advanced REST Client by MuluSoft」というRESTクライアントツールを利用してAPI通信を試してみます。
Advanced REST Client by Mulusoftのページで「arc-setup.exe」をダウンロードします。
起動すると以下のような画面が現れます
こちらにいくつか設定を行っていきます。
まず右画面の上部「GET」となっているプルダウンをクリックして「POST」に変更します。「POST」とはデータを送るという意味だと思ってください。今回チャットの質問文を送るので「POST」になります。
URLは「https://api.openai.com/v1/chat/completions」を入力してください。
※他にも利用用途に応じていくつかの接続先URLが利用できます。詳しくはAPIドキュメントをご確認ください。今回はチャットなので前述のURLになります。
「HEADER」, 「AUTHORIZATION」, 「ACTIONS」, …と並んでいるタブからまずは「HEADER」を選んでください。
「HEADER」タブでは「ADD」ボタンから通信のヘッダーに入れる情報を記載します。ここではName「Content-Type」、Value「application/json」を入力してください。入力エリア左のON/OFFトグルボタンもONになっていることを確認してください。
次に「AUTHORIZATION」タブです。ここでは「Select authorization」で「Bearer」を選びます。
「Token」の箇所には先ほど取得したAPIキーをそのまま貼り付けます。
そして、本体となる質問内容の記述です。「BODY」タブに質問内容を以下の形式で入力します。
{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "<質問内容>"
}
]
}
最後にURL横にある紙飛行機アイコンのボタンを押すとデータがOpenAIに送られ、返答がResponseに返ってきます。
無事回答が返ってきましたね。
※もし、「Response」タブが出ていない場合は「…」のアイコンから「Response」を選ぶと、「Response」タブが表示されます。
【おまけ】OpenAI API Playgroundの使い方
わざわざツールを入れるのは面倒という方はもっと簡単な方法もあります。冒頭で述べたPlaygroundというサービスです。
※ただし、Playgroundでの入力データがどのように扱われるかの明確な記述は本記事執筆時点で見つけられませんでした。心配な方は前述のRESTクライアントツールを利用してください。
Overviewページの上部メニューにてPlaygroundをクリックします。
Playgroundの画面を開いたら、右サイドバーのパラメータ設定を変更しましょう。
ChatGPTのようなチャットAIを使う場合は「Mode」を「Chat」に変更します。
変更すると「Model」が選択できます。ここでは「gpt-3.5-turbo」を選びます。
※最新のGPT4を使いたいところですが、別途ウェイトリストに登録する必要があります。私もウェイトリスト登録済みですが、まだ利用可能通知は来ていません。早く試したいですね。
「Maximum length」は一回の返答で返ってくるテキスト量に影響します。返答が短すぎる場合はこの数値を調整してください。他にもパラメータがありますが、少し使ってみる分にはこれで十分です。
早速使ってみましょう!パラメータ設定の右側「USER」となっている箇所にテキストを入力して、下部のSubmitボタンを押します。
「ASSISTANT」の箇所に返答が返ってきましたね。
まとめ
入力データをAIの学習に使われないようにしつつ、チャット系AIを使う方法としてOpenAI APIをREST APIツールから利用する方法を紹介しました。
新しいサービスが広がる時はいつもそうですが、新しいリスクも併せて発生します。セキュリティ事故を起こさないためにもサービスの性質を理解した上で、最大限サービスの活用していきたいですね。
株式会社GLASS CTO。2010年、株式会社日立製作所にてIT新技術の調査・検証、Project Management Office、システム開発、マーケティング業務に携わる。2017年、株式会社Webios 取締役副社長 / CTO に就任。2018年、GLASS開発チームに参画。
AWS,GCPでのクラウドシステム開発、Ruby,PHPでのスクラッチ開発、CMS,ECパッケージでのサイト構築(WordPress / WooCommerce, MovableType, EC-CUBEなど)、kintoneでのシステム開発などに携わっている。