ChatGPTは、人工知能技術を活用したチャットボットプラットフォームです。このプラットフォームを使用することで、企業はカスタマーサービスやマーケティングの自動化等することができます。ChatGPTの様々な活用方法は以前に紹介したので、こちらをご覧ください!https://blog.motimotilab.com/chatgpt/
ChatGPT APIの使い方(Pythonを使った例)
APIキーの取得
ChatGPTを使用するには、まず登録が必要です。登録後にAPIキーページから、+ Create new secret key ボタンをクリックしてAPIキーを発行することでChatGPT APIが利用できるようになります。
openaiライブラリのインストール
ChatGPT APIをPythonで使うためにopenaiのライブラリをインストールをする必要があります。pipで次のようにインストールします。
pip install openai
PythonでChatGPT APIの利用例
以下のように数行書くだけで使えます。
import openai
openai.api_key = "YOUR_API_KEY" # ① 先程取得したAPIキーを設定してください
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "質問内容等を入力します"}, # ② 質問内容記述
]
)
print(response["choices"][0]["message"]["content"]) # ChatGPTの結果を出力
自分の環境で試す場合に編集するのは2箇所、①でAPIキーを自分で取得したもので設定し、②の質問内容を入力したい内容に変更するだけです。
レスポンスのフォーマット例は次のような形です。
{
'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve',
'object': 'chat.completion',
'created': 1677649420,
'model': 'gpt-3.5-turbo',
'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87},
'choices': [
{
'message': {
'role': 'assistant',
'content': 'The 2020 World Series was played in Arlington, Texas at the Globe Life Field, which was the new home stadium for the Texas Rangers.'},
'finish_reason': 'stop',
'index': 0
}
]
}
詳細については公式のドキュメントに記載があるのでご参考ください!
ChatAPT APIの仕様について
リクエストパラメータ
- model(string)必須項目
- 利用するモデルを指定します。gpt-3.5-turboとgpt-3.5-turbo-0301が指定可能です。(2023/03/12時点)
- messages(array)必須項目
- 下記のようなチャット形式の配列を入力します。各要素にはroleとcontentで構成されています。roleはsystem,user,assistantの3種類のどれかを指定し、contentにメッセージ内容を入力します。一般的に最初にsystemのメッセージが有り、そのあとはuserとassistantのメッセージが交互に続くフォーマットになっています。systemのメッセージはChatGPTの出力を設定するのに役立ちます。下の例では優秀なアシスタントとして振る舞うように指定します。上で紹介した利用例のようにuserのメッセージだけでも動作しますが、下の例のように過去のメッセージのやり取りを送ることで、最後のuserのメッセージである、「誰が出場していましたか?」に対して過去のメッセージを考慮した出力ができます。
messages=[
{"role": "system", "content": "あなたは優秀なアシスタントです。"},
{"role": "user", "content": "2020年にワールドシリーズを優勝したのはどこですか?"},
{"role": "assistant", "content": "ロサンゼルス・ドジャースが2020年に優勝しました。"},
{"role": "user", "content": "誰が出場していましたか?"}
]
- temperature(number)デフォルト値:1
- 出力のランダム性に関わるパラメータで、0~2の間で指定します。数値が高いほどランダム性が高くなり、数値を低くすると同じ入力に対して、同じような出力がされるようになります。
- top_p(number)デフォルト値:1
- Top-p (nucleus) samplingのためのパラメータになります。temperatureパラメータと同じようにランダム性に関わるパラメータで、数値が大きいほどランダム性が高くにあります。一般的にtemparatureかtop_pのどちらか一方だけ変更して調整します。
- n (integer)デフォルト値:1
- 入力メッセージに対しての回答のチャット候補をいくつ生成するか指定します。
- stream(boolean)デフォルト値:false
- 設定すると、部分的なメッセージが送信されるようになります。
- stop(string or array)デフォルト値:null
- APIがメッセージ生成を停止するシーケンスを最大4つ指定できます。
- max_tokens(integer)デフォルト値:inf
- 生成される答えで許可されるトークンの最大数です。デフォルトはモデルが返すことのできるトークンの数は4096トークンです。
- presence_penalty(number)デフォルト値:0
- 生成される新しいトークンがこれまでのテキストに現れたかどうかにもとづいてペナルティを与える-2.0~2.0で指定する数値です。正の値の場合は新しいトピックについて話す可能性を高くします。
- frequency_penalty(number)デフォルト値:0
- 生成される新しいトークンがこれまでのテキストにおける出現頻度にもとづいてペナルティを与える-2.0~2.0で指定する数値です。正の値の場合は新しいトピックについて話す可能性を高くします。
- logit_bias(map)デフォルト値:null
- トークンが登場する確率のバイアスを-100~100で設定することができます。-1~1の値は可能性を低くしたり高くします。-100や100で設定する場合はそのトークンを禁止したり、排他的に選択するようになります。
- user(string)
- エンドユーザーを表す識別子を設定できます。OpenAIの監視や不正利用の検出に利用できます。
ChatGPT APIの料金体系
ChatGPT API は利用量によって料金がかかる従量課金となっています。料金としては1,000トークンにつき0.002ドルです。トークンは英語では1単語=1トークンとなりますが、日本語の場合は1文字につき1トークン以上かかるような単位となるので注意が必要です。
ChatGPTの利点
ChatGPTの利点は、自動化によるコスト削減や、迅速なカスタマーサービスの提供などがあげられます。ChatGPTを利用することで、企業は24時間365日のカスタマーサービスを提供することができます。また、ChatGPTは、人工知能技術を活用しており、会話が自然に進むため、顧客とのコミュニケーションを円滑にすることができます。
ChatGPTの利点は、自動化によるコスト削減や、迅速なカスタマーサービスの提供などがあげられます。ChatGPTを利用することで、企業は24時間365日のカスタマーサービスを提供することができます。また、ChatGPTは、人工知能技術を活用しており、会話が自然に進むため、顧客とのコミュニケーションを円滑にすることができます。
まとめ
ChatGPTは、自動化によるコスト削減や、迅速なカスタマーサービスの提供など、多くの利点があります。APIが公開されたことでさらに様々な活用方法が出てくると思います!(実は今回の記事はChatGPTを元に書いてみました)