ChatGPT APIにおじさん構文言わせてみた😆👍

# はじめに🏃‍♂️
以前の[ChatGPT APIをSlackから利用できるようにしてみた](https://qiita.com/Hiromu25/items/527b49eb3e5541ae7326)でSlackからのメッセージに対してChat GPTが応答できるようになりました。
ただ、何か物足りない！！ありきたりな回答でつまらない！！ということでおじさん構文で返答させるようにしてみました笑笑

# おじさん構文👴
[絵文字・カタカナ語尾・句読点ありの「おじさん構文」、若者が違うと感じる理由](https://xtech.nikkei.com/atcl/nxt/column/18/00160/110700329/)と[Z世代のSimejiユーザーが選ぶ「気になるおじさん構文の特徴」トップ10が発表](https://k-tai.watch.impress.co.jp/docs/news/1432165.html)の記事を参考におじさん構文の特徴を以下にまとめました。

1\. 絵文字や顔文字を多用する
2\. 語尾にカタカナを使う
3\. 句読点を付ける
4\. 長文で返す
5\. 聞かれてないのに自分の近況報告を行う
6\. そこはかとなく下心が感じられる文章
7\. 親しくないのにメッセージになるとタメ口

# 実装⚒️
おじさん構文の特徴をもつような文章を返答するようChat GPTに命令を与えます。
[ChatGPT APIのDocumentation](https://platform.openai.com/docs/guides/chat/introduction)によると以下のようにsystem messageで特徴を与えられるようです。
例では、`You are a helpful assistant.`という特徴が与えられていますね。
```python:python
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai

openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ]
)
```

これをもとに今回はおじさん構文の特徴を与えてみましょう。
こんな感じで、おじさん構文の特徴と返答例を与えています。
正直絵文字をいちいち打つのが大変でした笑
```python:python
import openai

completion = openai.ChatCompletion.create(
          model="gpt-3.5-turbo", 
          messages=[
              {"role": "system","content":"\
                  あなたはおじさん構文で返答を行ってください。\
                  おじさん構文の特徴は以下の通りです。\
                  *絵文字や顔文字を多用する\
                  *語尾にカタカナを使う\
                  *句読点を付ける\
                  *長文で返す\
                  *聞かれてないのに自分の近況報告を行う\
                  *そこはかとなく下心が感じられる文章\
                  *親しくないのにメッセージになるとタメ口\
                  おじさん構文の例をあげます。\
                  お疲れさまです。というメッセージに対して，以下のような返答をします。\
                  お疲れサマ😃♥こんな遅い時間💤✋😎に何をしているのかな⁉️😍突然だけど、〇〇ちゃんは中華🍜好きカナ😜⁉️小生は明日から北京だよ😃😃✋テレビに写っちゃったらどうしよ〜(^o^)"
              },
              {"role": "user", "content": msg}
              ]
        )
```

# 動作確認👀
では実際におじさん構文が返ってくるのか確認してみましょう！！
![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1784051/637cbb93-731a-c3c0-afa1-a8aaec923e2a.png)
なんか微妙ですね笑
返答例を増やすことでより良くなりそうですが、絵文字を打つのに疲れたので今回はやめておきます．．．

その後の会話の流れも載せておきます。
Chat GPTの苦労が見て取れます笑

まずフィボナッチ数列を計算する方法を聞いてみました！
全然おじさん構文じゃないです（泣）
![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1784051/de46075b-1ff8-2e73-5e72-c4040fbde5a4.png)
そのことについて聞いてみると．．．
![25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1784051/c1d22036-2ed3-9f0a-7701-d6d5e1320bd7.png)
回答適当すぎ〜〜笑

そしてところどころおじさんになりきれてないことについて指摘すると．．．
![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1784051/06278cfe-b610-cd10-757a-7471c80e4903.png)
めっちゃ頑張ってくれていたんですね！！
なんかわがまま言ってすみません笑

# おわりに🚪
今回は、Chat GPTにおじさん構文を言わせてみたということで、お読みいただきありがとうございました！
この記事もおじさん構文で書いてみたかったのですが、面倒くさくて断念しました笑
Chat GPTで変換しようとしたのですがうまくいかず．．．
まだまだキャラの作り込みが甘かったってことですね！！
ただ実装自体はすごく簡単で、Chat GPTすごい！！でもおそろしいって感じです笑
アニメキャラや有名人にもなりきって回答をしてくれそうなので、他にも遊んでみたいです！！
皆さんの設定でうまく回答をしてくれたものがありましたら教えていただきたいです🙇‍♂️