OpenAI GPT API(2)
- 2023年5月18日
- AI
今回はOpenAIのCompletionAPIを使用してシンプルなリクエストを送信してみたいと思います。
以下の実装を試すにはOpenAIのAPIキーが必須になります。APIキーの取得方法は前回の記事で説明していますので必要に応じて参照してください。
OpenAI Pythonライブラリのインストールと使用方法
https://platform.openai.com/docs/api-reference?lang=python
上記のAPIリファレンスに記載の方法でOpenAI Pythonライブラリをインストールします。
Notebookを開いて以下のコマンドを入力します。
pip install openai
私の環境ではすでにインストールされていたので「Requirement already satisfied」と表示されましたが、インストールされていない場合は上記コマンドでOpenAI Pythonライブラリがインストールされます。
OpenAI Pythonライブラリのインストールが完了したら、次はimportします。
import openai
importが完了したらOpenAIのCompletionAPIにリクエストを送信します。
CompletionAPI以外にChatAPIや画像生成、音声認識のAPIなどもありますが、
今回はAPIの動作確認のためにシンプルなテキスト生成のCompletionAPIを使用します。
以下が記述例になります。
openai.Completion.create(
model="text-davinci-003",
prompt="tagline for an ice cream shop is"
)
引数が最低2つ必要です。
ひとつめの引数:「model」について
OpenAI APIには、様々なmodelが用意されており、使用用途に応じて使い分けが必要になります。
それぞれのmodelの違いや料金体系などは次回説明します。
今回は”text-davinci-003″というmodelを使用します。
ふたつめの引数:「prompt」について
CompletionAPIは不完全な文章から次にくる文章を推測して文章を続けます。
試しに「tagline for an ice cream shop is」(アイスクリーム店のキャッチフレーズは)
という文章を入力しました。
では実行してみます。
エラーが表示されました。
CompletionAPIを使用するためにはAPIキーによる認証が必要です。
APIキーによる認証をおこなうためには、上記エラー内容の青枠箇所の内容で
APIキーのセットアップをおこなう必要があります。
今回は説明を簡単にするためAPIキーを直書きしていますが、
実際に使用する場合は、.envファイルなどの不可視ファイルにAPIキーを記載して
コード内にキーを含ませない、さらに.envファイルをgitignoreに追加するなど
セキュリティ面での配慮も必要です。
APIキーのセットアップができましたので、再度CompletionAPIにリクエストを送信します。
このような結果が出力されました。
結果の赤枠部分 choices > text がAIによる生成テキストです。
「tagline for an ice cream shop is」(アイスクリーム店のキャッチフレーズは)
という文章に続けて、OpenAIは
「Bringing coolness to the city」(クールネスを街に持ち込む)
という文章を返してきました。
prompt部分を調整することによって、responseのフォーマットを規定したり
回答内容をコントロールすることもできます。これをプロンプトエンジニアリング
(prompt engineering)と呼びます。このような手法やアプローチの方法なども
今後紹介していければと思います。
同じ質問を日本語でおこなった場合はどうなるのか試してみました。
日本語で質問した場合、日本語で回答されました。
次回はmodelにはどんな種類があるか、API使用の際の価格の算出方法は、
GPTをうまく使いこなすにはpromptをどのように調整すればよいか、CompletionAPI以外に
どのようなAPIがあるのかなどの説明をおこないたいと思います。
木曜日担当:nishida
nishida at 2023年05月18日 10:00:00