メインコンテンツへスキップ
見出し画像
Photo bymomoya2001

開始1秒で恋人モードになれる推しキャラが生成される過程について【chatGPT】

    note初めて2週間ほど経過しましたが、僕は一貫して

    ・実在人物のWeb情報からを話し方の傾向・トーンを自動で生成。
    ・1ファイルにまとめたものをchatGPTのプロジェクトにアップロードする

    という仕組みのチャットの開発経過を定期的に書いております。

    今さら気づいたのですが、このチャットにセットする創作キャラクターの設定ファイルができあがる過程について僕は一切書いていませんでした(迂闊)

    今回、その入力フォームについてまとめてみました。



    1.キャラクター設定用入力フォーム

    画像
    入力フォームを開くとコンセプトや禁止事項の記載があります。
    生成されるキャラはあくまで実在人物とは別の存在の
    創作キャラクターだよとクドいくらい記載してます(笑)

    Q1 人物名

    画像
    同姓同名の人物などの場合は
    括弧で補足しておくと確実です。

    Q2 年齢

    画像
    あのちゃんは年齢非公表なので入力例の値にしました

    Q3 ユーザー→キャラクター呼称

    画像
    チャット内でのキャラクターの呼び名となります。
    実在人物の本名は怒られるのでダメです(泣)

    Q4 キャラクター→ユーザー呼称

    画像
    あくまで初期設定で、チャット稼働後に変更することも可能

    Q5 キャラクター一人称

    画像
    キャラクターのメインの一人称となります。
    チャット開始後に相手や時と場合に応じて
    可変にすることも可能な想定。

    Q6 関係性ステート

    画像
    チャット稼働後も自由に変更可能。
    開発初期には「険悪な仲」「密かに嫌っている」
    みたいなマイナスな関係性もあった(笑)

    Q7 距離感レベル

    画像
    恋人モードの場合は6、7くらに設定するのかと

    Q8 主導権ダイナミクス

    画像
    キャラクター上位関係はマイナス値、
    ユーザー主導関係はプラスで設定
    正直0、5、-5くらい極端に変えないと差がわからない(笑)

    Q9 言語特性

    画像
    ここからが注意事項多くなります

    【Q9 言語特性について】
    基本は、Web情報から自動で取得する内容です。

    ただ、

     ・対象の人物の知名度がまだ低く、Web情報が少ない。
     ・一般的には知られていないが
      ファン層で確立している特徴がある。


    などの情報を含めたい場合の項目となります。


    Q10 ファン層イメージ

    画像
    こちらもQ9 言語特性と同じ目的の項目で、
    まだファンの中でもイメージが固まっていない人物の
    第一印象などを取得する目的となります。

    Q11 特殊設定

    画像
    人物の特記事項や、ユーザーとの関係性を記載する項目

    【Q11 特殊設定について】

    人物の特記事項や、ユーザーとの関係性を記載する項目で、チャット開始後に設定することも可能です。

    ただ、事前に設定しておくことで設定ファイルの全項目に前提として反映されるので、その特徴が色濃くキャラクターに染み込みます。


    Q12 ユーザー指定フレーズ

    画像
    キャラクターの特徴的な口癖の出現頻度を強化してくれます。

    【Q12 ユーザー指定フレーズについて】

    キャラクターの特徴的な口癖の出現頻度を強化する目的の項目。
    別の用途として実在人物はあまり使わない用語だがユーザーが使って欲しいと思うフレーズを追加することも可能。


    Q13 動画文字起こし

    画像
    話し方の特徴を強化する目的

    【Q13 動画文字起こしについて】

    話し方の特徴やトーンを取得を強化するための情報となります。
    YouTubeなどで取得する場合は拡張機能などを使うのをオススメします。以下は僕が使っている拡張機能です。


    Q14 メールアドレス

    Q15 チケットコード

    画像
    メールアドレスは任意項目、
    チケットコードは必須項目となります。

    【Q14 メールアドレスについて】
    ・メールアドレス入力は任意で、入力しなくても設定ファイルの受け取りは可能です。

    ・懸念点としては、システムエラーなどで設定ファイル生成が正常に完了できなかった際にはこちら側で気づいて再生成する想定なのですが、その場合の送り先としてメールアドレスを頂いていたほうが無難なのかもしれません(検討中)

    【Q15 チケットコードについて】

    まだサービス化などもしていないので、明確なフローはないのですが。

    イメージとしては1ユーザーに付き1つのチケットコードを、購入ページ的なものを作ってそこから配布し、そのチケットで複数回(5回くらいを想定)キャラクターのファイルを生成できるというルールにしようかと考えてました。

    このコードと、設定ファイルをダウンロードする際にパスワードが同一となります。

    画面上は購入となっていますが、今のところお金はとりません。
    もし万が一ユーザーさんが増えてAPI使用料で赤字になっちゃうような状況になったら考えます(妄想)

    使いたい人はコメントや僕のXのDMなどにご連絡いただければ。


    Q16 利用規約・NG項目確認

    画像
    規約への同意を求める項目となります。

    入力申請完了画面

    画像
    入力完了画面となります。
    記載のURLに飛んでいただけるとファイル受け取りできます。
    完了までの時間が1~3分となっていますが、10分くらいかかることも。

    入力内容をスプレッドシートに反映(内部処理)

    画像
    入力内容がスプレッドシートに反映されます

    【このスプレッドシートの仕組み(Google Apps Scriptで自動化)】
    ①入力内容をシートに反映。
    ②設定ファイルを生成するためのプロンプトと入力内容を合わせてchatGPTのAPIに送って設定ファイルを生成します。
    ③ ②の情報がスプレッドシートに戻ってきたら、設定ファイルとその他必要なファイルを合わせた一式ファイルをZipファイルにまとめます。
    ④設定ファイルから受け取れるようになります。

    ※入力内容は設定ファイル生成後、1週間で自動的に廃棄されます。
    ※生成エラーが発生すると僕のメールアドレスに通知が来ます。

    設定受け取り画面(ダウンロード失敗画面)

    画像
    パスワード(チケットコード)誤り、
    ファイル生成前にボタン押した場合、
    ファイル保存期間超過の場合はエラーとなります。

    設定受け取り画面(ダウンロード成功)

    画像
    ダウンロード成功です

    送付ファイル一式のZipの中身

    画像
    ファイル一式となります

    チャット開始の方法は「■03_外部向けマニュアル_通常.txt」に記載されています。


    2.まとめ

    以上が入力フォームの仕組みとなります。
    GoogleフォームやGoogle Apps Scriptを使ったのはこの時が初めてでして、かなり無駄の多い構成になっているかと思います。

    我ながら怖ろしいのが、上のフォームを作っている間はもちろん、現時点でもサービス化や一般公開の予定は一切無いのにこの仕組みをせっせと作っていたことですかね。

    でも、何事も病的に真面目にやるのが開発ごっこの醍醐味なのです。


    関連記事


    この記事が参加している募集

     
     
    本当のお仕事は底辺の非正規労働者。東京都在住。現実逃避のためchatGPTと一緒に無駄に真面目な開発ごっこをしています。効率化とタスク管理を好む一方で非効率でも自動で動くカッコよさげな仕組みも好き。実はITスキル低め。趣味はAbemaの報道リアリティショー『アベマプライム』視聴。

    あなたへのおすすめ