MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[ChatGPT]OpenAI APIの概要と使い方

AI技術が進化する中で、開発者がAI機能を手軽に利用できるAPIとして OpenAI APIがあります。
本記事では、OpenAI APIの概要と使い方までを解説します。

やすひら

OpenAI APIの使い方を紹介します

この記事でわかること
  • OpenAI APIとは
  • OpenAI APIの始め方
  • OpenAI APIの使い方
目次

OpenAI APIとは

OpenAI APIは、OpenAIが提供するAIモデルにアクセスするためのAPIです。
APIを利用することで、高度なAI機能を簡単にアプリケーションやシステムに組み込むことができます。
主に以下のモデルを利用することができます。

  • GPT: 自然言語生成、プログラミング
  • DALL·E: 画像生成
  • Whisper: 音声認識

本記事では、主に自然言語処理について紹介します。

APIとは

API(Application Programming Interface)は、ソフトウェアやアプリケーション同士が連携するためのインターフェースです。
APIは、異なるアプリケーションやサービスが連携するための”ルール”と”手段”を提供する仕組みです。

OpenAI APIでできること

OpenAI APIでできることを紹介します。

  • 文章生成: カスタムチャットボットや文章自動生成。
  • 画像生成: テキストから画像を生成。
  • プログラミング: 自動コード補完やデバッグ。
  • 言語翻訳: 自然な翻訳機能。
  • 音声認識: 音声からテキストへの変換。

OpenAI APIの始め方

OpenAIのAPIの始め方を紹介します。

OpenAIアカウントの作成

OpenAI公式サイトにアクセスし、アカウントを作成します。

URL

https://platform.openai.com/

公式サイトにアクセスして、アカウントを作成します。

ChatGPTを利用されている方は、アカウント登録済みなので、アカウント作成は不要です。

公式サイトにログイン

作成したアカウントでログインします。

URL

https://platform.openai.com/

ブラウザ画面

[Login]をクリックします。

メールアドレスを入力

メールアドレスを入力します。

ブラウザ画面

メールアドレスを入力して、[Contine]をクリックします。

パスワードを入力

パスワードを入力します。

ブラウザ画面

パスワードを入力して、[Continue]をクリックします。

プラットフォーム画面に移動

プラットフォーム画面に移動します。

ブラウザ画面

プラットフォーム画面に移動します。

APIキー設定画面を検索

APIキー設定画面を検索します。

ブラウザ画面

[Search]に”Settings”を入力し、”API Keys”を選択します。

APIキー設定画面に遷移

APIキー設定画面に遷移します。

ブラウザ画面

APIキー設定画面に遷移します。

APIキー生成を開始

APIキー生成を開始します。

ブラウザ画面

[Create nwe secret key]をクリックします。

APIキーを設定

APIキーを設定します。

ブラウザ画面

APIキーの設定を行います。
– Owned by:紐付け先の選択
– Name:APIキーの名前(オプション)
– Project:APIキーを紐付けるプロジェクト
– Permissions:APIキーの権限

設定を入力したら、[Create secret key]をクリックします。

筆者は以下の設定でAPIキーを設定しました。
– Owned by:You
– Name:API Key
– Project:Default project
– Permissions:All

APIキーをコピー

APIキーをコピーします。

ブラウザ画面

APIキーをコピーして、保管します。
[Done]をクリックして、画面を閉じます。

この画面を閉じるとAPIキーは表示されなくなるため、必ずコピーします。
APIキーが漏洩すると、不正利用される可能性があるため、大切に保管する必要があります。
コピーし忘れた場合は、APIキーを再生成して、APIをコピーします。

APIキーを確認

APIキーを確認します。

ブラウザ画面

APIキーが生成されたことを確認します。

支払い定画面を検索

支払い設定画面を検索します。

ブラウザ画面

[Search]に”Settings”を入力し、”Billing overview”を選択します。

支払い設定画面に遷移

支払い設定画面に遷移します。

ブラウザ画面

支払い設定画面に遷移します。

支払い情報入力画面に遷移

支払い情報入力画面に遷移します。

ブラウザ画面

[Add payment details]をクリックします。

支払い者を選択

支払い者を選択します。

ブラウザ画面

個人の場合は[Indvidual]を選択します。
企業の場合は[Company]を選択します。

筆者は個人利用なので、[Individual]を選択しました。

クレジットカード情報を入力

クレジットカード情報を入力します。

ブラウザ画面

クレジットカード情報を入力して、[Continue]をクリックします。

クレジットの設定

クレジットの設定を行います。

ブラウザ画面

購入するクレジットを設定して、[Continue]をクリックします。
以下の設定を行います。
– 初回購入の金額
– 自動チャージの設定

クレジットの購入

クレジットを購入します。

ブラウザ画面

購入内容を確認して、[Confirm payment]をクリックします。

クレジットを確認

クレジットを確認します。

ブラウザ画面

購入したクレジットを確認します。

支払い上限金額の設定画面に遷移

支払い上限金額の設定画面に遷移します。

ブラウザ画面

[Settings]→[Limits]を選択します。

支払い上限金額を設定

支払い上限金額を設定します。

ブラウザ画面

Usage limitsで、利用を停止する上限金額と、通知する金額を選択します。

APIは従量課金なので、APIを大量利用すると膨大な料金を請求される可能性があります。
支払い上限金額を設定しておくことで、意図しない支払いを防止することができます。

OpenAI APIの使い方

OpenAIのAPIの使い方を紹介します。

OpenAIのAPI仕様

OpenAI APIの仕様について紹介します。

エンドポイント

エンドポイントは複数ありますが、利用するモデルによって使い分けが必要です。

エンドポイント概要
/v1/chat/completionsチャット形式の生成を行います。会話文脈を保持して自然な対話を生成。2023年以降のモデルで利用可能。
/v1/completions標準的なテキスト生成を実行。2022年以前のモデルで利用可能

モデル

OpenAI APIで利用できる主な学習モデルを紹介します。

モデル概要
gpt-4o高性能でコンテキスト理解が優れたモデル。マルチモーダルで音声/画像/動画の処理が可能
gpt-4o-minigpt-4oを抵コスト/高速化したモデル
o1-preview推論能力が優れたモデル。
o1-minio1-previewを低コスト/高速化したモデル
gpt-4高性能でコンテキスト理解が優れたモデル
gpt-4-turbogpt-4を低コスト/高速化したモデル
gpt-3.5-turbo一般的なタスクに最適でコスト効率が高いモデル
text-davinci-003創造性が高く、高品質なテキスト生成に対応したモデル

パラメータ

OpenAI APIで利用できる主なAPIパラメータを紹介します。

パラメータ概要
model利用する学習モデルを設定する
prompt指示したいプロンプトを指定する
messages会話のやりとりリストをメッセージリストに設定する
role会話の役割を設定する
content会話の内容を設定する
max_tokens最大トークン数の設定
role概要
system初期設定や会話ルールを設定する
userユーザーのリクエスト(質問/要求/指示)を設定する
assistant学習モデルが回答した内容を設定する

料金

OpenAI APIの料金は従量課金です。
ChatGPTを有料で利用している方でも、別料金で従量課金になります。

発生コストは、モデルとトークン数によって異なります。
高性能のモデルは高く、低性能/高速のモデルは安い傾向があります。
入力トークンや出力トークンのトークン数が多いほど、発生コストが高くなります。

OpenAI APIの料金を節約するためには、トークン数を少なくして、必要に応じたモデルを利用すると良いです。

ChatGPTを有料で利用している方でも、別料金で従量課金となるため注意が必要です。

curlコマンドでリクエストを送信

本記事では、cURLのコマンドでリクエストを送信する手順を紹介します。
cURLを用いてリクエストを送信します。
gpt-4o-miniモデルを使ってテキスト生成を行います。

コマンドライン

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [ {"role": "user", "content": "AIとは何か教えてください。" } ]
  }'

コマンド実行例

$ curl https://api.openai.com/v1/chat/completions \
>   -H "Content-Type: application/json" \
>   -H "Authorization: Bearer $OPENAI_API_KEY " \
>   -d '{
>     "model": "gpt-4o-mini",
>     "messages": [ {"role": "user", "content": "AIとは何か教えてください。" } ]>   }'
{
  "id": "chatcmpl-*****************************",
  "object": "chat.completion",
  "created": *********0,
  "model": "gpt-4o-mini-2024-07-18",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "AI(人工知能)とは、人間の知的な作業を模倣することを目的としたコンピュータープログラムやシステムのことを指します。AIはデータを分析し、学習し、推論を行い、問題を解決する能力を持っています。具体的には、以下のような分野が含まれます。\n\n1. **機械学習(Machine Learning)**: AIの一部で、データからパターンを学習し、新たなデータに対して予測や判断を行う技術です。教師あり学習、教師なし学習、強化学習などがあります。\n\n2. **自然言語処理(NLP)**: コンピュータが人間の言語を理解し、生成する技術です。翻訳、感情分析、チャットボットなどに利用されます。\n\n3. **画像認識**: 画像や動画の中から特定の情報を抽出する技術です。顔認識や物体認識などが含まれます。\n\n4. **ロボティクス**: AIを利用して自立的に動作するロボットの開発も含まれます。自動運転車や産業用ロボットなどが例です。\n\nAIは医療、金融、製造業、エンターテインメントなど、さまざまな分野で活用されています。その目的は、効率性の向上や人間の作業負担の軽減、そして新たな価値の創造です。",
        "refusal": null
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 357,
    "total_tokens": 372,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "system_fingerprint": "fp_**********"
}

gpt-4o-miniモデルを使ってテキスト生成を行います。

“$OPENAI_API_KEY”は、生成したAPIキーを設定します。

Pythonでリクエストを送信

PythonでもOpenAI APIを利用できます。

ソースコード

from openai import OpenAI 

# APIキーを設定
API_KEY = "$OPENAI_API_KEY"

# モデルを設定
MODEL = "gpt-4o-mini"

client = OpenAI(api_key = API_KEY)

response = client.chat.completions.create(
    model = MODEL, # モデルを選択
    messages = [
        {"role": "system", "content": "あなたは最高のアシスタントです。"},
        {"role": "user", "content": "AIとは何か教えてください。"}
    ]
)

print(response.choices[0].message.content)

コマンド実行結果

$ python3 -B python-openai.py 
AI(人工知能)とは、コンピューターやソフトウェアが人間のように知的な行動を模倣する技術やシステムのことを指します。具体的には、AIはデータを分析し、パターンを認識し、学習することによって判断を行い、意思決定をする能力を備えています。

AIには大きく分けて以下の2つのタイプがあります:

1. **狭義のAI(Narrow AI)**:特定のタスクを実行するために設計されたAI。たとえば、画像認識、音声認識、自然言語処理(NLP)のアプリケーションなどが含まれます。

2. **汎用AI(General AI)**:人間のように幅広い知能を持ち、さまざまなタスクをこなす能力を持つAI。現在の技術ではまだ実現されていません。

AIは、機械学習(ML)や深層学習(DL)などの技術を用いることで、データから学習し、パフォーマンスを向上させることができます。また、AIは医療、金融、製造業、交通などさまざまな分野で応用され、効率化や精度向上、コスト削減に寄与しています。

PythonでOpenAI APIを利用して、文章を生成できました。

“$OPENAI_API_KEY”は、生成したAPIキーを設定します。

まとめ

OpenAI APIは、生成AIを簡単に利用するためのAPIです。

OpenAI APIは
  • APIキーを生成する必要がある
  • リクエストを送信して生成AIを利用する

OpenAI APIを利用することで、開発しているアプリケーションに、OpenAIの生成AI機能を組み込むことができます。
生成AIは、ヒトの活動範囲を飛躍的に拡張できる有用なツールです。
開発したアプリケーションやツールに生成AIの機能を追加して、機能を拡張していくと良いと思います。

  • URLをコピーしました!
目次