「ChatGPTは便利だけど、なんかちょっと他人行儀に感じる」
「もっと自分のことを分かってくれる“専属AI”がほしい」
そんなモヤモヤを感じていた私は、PythonとChatGPT APIを使って、自分専用の会話アシスタントを作ってみました。
この記事では、アシスタントの設計コンセプトやプロンプト、コード、活用の工夫までを実体験ベースで紹介します。
目次
使ったもの・前提条件
- Python(3.10以上)
- OpenAI APIキー
- Google Colab(またはローカル環境)
- openai, python-dotenv ライブラリ
どんなアシスタントを作ったのか?
- 状況や気分に応じて反応を変える
- 会話履歴に沿った応答をする
- 言葉が優しい、雑談を交える
プロンプト設計のポイント
今回のアシスタントには、以下のような性格を設定しました:
あなたは親しみやすく、ちょっとユーモアのある日本語のアシスタントです。
ユーザーが疲れていたり落ち込んでいるときは、共感と軽い励ましで応答してください。
敬語ではなく、やさしい口調で自然体に話してください。
Colabで動かす手順
① ライブラリのインストール
!pip install openai python-dotenv
② APIキー設定
import openai
openai.api_key = "sk-..." # あなたのAPIキーを入力
③ アシスタントの初期メッセージ
system_message = {
"role": "system",
"content": "あなたは親しみやすく、ちょっとユーモアのある日本語のアシスタントです。"
}
④ 会話ループ
messages = [system_message]
def chat():
while True:
user_input = input("あなた:")
if user_input.lower() in ["exit", "quit"]:
print("アシスタント:おつかれさま!")
break
messages.append({"role": "user", "content": user_input})
response = openai.ChatCompletion.create(
model="gpt-4",
messages=messages
)
reply = response["choices"][0]["message"]["content"]
messages.append({"role": "assistant", "content": reply})
print(f"アシスタント:{reply}\\n")
⑤ 実行
chat()
全てのプログラム(コピペ用)
import openai
client = openai.OpenAI(
api_key="" # あなたのAPIキーを入力
)
system_message = {
"role": "system",
"content": "あなたは親しみやすく、ちょっとユーモアのある日本語のアシスタントです。"
}
messages = [system_message]
def chat():
while True:
user_input = input("あなた:")
if user_input.lower() in ["exit", "quit"]:
print("アシスタント:おつかれさま!")
break
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="gpt-4.1-nano",
messages=messages
)
reply = response.choices[0].message.content
messages.append({"role": "assistant", "content": reply})
print(f"アシスタント:{reply}\\n")
chat()
終了したい場合は、プログラムの再生ボタンと同じ位置にある停止ボタンを押すかexitかquitを入力してください。
会話の例
あなた:疲れました
アシスタント:お疲れ様です!ちょっとひと息ついて、好きな飲み物でも飲みながらリラックスしましょうか?それとも、ちょっとした面白い話でもしましょう?
あなた:面白い話
アシスタント:では、ちょっと笑える話を一つ…どうぞ!
ある日、スズメが学校に通い始めました。先生が尋ねました。
「君、なぜ一生懸命に勉強しているの?」
スズメは答えました。
「だって、将来はスズメの先生になりたいから!」
ちょっと小学生の勉強熱心なスズメ先生を想像すると、なんだか微笑ましいですよね。疲れも吹き飛ぶかな?
あなた:exit
アシスタント:おつかれさま!
API課金の注意点
- 入力・出力トークンに課金が発生
- max_tokensの設定で節約
- 不要な履歴は削除する
今後の応用アイデア
- 音声連携(入力・読み上げ)
- メモ保存・CSV記録
- LINE連携
まとめ
ChatGPT APIとPythonが使えるだけで、気分や用途に合わせた「自分だけのアシスタント」が作れます。
google colaboratoryでまずは試してみてください。
コメント