【ChatGPT】PythonでAPI を使ってみる【料金・仕様】

はじめに

PythonでChatGPTのAPIを使ってみましょう。

APIを利用することで、様々なアプリケーションとつなげることができます。

この記事では、APIを叩くために必要な手順と、料金などの簡単な仕様を紹介させていただきます。

準備

OpenAIライブラリのインストール

ChatGPT API の使い方は簡単です。
以下のコマンドをターミナルで実行してください。

$ pip install openai

OpenAI APIシークレットキーの入手

次に、OpenAIからシークレットキーを取得します。APIキーは以下のURLから取得してください。
https://platform.openai.com/account/api-keys

create new secret key” をクリックして、シークレットキーをコピーしておいてください!

サンプルコード

import openai

openai.api_key = 'ここにシークレットキーを入れてください'

response = openai.ChatCompletion.create(
                model="gpt-3.5-turbo",
                messages=[
                {'role': 'user', 'content': 'Tell me about ChatGPT in brief'}],
                temperature=0.0,
)
print(response)

実行結果(長すぎるので一部省略)

 % python api_test.py
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "ChatGPT is an online chat platform that allows users to connect with each other and have conversations on various topics. It is a free service that does not require any registration or sign-up process. Users can simply enter a username and start chatting with other users from around the world.\n\nChatGPT offers a variety of chat rooms, including general chat, (省略)",
        "role": "assistant"
      }
    }
  ],
  "created": 1680782377,
  "id": "chatcmpl-72IZ7QvFI9FozY3KpolohlxV3D0m4",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 218,
    "prompt_tokens": 16,
    "total_tokens": 234
  }
}

解説

レスポンスの中身へのアクセス

ChatGPT のレスポンスには、response[‘choices’][0][‘message’][‘content’] からアクセス可能です。

temperature

0-1の値を指定できます。

生成されるテキストの多様性を調整できます。

低いとテキストは予測しやすいものとなり、高いとランダムな単語や表現が含まれるようになります。

つまり低いとより実用的なアプリケーション向きとなり、高いとクリエイティブ向きとなります。

usage

どのくらいトークンを使用したかわかります。1000トークンあたり約0.2円です。

messages

roleに”user”(あなた),”assistant”(ChatGPTの返事),”system”(指示)を指定できます。

userとassistantを交互に配列に追加していくことで、会話を再現できます。

また、会話の冒頭にsystemを追加することで、assistantに事前の支持(振る舞い方など)を指定することができます。