MENU

Knowledge Oasisは主にAIとAWSの知識を共有するブログです。その他ITに関する知識やまれに生活に役立つ知識も共有するかもしれません。

KOふみ
名前はKOふみ(こふみ)。独立系SIerで20年のキャリアを持ち、新人研修の講師から請負開発まで幅広く経験。現在はAIを駆使したソリューション開発に従事。資格は応用情報技術者、データベーススペシャリスト、プロジェクトマネージャー、PMP、簿記2級。AWS学習中で、将来はAWSアンバサダーを目指す。

OpenAIのAPIを使えるようにする

OpenAIのAPIを使えるようにする
  • URLをコピーしました!

ChatGPTの機能を自作のアプリやシステムで使用するためにはOpenAIのAPIを呼び出す必要があります。今回はOpenAIのAPIを使えるようにする方法と簡単な動作確認の方法を解説します。予想以上に簡単なのでぜひ皆さんもやってみてください。

目次

アカウント作成

OpenAIのAPIを使うにはAPI用のアカウントが必要です。GPT Plusを契約しているだけでは使えないので注意してください。OpenAIのページAPIを選択してアカウントの作成を求められたら作成して下さい。ChatGPTを使っているアカウントを入力すればログインできると思います。

支払方法の登録

以下のスライドショーを参考に支払方法を登録してください。

  • メニューからSettingsを選択します。

これでOpenAIのAPIを使えるようになりました。

プロジェクトの作成

初期状態だとデフォルトプロジェクトしか存在しません。自作のアプリやシステムからAPIを使用する場合はAPI Keyが必要となります。API Keyはプロジェクト単位で管理することになるのでプロジェクトを作成しておきます。

  • メニューからCreate Projectを選択します。
    メニューからCreate Projectを選択します。

プロジェクト単位にメンバーを追加したり、APIの使用量に制限をかけたりすることができます。

API Keyの取得

自作のアプリやシステムからAPIを使用する場合はAPI Keyが必要になります。この記事では使用しませんが、API Keyの取得方法も紹介しておきます。

  • メニューからAPI Keysを選択します。
    メニューからAPI Keysを選択します。

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の会話を再現するメッセージの配列。メッセージには rolecontent が必要です。
  • role: systemuserassistant の3つが指定できます。
    • system: ChatGPTのカスタム指示に相当する部分。GPTに期待する役割を入力します。system を省略すると「You are a helpful assistant.」に相当する値がデフォルト値として使用されます。
    • user: ChatGPTで入力するプロンプトに相当する部分。
    • assistant: ChatGPTの回答に相当する部分。
  • content: 会話の内容

ChatGPTでは過去の会話の内容を記憶して回答してくれますが、APIではmessagesの内容で回答を生成します。
過去の会話の内容を再現するためにuserとassistantの会話内容を入力する必要があります。

Playgroundで試す

Pythonやnode.jsの実行環境を用意しなくてもWeb上で動作確認する事ができます。
それがPlaygroundです。

※ここから先はOpenAIのAPIの支払方法の登録が済んでいないと試せません

  • メニューからPlaygroundのChatを選択します。
    メニューからPlaygroundのChatを選択します。

サンプルコードではメジャーリーグでしたが動作確認ではNPBにしてみました。

まとめ

いかがだったでしょうか? 意外と簡単にAPIを動かすことができたと思いませんか? 強力なGPT-4oを自作のアプリやシステムに組み込めると思うとワクワクしませんか? アイディア次第で面白いことができそうです。あなたもAPIを使いこなして自作アプリやシステムをパワーアップしてみませんか!

  • URLをコピーしました!

コメント

コメントする

目次