OpenAI APIの利用方法ガイド:登録からPythonでの実装まで

ChatGPTで有名なOpenAIですが、実はそのAI機能をAPIで呼び出し、アプリケーションやサービスに組み込むことができます。このブログでは、OpenAI APIの登録、APIキーの発行、Pythonを使った実装方法を分かりやすく解説します。

openai icon

1. OpenAIの登録方法

まず、OpenAIのAPIを利用するためにアカウント登録が必要です。以下の手順で簡単にセットアップできます。

手順

  1. こちらのリンクにアクセスし、OpenAIのプラットフォームにログインまたはサインアップします。
  2. ログイン後、画面右上の歯車アイコンをクリックし、左側メニューから「Billing」を選択します。
  3. 支払い情報を登録すると、APIキーの発行ができるようになります。

2. APIキーの発行

APIキーは、OpenAIのAPIを呼び出すために必要な認証情報です。発行手順は以下の通りです。

  1. 左側メニューの「API keys」をクリックします。
  2. 画面中央にある「Create new secret key」ボタン(緑色)をクリックします。
  3. 表示されるAPIキーを安全な場所にコピーして保存してください。このキーはここでしか表示されないため、再度確認したい場合は新しいキーを発行する必要があります

3. PythonでAPIコールを実装

APIキーが発行できたら、PythonでOpenAI APIを呼び出す準備が整いました。公式では、APIキーを環境変数として設定することが推奨されています。

環境変数にAPIキーを設定する

全てのOS共通で使える手法を紹介します。
それはdotenvを使う方法です。

まずは以下の内容の.envファイルを作成、保存してください。

OPENAI_API_KEY="your_api_key_here"

なお、こちらのファイルをGitにアップロードしないように.gitignoreに追加しておくことを強くお勧めします。

Pythonでの実装方法

まず、Python用のOpenAIモジュールとdotenvをインストールします。

pip install openai, python-dotenv

インストール後、以下のコードでAPIにリクエストを送信できます。この例では、GPT-4モデルを使って「こんにちは、世界」の英語訳を尋ねています。

from openai import OpenAI
import os
from dotenv import load_dotenv

# .envファイルの内容を読み込む
load_dotenv()

class MyOpenAI:
    def __init__(self):
        self.client = OpenAI()
        # OpenAIが自動で.envの中身を拾ってくれるはず
        # 読み取らない場合は以下を使用念のため記述
        # api_key = os.getenv("OPENAI_API_KEY")
        # self.client = OpenAI(api_key=api_key)
        self.model = config.read_config(["model"])

    def completion(self, messages):
        """
        messages: list of dict to send
        """

        completion = self.client.chat.completions.create(
            model=self.model,
            messages=messages
        )

        # return completion
        return completion.choices[0].message.content

コードを実行すると、AIが英語で「Hello, World」と返してくれるはずです。

環境変数が設定できない場合

もしも環境変数を読み込めない、設定できない場合でもAPIキーを設定する方法があります。
以下のコードのように直接APIキーを設定する方法です。

class MyOpenAI:
    def __init__(self):
        api_key = "XXX"
        self.client = OpenAI(api_key=api_key)

XXXにAPIキーを入れればOKです。

ただ、キーを直接コードに記入することにはリスクが伴います。
キーを別ファイルに保存し、そのファイルを読み込む形の方が安全でしょう。

使用例

実際に上のMyOpenAIクラスを使用するには少しコツがあります。
入力のmessagesは以下のように辞書形式で渡さないといけません。
roleはsystemとuser, assistantなどOpenAIが指定したもののみが使用可能です。

messages = [
    {
        "role": "system", 
        "content": "You are a helpful assistant."
    },
    {
        "role": "user",
        "content": "Write a haiku about recursion in programming."
    }
]
openaiapi = OpenAIAIP()
ans = openaiapi.completion(messages=messages)


まとめ

以上がOpenAI APIの基本的な使い方です。これで、OpenAIのAIを活用した開発を始める準備が整いました。

ぜひAPIを使ってご自身のプロジェクトにお役立てください!

上部へスクロール