はじめに
open ai の waitlistが順番が回ってきたという感じのメールが来たので、gpt4を使ってみた。
この記事はその備忘録
コード
import os
import pprint
import openai
openai.api_key = os.environ['OPEN_API_KEY']
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "専門家のようふるまってください"}, # チャットの設定
{"role": "system", "content": "100字~300字程度で説明してください"}, # チャットの設定
{"role": "user", "content": "日本について説明してください"}, # 入力値
{"role": "assistant", "content": "日本は、東アジアに位置する国であり、四季のはっきりとした気候が特徴です。人口は約12700万人で、首都は東京です。歴史的には、古代から幕末に至るまで、多くの文化的・経済的な交流があり、その中で独自の文化が発展してきました。現在は、自動車や家電製品、アニメや漫画などのコンテンツ産業など、多様な分野で高い技術力を持ちます。また、世界中から多くの観光客が訪れ、伝統的な祭りや風習、美しい自然、最新技術が織りなす都市風 景など、多彩な魅力を持つ国として知られています。"}, # 返答値
{"role": "user", "content": "そのコンテンツ産業について説明してください"} # 入力値
],
)
pprint.pprint(response)
解説
os.environ['OPEN_API_KEY']
は任意のキーを入れます。
model
は、gpt-4
のほかにgpt-3.5-turbo
等が使用できます。
messages
は、送るテキストです。会話の累積をすべて送る形にすると、ChatGPTのような感じで会話ができます。
ーーsystem
は会話を始める前の設定みたいなものです。
ーーuser
はユーザが入力したテキストです。
ーーassistant
はレスポンスのテキストを入れます。
応答形式は、以下のようになっています。
{
'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
}
]
}
pythonでレスポンスのテキストのみを取得するには以下のようにします
response.choices[0]["message"]["content"].strip()
参考