OpenAI APIの基本
PythonでChat GPTのAPI(Open AI API)の基本概念をご紹介します。
本記事の内容は執筆した2024年2月12日現在の情報に基づいています。最新情報は公式リファレンスをご確認ください。
APIの種類
https://platform.openai.com/docs/guides/text-generation/chat-completions-api
モデル(Models)
MODEL | DESCRIPTION |
---|---|
GPT-4 and GPT-4 Turbo | GPT-3.5の強化版。自然言語とコードを理解可能。 |
GPT-3.5 Turbo | GPT-3.5の強化版。自然言語とコードを理解可能。 |
DALL·E | 自然言語のプロンプトで与えられた条件で画像を生成・編集が可能。 |
TTS | テキストを自然発声の音声に変換可能。 |
Whisper | 音声をテキストに変換可能。 |
Embeddings | テキスト情報を、その単語や文の意味を表現するベクトルに変換可能。 |
Moderation | テキストが機密情報かどうかを判定可能。 |
GPT base | 指示行動(instruction following)によって訓練されていない自然言語モデル。GPT-3.5 または GPT-4を利用することが推奨。 |
コンプレッション(Completions)
Organization ID
APIリクエストを送る際に必要になるアカウントに割り当てられる識別子。org-XXXXXXXXXXXX
の形になってます。IDはOpenAI developer platformの「Settinngs」 > 「Organization」で確認できます。
API キー(API Keys)
OpenAI API Keys はOpen AI APIにアクセスするための一意の識別子です。一度生成したAPI Keysは再表示できないので生成時に必ずメモしておきましょう。もし忘れた場合は、古いキーを削除して新しいキーを発行することができます。
API Keysは「API Keys」>「+ Create new secret key」でAPI Keyを発行できます。
トークン(Tokens)
Chat Completions APIのロール(role)
Chat Completions APIにおいて
ロール | 説明 |
---|---|
system | 会話を始める際に初期設定、会話のルールやアシスタントの性格などを定義 |
user | 質問または要求や指示などのメッセージ定義 |
assistant | モデルが生成した回答を定義(これまでの会話をトークン制限を考慮して全て送ることで、その文脈を踏まえて回答可能) |
from openai import OpenAI
ORGANIZATION_ID = "YOUR ORGANIZATION ID";
API_KEY = "YOUR API KEY";
client = OpenAI(
organization = ORGANIZATION_ID,
api_key = API_KEY
)
prompt = "日本の初代総理大臣は誰ですか"
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages = [
{"role": "user", "content": prompt}
],
temperature=0
)
text = response.choices[0].message.content
print(text) # 日本の初代総理大臣は伊藤博文(いとう ひろふみ)です。
Open AI APIを使うまでの手順
PythonでOpen AI APIを使うまでには次の作業を経てください。
- Open API アカウント登録
- API Keyの取得
- Organization IDの取得
- 支払設定
- Pythonでopenaiライブラリのインストール
- リクエスト実行
それでは一つずつ見ていきましょう。
アカウント登録
OpenAI developer platformでアカウント登録を行います。すでにChat GPTを使っている方は登録不要なので同じアカウントでログインしてください。
API Keyの取得
タブにある「API Keys」をクリックします。
「+ Create new secret key」でAPI Keyを発行できます。発行時以外確認できないので注意してください。もし忘れた場合は、古いキーを削除して新しいキーを発行することができます。
Organization IDの取得
「Setting」内の「Organization」からOrganization IDを確認できます。こちらもコピーしておいてください。
支払い設定
「Setting」内の「Biiling」支払い設定ができます。「Add payment details」から入金額とカード情報を入れてください。
サーバーが混んでいるときはエラーを出すことがあるようです。下記のメッセージが出た際、時間がたてば解決する可能性があるので気長に待ってみましょう。
We couldn’t update your billing plan. If this issue persists, please contact us through our help center at https://help.openai.com
コミュニティでエラーメッセージを検索かけてみて、自分以外に同じ事象が発生しているかどうか確認することもできます。上記の支払いエラーが出たときは世界的に起きていた事象のようでした。
ライブラリのインストール
さていよいよ実践です。まずはターミナルでopenaiライブラリをインストールします。
pip install openai
リクエスト実行
冒頭のコードにORGANIZATION_IDとAPI_KEYはそれぞれ取得した文字列を入れて実行してみてください。
from openai import OpenAI
ORGANIZATION_ID = "YOUR ORGANIZATION ID";
API_KEY = "YOUR API KEY";
client = OpenAI(
organization = ORGANIZATION_ID,
api_key = API_KEY
)
prompt = "日本の初代総理大臣は誰ですか"
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages = [
{"role": "user", "content": prompt}
],
temperature=0
)
text = response.choices[0].message.content
print(text) # 日本の初代総理大臣は伊藤博文(いとう ひろふみ)です。
リクエストの中身は別記事で解説しているので詳細確認してみてください!