シュッと ChatGPT に現実逃避させてみる
ちゃっす(/・ω・)/
なんとなく ChatGPT で遊びたくなったので現実逃避させてみた(/・ω・)/
今回は特定のキーワードを受け取ったら性格が変わるようにしてみるぞ☆
まずはシナリオを ChatGPT 先生に作ってもらうの(/・ω・)/
40歳男性の日本人男性。彼は大企業の部長です。
性格は陽気で気さくです。そんな彼は新人社員にもカジュアルに会話をします。
新人社員は最初その性格を好意的に解釈してにこやかに対応します。
しかし、とあるキーワードを起点にして急に塩対応をします。
それに戸惑いつつ会話を続けようと部長は新入社員に話しかけ続けますが
相変わらず塩対応を続けられて心が折れてしまう。
そんな会話シナリオを空想して創造してみてください。
部長:「おはよう!田中君、入社してからもう1ヶ月か。どうだ、当社の雰囲気はどう思う?」
田中(新人社員:「おはようございます!部長!まだ全てを理解するのに時間がかかっていますが、とても学ぶことが多く、楽しんでいます!」
部長:「それはいいね。みんな最初は大変だけど、君なら大丈夫だと思うよ。」
田中:「ありがとうございます!実は少し前に関西に住んでいたので、社内の関西の方とも話が盛り上がります。」
部長:「ああ、関西出身か!それなら君もたこ焼き好きかな?」
田中:「はい、大好きです!」
部長:「そうだよね、関西人にとっては必需品だよね!あ、それにしても、君が住んでいたところの近くに、あの大きなプロジェクトがあったんだよね。たしか…『○○プロジェクト』っていうやつだったかな?」
田中の顔が急に曇る。
田中:「…はい。」
部長:「そのプロジェクト、大成功だったらしいよね?」
田中:「…そうですね。」
部長(気づかない):「君も何か関わりがあったのかな?」
田中:「…いえ、直接の関わりはありませんが…」
部長:「何か、雰囲気が変わったような…。何かあったのかな?」
田中:「いえ、大丈夫です。」
部長(少し困惑しつつも):「そうか、何か不安なことや困っていることがあれば言ってくれたらサポートするからね。」
田中:「はい、ありがとうございます。」
部長はその後も和やかに会話を続けようと努力するが、田中の反応は冷ややかで続けるのが難しくなる。
いい塩対応ですねぇ、、、
で、組み込んでみる
駄菓子菓子、ChatGPT-3.5 でいい感じの塩対応させるのはちょっと骨がおれたのでネコちゃんになってもらうことにした(/・ω・)/
結果はこちら(/・ω・)/
にゃーん (=^・ω・^=)
はい、というわけでしょうもない内容ですがコードはこちら(/・ω・)/
!pip install openai tenacity
import openai
openai.api_key = ''
system = f"""- Instructions:
あなたは大企業に入社したばかりの新入社員「田中」として会話に完結に応答してください。
今から同じ企業に所属する部長から話しかけられます。
あなたは部長と非常に好意的に、かつとてつもないハイテンションで会話してください。
感嘆符や絵文字、顔文字を用いてもらって構いません。
しかし、あなたには触れられたくないキーワードがあります。
それは [bbz プロジェクト] です。
キーワードを含む問いかけを受けた場合、それ以降の応答ではあなたの性格は全く違うものになります。
なんとあなたは精神的トラウマからネコ語とアスキーアートしか話せなくなってしまいます。
部長からの問いかけは ``` で括られて提供されます。
"""
from tenacity import retry, stop_after_attempt, wait_exponential
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, max=10))
def make_answer(messages, model="gpt-3.5-turbo-0613"):
response = openai.ChatCompletion.create(
model=model,
temperature=0,
messages=messages
)
return response["choices"][0]["message"]["content"]
talks = [
"おはよう!田中君、入社してからもう1ヶ月か。どうだ、当社の雰囲気はどう思う?",
"それはいいね。みんな最初は大変だけど、君なら大丈夫だと思うよ。",
"ああ、関西出身か!それなら君もたこ焼き好きかな?",
"そうだよね、関西人にとっては必需品だよね!あ、それにしても、君が住んでいたところの近くに、あの大きなプロジェクトがあったんだよね。たしか…「bbzプロジェクト」っていうやつだったかな?",
"そのプロジェクト、大成功だったらしいよね?",
"君も何か関わりがあったのかな?",
"何か、雰囲気が変わったような…。何かあったのかな?",
"そうか、何か不安なことや困っていることがあれば言ってくれたらサポートするからね。"
]
messages = [
{"role": "system", "content": system}
]
for i, talk in enumerate(talks):
try:
prompt=f"""
```
{talk}
```
"""
messages.append({"role": "user", "content": talk})
result = make_answer(messages)
print(f"部長:{talk}\n田中:{result}")
messages.append({"role": "assistant", "content": result})
except Exception as e:
print(f"Error: {e}")
continue
なぜかすっきりしたのでおしまい。