📝

ログ-マンガのキャラクターのアイデアを生成する-OpenAI API,Python

2024/01/27に公開

やりたかったこと

  • Pythonを使って、OpenAI APIをより意図通りに使えるようになる

リファレンス

使用したもの

  • Google colab
  • OpenAI API

コード

準備

# 環境変数の設定
APIKEY="<APIキー>"

# インストール
!pip install openai==0.28

import openai

# APIキーの設定
openai.api_key =APIKEY
import os
os.environ["OPENAI_API_KEY"] =APIKEY
# 関数の定義
def gpt3(gpt3_x):
  response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
      {"role": "system", "content": "あなたは役に立つアシスタントです。回答は簡潔に述べてください。"},
      {"role": "user", "content": gpt3_x},
    ]
  )
  return(response["choices"][0]["message"]["content"])

def gpt4(gpt4_x):
  response = openai.ChatCompletion.create(
    model="gpt-4-0125-preview",
    messages=[
      {"role": "system", "content": "あなたは役に立つアシスタントです。回答は簡潔に述べてください。"},
      {"role": "user", "content": gpt4_x},
    ]
  )
  return(response["choices"][0]["message"]["content"])

キャラクターの属性の生成

# ここにアイデアを入力する
input="""
50年後の未来、AIが何でも先回りしてやってくれる、男女の恋愛、人間はなぜ恋愛をするのか?
"""
stage=gpt3(f"以下のキーワードを抽象的に解釈して、物語の舞台を設定せよ\n{keywords}")
print(f"# 舞台:\n{stage}")

genrelist=["ファンタジー","SF","恋愛","ヒューマンドラマ","ミステリー","ホラー","バトル","アクション","裏社会・アンダーグラウンド","コメディ","スポーツ","歴史ドラマ","その他"]
genre=gpt3(f"以下のキーワードを抽象的に解釈して、物語のジャンルを{genrelist}の中から選択して設定せよ。複数組み合わせても構いません\n{keywords}\n{stage}")
print(f"# ジャンル:\n{genre}")

charaproflist=["名前","性自認","性別","年齢","性格","抱えている事情","どうしても実現したいこと","特別な能力"]
mainchara=gpt3(f"{stage}を舞台とした、{genre}風の物語の主役の{charaproflist}を、以下のキーワードを抽象的に解釈して設定せよ\n{keywords}")
print(f"# メインキャラクター:\n{mainchara}")

begggingthestory=gpt3(f"{stage}を舞台に、{mainchara}の身に起こる事件を、以下のキーワードも参考に考案せよ\n{genre}\n{keywords}")
print(f"# 物語の始まり:\n{begggingthestory}")

出力例

# キーワード:
50年後, 未来, AI, 先回り, 男女, 恋愛, 人間, なぜ, する

# 舞台:
物語の舞台は、50年後の未来の社会です。AI技術が高度に発展し、人々の生活に浸透しています。主要な関心事は、「なぜ」何かが起こったのかを追求することであり、物語はAIが人々の行動を予測して先回りすることに焦点を当てます。男女のキャラクターが登場し、彼らの恋愛関係がAIの予測の範囲外にあることが示されます。そして、彼らはAIと人間の関係について問いかけ、人間の感情とAIの予測可能性の間で起こる葛藤を探求します。

# ジャンル:
ジャンル: 未来のSF, 恋愛ドラマ, ヒューマンドラマ

# メインキャラクター:
主役のキャラクターの設定は以下のようになります。

名前: ユキコ・タカハシ
性自認: 女性
性別: 女性
年齢: 30代
性格: 独立心があり、好奇心旺盛で自由奔放な一面もある
抱えている事情: 過去のトラウマから恋愛に臆病になっている
どうしても実現したいこと: AIと人間の関係を理解し、共存可能な世界を築くこと
特別な能力: AIに対する洞察力が高く、AIのモチベーションを理解することができる

名前: ケンジ・ナカムラ
性自認: 男性
性別: 男性
年齢: 30代
性格: 真面目で責任感が強く、思慮深い
抱えている事情: AIの予測の範囲外にある恋愛があり、それが彼にとっての葛藤となっている
どうしても実現したいこと: AIが予測できない未来を見つけ、自らの運命を切り開くこと
特別な能力: AIの限界を見抜くことができる鋭い洞察力を持つ

このようなキャラクターを通じて、未来の社会におけるAIと人間の関係、予測可能性と人間の感情との葛藤を探求する物語が展開されます。

# 物語の始まり:
物語のキーワードを参考にしたイベントアイデアは以下の通りです:

- ユキコとケンジは、AIが彼らの行動を予測し先回りすることに疲れ、予測できない未来を求めて出会います。
- ユキコは、過去のトラウマから恋愛に臆病になっており、AIとの関係を避けていました。しかし、AIが彼女の感情に興味を持ち始め、彼女はAIの予測不可能性を探求します。
- ケンジは、AIの予測の範囲外にある恋愛に悩んでいます。彼はAIの限界を見抜くことができる特別な能力を持っており、自らの運命を切り開くためにそれを利用します。
- ユキコとケンジは、AIとの関係において独自のルールを見つけ始めます。彼らは、なぜAIが彼らの恋愛関係を予測できないのかを追求し、人間の感情とAIの予測可能性の間で葛藤します。
- 50年後の未来の社会において、AIと人間の共存可能な関係を築くための試みが行われます。ユキコとケンジは、自分たちの経験を通じて、人間とAIの関係の再構築に貢献します。

これらのアイデアは、未来のSF要素、恋愛ドラマ要素、およびヒューマンドラマ要素を含んでおり、キャラクターの抱える問題と社会の問題を組み合わせて物語を展開することができます。

キャラクターの外見の説明の生成

# キャラクターの外見

maincharaimage=gpt3(f"{mainchara}の外見上の特徴、髪型、服装を、以下のキーワードも参考に設定せよ\n{genre}\n{keywords}")
print(f"# メインキャラクターの見た目: \n{maincharaimage}")

出力例

# メインキャラクターの見た目: 
ユキコ・タカハシの外見上の特徴:
- ヘアスタイル: ショートヘアで鮮やかなブルーの髪色
- 服装: モダンなデザインの服で、明るい色合いのワンピースやジャケットを好みます。

ケンジ・ナカムラの外見上の特徴:
- ヘアスタイル: 短めの黒髪で整えられたスタイル
- 服装: シンプルでクラシックなスタイルのスーツやシャツをよく着用します。

ふり返り

  • pythonを使うことで、実現したいことを構造化して、細かいタスクに分割してLLMに要請することができた
  • 細かいタスク化することで、具体的かつ明示的な出力が得られる可能性が増えた
  • やりたいことを言語化できるなら、ほとんどのタスクは実行可能だといいう可能性を感じることができた

ヘッダー画像の生成

ChatGPT Plus(DALLE3)に与えたプロンプト

# ジャンル:
ジャンル: 未来のSF, 恋愛ドラマ, ヒューマンドラマ

名前: ユキコ・タカハシ
性自認: 女性
性別: 女性
年齢: 30代
性格: 独立心があり、好奇心旺盛で自由奔放な一面もある
抱えている事情: 過去のトラウマから恋愛に臆病になっている
どうしても実現したいこと: AIと人間の関係を理解し、共存可能な世界を築くこと
特別な能力: AIに対する洞察力が高く、AIのモチベーションを理解することができる

名前: ケンジ・ナカムラ
性自認: 男性
性別: 男性
年齢: 30代
性格: 真面目で責任感が強く、思慮深い
抱えている事情: AIの予測の範囲外にある恋愛があり、それが彼にとっての葛藤となっている
どうしても実現したいこと: AIが予測できない未来を見つけ、自らの運命を切り開くこと
特別な能力: AIの限界を見抜くことができる鋭い洞察力を持つ

ユキコ・タカハシの外見上の特徴:
- ヘアスタイル: ショートヘアで鮮やかなブルーの髪色
- 服装: モダンなデザインの服で、明るい色合いのワンピースやジャケットを好みます。

ケンジ・ナカムラの外見上の特徴:
- ヘアスタイル: 短めの黒髪で整えられたスタイル
- 服装: シンプルでクラシックなスタイルのスーツやシャツをよく着用します。

応答

了解しました。ユキコ・タカハシとケンジ・ナカムラという二人のキャラクターを、未来のSF、恋愛ドラマ、ヒューマンドラマのジャンルで描くイラストを作成します。ユキコは鮮やかなブルーのショートヘアとモダンな服装をしており、ケンジは短めの黒髪でクラシックなスタイルのスーツを着用しています。

プロンプト:「未来のSF、恋愛ドラマ、ヒューマンドラマのジャンルで、ユキコ・タカハシとケンジ・ナカムラのイラスト。ユキコはショートヘアの鮮やかなブルーの髪色で、明るい色合いのモダンなワンピースやジャケットを着ている。一方、ケンジは整えられた短めの黒髪で、シンプルでクラシックなスタイルのスーツを着用している。彼らは未来の世界でAIと人間の関係を理解し、共存可能な世界を築くための旅に出ている。」

画像を生成します。

こちらが、未来のSF、恋愛ドラマ、ヒューマンドラマのジャンルで描かれたユキコ・タカハシとケンジ・ナカムラのイラストです。ユキコは鮮やかなブルーのショートヘアとモダンな服装をしており、ケンジは整えられた短めの黒髪でクラシックなスタイルのスーツを着用しています。二人はAIと人間の共存可能な世界を築くための旅に出ています。どうぞご覧ください。

画像の加工

  • 出力された画像のアスペクト比は1:1だったため、Photoshopの切り抜き(生成画像)にてアスペクト比2:1の画像に拡張

Discussion