ChatGPTの機能を自作のアプリやシステムで使用するためにはOpenAIのAPIを呼び出す必要があります。今回はOpenAIのAPIを使えるようにする方法と簡単な動作確認の方法を解説します。予想以上に簡単なのでぜひ皆さんもやってみてください。
アカウント作成
OpenAIのAPIを使うにはAPI用のアカウントが必要です。GPT Plusを契約しているだけでは使えないので注意してください。OpenAIのページAPIを選択してアカウントの作成を求められたら作成して下さい。ChatGPTを使っているアカウントを入力すればログインできると思います。
支払方法の登録
以下のスライドショーを参考に支払方法を登録してください。
これでOpenAIのAPIを使えるようになりました。
プロジェクトの作成
初期状態だとデフォルトプロジェクトしか存在しません。自作のアプリやシステムからAPIを使用する場合はAPI Keyが必要となります。API Keyはプロジェクト単位で管理することになるのでプロジェクトを作成しておきます。
プロジェクト単位にメンバーを追加したり、APIの使用量に制限をかけたりすることができます。
API Keyの取得
自作のアプリやシステムからAPIを使用する場合はAPI Keyが必要になります。この記事では使用しませんが、API Keyの取得方法も紹介しておきます。
API Keyは二度と表示することはできません。
無くさないように厳重に保管しましょう!
会話のAPIの概要
ChatGPTはOpenAIのGPT-4oなどの大規模言語モデルを手軽に使えるWebアプリケーションです。
GPT-4oの機能を自前のアプリやシステムに取り込むために用意されているのがOpenAIのAPIです。
GPT-4oでは画像や音声も扱えますが、ここでは会話に関するエンドポイント chat
に関しての解説になります。
呼び出し方法は以下の3種類になります。
この記事ではPythonで記述します。
- OpenAPI: Curlなどで呼び出せます
- Python
- node.js
サンプルコード
基本のエッセンスが詰まったコードがこちら。
このコードでは「2020年のワールドシリーズの勝者は?」「ドジャースです」「どこで優勝が決まった?」という会話の回答を生成します。
最後の質問はそれまでの会話の流れを汲んだ回答、つまり「2020年のドジャースがどこで優勝したか?」の回答が生成されます。
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
)
基本構造
会話に関するエンドポイントは /chat/completions
になります。
Pythonからは client.chat.completions.create
で呼び出せます。client.chat.completions.create
の必須のパラメータは2つ。
- model: GPT-3-turboやGPT-4oなど使用するモデルの指定
- messages: ユーザとGPTの会話を再現するメッセージの配列。メッセージには
role
とcontent
が必要です。 - role:
system
とuser
とassistant
の3つが指定できます。- system: ChatGPTのカスタム指示に相当する部分。GPTに期待する役割を入力します。
system
を省略すると「You are a helpful assistant.」に相当する値がデフォルト値として使用されます。 - user: ChatGPTで入力するプロンプトに相当する部分。
- assistant: ChatGPTの回答に相当する部分。
- system: ChatGPTのカスタム指示に相当する部分。GPTに期待する役割を入力します。
- content: 会話の内容
ChatGPTでは過去の会話の内容を記憶して回答してくれますが、APIではmessagesの内容で回答を生成します。
過去の会話の内容を再現するためにuserとassistantの会話内容を入力する必要があります。
Playgroundで試す
Pythonやnode.jsの実行環境を用意しなくてもWeb上で動作確認する事ができます。
それがPlaygroundです。
※ここから先はOpenAIのAPIの支払方法の登録が済んでいないと試せません
サンプルコードではメジャーリーグでしたが動作確認ではNPBにしてみました。
まとめ
いかがだったでしょうか? 意外と簡単にAPIを動かすことができたと思いませんか? 強力なGPT-4oを自作のアプリやシステムに組み込めると思うとワクワクしませんか? アイディア次第で面白いことができそうです。あなたもAPIを使いこなして自作アプリやシステムをパワーアップしてみませんか!
コメント