会話ログを読み込ませて、chatgpt apiを使って、回答させてみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import openai # OpenAIのAPIキーを設定 openai.api_key = '' # 会話ログを変数に保存 conversation_log = """ A: こんにちは、どうもありがとう。 B: いえいえ、どういたしまして。 A: 今日の天気はどうですか? B: 今日は晴れですね。 A: それは良かったです。 """ # 会話ログに基づいて質問 question = "AとBはどこで会話していますか?" # GPTに質問を投げかけるプロンプトを作成 prompt = f"{conversation_log}\nQ: {question}\nA:" # APIを使って、ブラウザ上で行う質問&応答を生成 response = openai.chat.completions.create( model="gpt-3.5-turbo", # または適切なモデル名を指定 messages=[ {"role": "system", "content": "以下の会話に基づいて質問に答えてください。"}, {"role": "user", "content": prompt} ] ) # 応答の内容を正しく取得します。 for choice in response.choices: print(choice.message.content) # AとBはおそらく屋外で会話しています。 |
会話ログファイルを読み込ませたい!
「会話データセット 日本語」でググったら、以下のサイトが見つかった。
名大会話コーパス
https://mmsrv.ninjal.ac.jp/nucc/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import openai # OpenAIのAPIキーを設定 openai.api_key = '' # 会話ログファイルから内容を読み込む with open('data088.txt', 'r', encoding='utf-8') as file: conversation_log = file.read() # 会話ログに基づいて質問 question = "どこで会話していますか?" # GPTに質問を投げかけるプロンプトを作成 prompt = f"{conversation_log}\nQ: {question}\nA:" # APIを使って、ブラウザ上で行う質問&応答を生成 response = openai.chat.completions.create( model="gpt-3.5-turbo", # または適切なモデル名を指定 messages=[ {"role": "system", "content": "以下の会話に基づいて質問に答えてください。"}, {"role": "user", "content": prompt} ] ) # 応答の内容を正しく取得し、表示 for choice in response.choices: print(choice.message.content) |
chatgptの要約は、以下の通り
姉のF021と妹のF015の会話では、F015がお正月の歌の練習をしていたが、出番がなくて失敗したことや面接で緊張したこと、そしてバイトの日程の都合で悩んでいる様子が描かれています。
F015は幼稚園の試験の合格発表があるため、バイトのシフトを入れ替える必要があることも話しています。
F021はF015の話に共感しながら、シフトを見直す方法を提案したり、理解を示している様子が窺えます。
少しでも長い会話ログ・ファイルだと、トークンが多すぎる!とエラーになる。
1 |
openai.BadRequestError: Error code: 400 - {'error': {'message': "This model's maximum context length is 16385 tokens. However, your messages resulted in 18709 tokens. Please reduce the length of the messages.", 'type': 'invalid_request_error', 'param': 'messages', 'code': 'context_length_exceeded'}} |