はじめに
世間を賑わせて、最近だと朝のテレビのトップニュースでも登場して、話題騒然のChatGPTですが、エンジニアの本能として自動化したくなります。
残念ながらAPIの提供は準備中とのことですが、ChatGPT相当のGPT-3.5がOpenAIのAPIで使えるようになっていましたので、まずはこれを使ってみました。
(ChatGPTは2023年2月現在APIはありません。API以外の方法で、ある程度自動化は可能ですので別記事で執筆予定です)
APIが使えるかどうかは自動化の観点でとても重要です。
2023年2月現在のChatGPTはWebのUI(ブラウザを開いた画面)で操作しますので、マウスだったりキーボードだったり、人手で入力が必要になりますが、APIがあればプログラムの中に記述ができるので自動化が可能です。(もちろん、WebのUI上でもSeleniumやRPAツールで自動化は可能です。ChatGPTの自動化にも成功していますので、後日執筆予定です)
さて、OpenAIのアカウントはGPT-3のときに作ったので、とっくに無料期間が過ぎてしまっています。
今回思い切って有料のAPIとして使ってみました。
※初めてOpenAIを使う人は無料のクレジット$18が使えるらしいので、ぜひ使ってみてください。サービス内容は随時変わる可能性がありますので、最新情報はOpenAIの公式サイトをご覧ください。
API利用手続き
OpenAIにアクセス
OpenAIのアカウントを持っていない人は「SIGN UP」をクリックしてアカウントを作成します。
すでにアカウントを持っている人は「LOG IN」をクリックしてログインしてください。
ログイン
ログインして、右上のアイコンをクリックしてプルダウンメニューを表示させます。
「Manage account」をクリックしてください。
支払い設定
左側メニューの「Billing」→「Overview」をクリックすると、以下の画面が表示されます。
「Set up paid accout」をクリックします。
個人で利用するときは「I’m an individual」
会社などで利用する場合は「I’m working on behalf of a company」
をクリックします。
今回は個人利用なので「I’m an individual」を選択しました。
そうすると、クレジットカード情報の入力画面になります。
自分が持っているクレジットカードの情報を記載します。
クレジットカード登録後、利用上限の設定ができますので、「気が付いたら腰が抜けるほどの金額つかってた!」 となる可能性は低いのでその点は安心です。AWSのように青天井ではありません。
入力が終わったら「Set up payment method」をクリックします。
Countryのプルダウンメニューから「Japan」を選択すると、一番下の「State, county, province, or region」の項目がプルダウンメニューになります。日本だと都道府県の情報です。
利用上限の設定
上限は「Billing」→「Usage limits」のページで設定できます。
無理のない範囲で上限を設定しておきましょう。
APIの利用
pythonの実行環境を用意しましょう。WindowsでもLinuxでもpythonが実行できればどこでも大丈夫です。(curlでも実行は可能ですが、今回は割愛します)
Google Colabでも無料でPythonは使えますので、もし自分のPCにpythonの実行環境を構築するのは面倒と言う人は無料の実行環境を用意しましょう。(googleのアカウントがあれば利用できます)
ライブラリのインストール
「openai」ライブラリをインストールします。
# pip install openai
ソースの準備
利用するのはとても簡単です。
#------ test-openai.py -------#
import openai
openai.api_key = "★個人個人のAPIキーを記載★"
prompt = '''GPTシリーズでも利用されているTransformerについて初心者にわかりやすく教えてもらえますか?'''
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
max_tokens=150,
stop='.')
print(prompt+response['choices'][0]['text'])
「APIキー」については、OpenAIの左側メニューに「API Key」がありますので、そのページで作成します。以下のような画面が出た時に黒塗りのところにAPIキーが表示されていますので、これをコピーしてプログラムソースの該当箇所に貼り付けてください。(このAPIキーがあれば誰でもアクセスできますので、大切に保管してください)
プログラムの実行
準備ができたら実行してみましょう。
# python test-openai.py
すると以下のようなメッセージが表示されました。
# python ./test-openai.py
GPTシリーズでも利用されているTransformerについて初心者にわかりやすく教えてもらえますか?
Transformerは深層学習モデルの一種です。人工知能を活用した自然言語処理などの用途に広く使用されています。機械翻訳や意味解析などを行うことができ、従来の単純な計算では不可能な柔軟な情報
動きました!
ちゃんとTransformerについて回答してくれています。
これだけだと、ChatGPTの醍醐味は味わえてないですが、とりあえず質問に対してちゃんとした回答が得られました。
これで自動化の第一歩は成功です。
ちなみに、回答の途中で切れていますが、max_tokensのパラメータで長さは調整できます。
利用料金の確認
気になる利用状況のお値段ですが、「Usage」から確認できます。
以下は数回短いトークンを利用した状態の画面ですが、個人で利用する程度でしたらそれほど高くはなさそうですね。
まとめ
まずは自動化の第一歩を踏み出しました。
APIが使えればあとは応用して、プログラミングするだけですので、今後やりたいことを書いていこうと思います。
エンジニアですので、エンジニアが楽できるものを検証していきます。
OpenAIのAPIを利用したチャレンジの予定
- 自動コードレビュー
- 自動手順レビュー
- 自動設計書作成
- 自動パラメータシート作成
- 自動テスト
- 自動テスト仕様書作成
- 自動要件定義
- など
参考文献
関連電子本(Kindle本) Kindle Unlimitedなら無料
「ChatGPT面白いけど、仕事で使ってもあまり役に立たないなー」と思っている人向けに、いくつかエンジニアならではの応用事例を書いています。(ページ数は少なめですが何かのヒントになれば幸いです)
コメント