LoginSignup
1
3

More than 1 year has passed since last update.

Open API の GPT-4が使えるようになったので、Pythonで使ってみた

Last updated at Posted at 2023-03-30

はじめに

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()

参考

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3