Python ChatGPT APIの利用

概要

ChatGPTのAPIを使用し、チャットできるようにする。

準備

  1. ChatGPTのアカウント登録が必要。APIキーを取得
  2. pip install openai を実行しておく

単純な利用

APIキーを環境変数に設定し、openai.ChatCompletion.createを実行する。引数はモデル名とメッセージ。メッセージには、roleとcontentを指定する。roleのuserはユーザからの入力を示す。

from openai import OpenAI
import os

client = OpenAI()

os.environ["OPENAI_API_KEY"] = "APIキー"

messages=[
    {"role": "user", "content": "熊本県の県庁所在地は?"},
]

response = client.chat.completions.create( model="gpt-3.5-turbo", messages=messages )

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

応用

messagesのroleには他に、systemとassistantがある。systemは「あなたは役に立つアシスタントです。」など、どのような立場で返答を返すかを指定する。

assistantはAIからの返答を指定する。これを指定することで継続したチャットが可能になり、前の返答を考慮した返答を返すことが出来る。

messages=[
    {"role": "system", "content": "あなたは役に立つアシスタントです"},
    {"role": "user", "content": "今日は金曜です。明日は?"},
    {"role": "assistant", "content": "土曜です"},
    {"role": "user", "content": "では明後日は?"},
]

また、openai.ChatCompletion.createにtemperatureを指定することで、答えの曖昧さを指定できる。temperatureは0~2までを指定できる。デフォールトは1。大きい値ほど毎回その答えが違う可能性が高い(ランダム性が高い)。小さい値ほど答えが固定される。創造性が必要な答えは大きくし、厳密性が必要な答えは小さくする。

response = client.chat.completions.create( model=“gpt-3.5-turbo”, messages=messages , temperature=0.2)