openAIのAPIキーの取得とPython openaiモジュールの動作確認メモ

2023年7月27日

ChatGPTで話題のOpenAI社が提供するAPIキーを取得し、Pythonからopenaiモジュールの動作確認を行ってみました。APIキーの取得にはOpenAI社ホームページでの会員登録を行います。登録後のフリートライアル期間5ドル分)は無料でお試しできますがそれ以降の利用は有料となります。
詳しい料金体系OpenAI社のホームページから確認できます。

実行環境: macOS Python3.9




 

openAIのAPIキーの取得

最初にopenai.comの下記のアドレスを開いていAPIキーの取得の登録を行います。
Get started」をクリック。
https://openai.com/product

Create your accountページではメールアドレス、もしくはGoogleアカウントMicrosoftアカウントのいずれかで登録が行えます。今回はメールアドレスでの登録を行いました。メールアドレスを入力して「Continue」をクリック。

登録料のパスワードを入力して「Continue」をクリック。

登録したメールアドレスOpenAI社から確認メールが届きます。
メール内のリンク先のページを開き、「Verify email address」をクリック。

Tell us about youページでを入力します。

SMS認証にて登録の確認を行います。
携帯番号を登録して「Send code」をクリック。

携帯のショートメッセージで受信した番号Enter codeに入力します。

コード入力後にOpenAIの会員webページがログインした状態で自動で開かれます。
ページ右上の[Personal]-[View API keys]をクリックします。

API keysページにて「+ Create new secret key」をクリック。

これでAPIキーが生成されます。キーの右側のボタンでコピーします。


コピーしたAPIキーは忘れないよう保管しておきましょう。次にこのAPIキーを使ってプログラムを生成します。
これでユーザー登録APIキーの取得は完了です。




Python openaiモジュールの動作確認

Python、openaiモジュールのインストール

openaiモジュールはpipコマンドからインストールします

$ pip install openai

最初に先ほど取得したAPIキーを環境変数に設定します。
.bash_profileに以下のコードを追加します。

export OPENAI_API_KEY="取得したAPIキーを入力してください"

設定を反映させます。
$source .bash_profile

以下はopenaiモジュールを使った簡単なchat、text、imageの生成の例です。

・gpt-3.5-turboモデルを使用した例

import os
import openai

# APIキーを取得
openai.api_key = os.environ["OPENAI_API_KEY"]

# 質問の返答をresに代入
res = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "YMOについて教えてください"},
    ],
)
# 返答を出力
print(res.choices[0]["message"]["content"])

[出力結果]

YMOとは、Yellow Magic Orchestraの略称で、日本の電子音楽バンドの一つです。バンドは、1978年に高橋幸宏、坂本龍一、細野晴臣の3人で結成され、ヒット曲「テクノポリス」や「リューシー・スペシャル」などを生み出しました。YMOは、日本の音楽シーンに大きな影響を与え、世界的な知名度も高く、特にシンセサイザーを用いた独自のサウンドが特徴とされています。また、メンバーたちは、ソロ活動やプロデュース業などでも活躍しています。

・text-davinci-003モデルを使用した例

import os
import openai

# APIキーを取得
openai.api_key = os.environ["OPENAI_API_KEY"]

# 質問の返答をresに代入
res = openai.Completion.create(
    model="text-davinci-003",
    prompt="AIが今後の経済に及ぼす影響力とまたそれによって生まれる問題点を教えてください",
    max_tokens=1024,
    temperature=1,
)
# 返答を出力
print(res.choices[0].text)

[出力結果]

AIが今後の経済に及ぼす影響力は、大きなものとなると考えられます。AIを利用した自動化、大規模なデータの収集・分析、グローバル的なサービス拡大などを可能にするため、今後の経済活動が大きく変化すると考えられます。
しかし、AIを用いた経済活動を行うことによって、いくつかの問題点が生じることも予想されます。一つは、自動化による就業機会の減少です。AIの発展に伴い、多くの労働力が不要なことが予想されており、労働者がフォローしきれないほどの発展によって失業問題が発生する可能性があります。また、AIを使った自動処理により、不正行為や悪質なサービスが増える恐れもあります。AIが大量のデータを取り扱うため、プライバシーやセキュリティー問題も懸念されています。さらに、AIを使ったサービスがグローバルに拡大する中で、開発体制や法規制に問題が出てくることも考えられます。

・DALL·Eモデルを使用した例

import os
import openai

# APIキーを取得
openai.api_key = os.environ["OPENAI_API_KEY"]

# 画像を生成
response = openai.Image.create(
  prompt="富士山と桜",
  n=1,
  size="512x512"
)

#生成した画像のURL
image_url = response['data'][0]['url']

#生成された画像のURLを表示
print(image_url)

[出力結果]

[参考サイト]
https://platform.openai.com/docs/introduction/overview
https://dev.classmethod.jp/articles/openai-api-chat-python-first-step/
https://okumuralab.org/~okumura/python/openai_api.html