Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成AIキャラクター作成プラットフォームにおける LLM応答の柔軟性の拡張の工夫

waikei
June 16, 2024

生成AIキャラクター作成プラットフォームにおける LLM応答の柔軟性の拡張の工夫

LLMの応答に柔軟性・拡張性をもたせる為の取り組みについてです。

・基本プロンプト
・RAGで埋め込む知識
・LLMのテキスト応答と同時に生成する音声

などを柔軟に切り替えてユーザーの「痒いところに手が届く」を実現する為に、どのような仕組みを用意しているのか紹介します。

waikei

June 16, 2024
Tweet

Other Decks in Programming

Transcript

  1. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 1 生成AIキャラクター作成プラットフォームにおける

    LLM応答の柔軟性の拡張の工夫 Spiral.AI株式会社 木村祐輔 (@yk_llm_gpt)
  2. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 2 これまで作ったものを簡単に紹介〜Naomi.AI〜

    ひとことで言うと AI化した芸能人(真島なおみさん)とコミュニケーションが取れるサービス。 テキストと音声の両方で AIインフルエンサーが応答するのが特徴(発話 n秒につきm円、という課金形態)。 生身の人間と違い、生成 AIインフルエンサーなら無数のファンと密度の濃いコミュニケーションを取り続けることが 可能。 https://naomi-ai.app/ X: @yk_llm_gpt
  3. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 3 これまで作ったものを簡単に紹介〜Naomi.AI〜

    ↑実際の会話画面 X: @yk_llm_gpt ・応答テキストはGPTで生成 ・音声は本人の声を15時間以上収録し学習。モデルをセルフホスト ・RAGの参照情報も本人にみっちりヒアリング
  4. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 4 これまで作ったものを簡単に紹介〜TwinRoom〜

    ひとことで言うと RAG※やガードレール※の仕組みを備えた AIキャラクターをノーコードで作成できるサービス。 作成したAIキャラクターはAPI連携を通じて自由にアプリに組み込んだり、公式ラインアカウント連携も可能。 AIキャラクターはテキストだけでなく音声応答も可能。裏側で Azure OpenAIと連携している。 ※RAGについては私のブログ記事でも解説しています。 https://zenn.dev/spiralai/articles/8af7cbf526c2e1 ※ここでのガードレールとは、AIに答えさせたくない内容(例えば卑猥な話題や暴力的な話題 など)に応答しないための仕組みを指します。 X: @yk_llm_gpt https://twin-room.com
  5. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 5 これまで作ったものを簡単に紹介〜TwinRoom〜

    ↑作成したAIをTwinRoom管理画面で試している様子。 条件に応じてプロンプトを切り替えてよりリッチな会話体験を実現することも可能(モード機能 =本LTのテーマ) X: @yk_llm_gpt
  6. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 6 改めて自己紹介

    木村祐輔 1994/12/19 バックエンド寄りのweb系エンジニア。 元々フリーランスとして、 ・防災アプリ ・ライブ配信アプリ ・FinTechアプリ などを開発していた。 現在はSpiral.AI株式会社にて、LLM関連のプロダ クトを開発。 X: @yk_llm_gpt Github: @ykimura517 Zenn: @ykimura517 LinkedIn: https://www.linkedin.com/in/ykimura517/ SNSなど X: @yk_llm_gpt
  7. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 7 TwinRoomの当初の課題

    GPTに柔軟な応答をさせるのが難しい 本アプリでは、感情豊かな AIキャラを作成するために、会話のシチュエーションによって以下要素を柔軟に切り替え ていく必要があった。 ・口調(語尾、一人称、二人称、そもそも話す言語など) ・RAGで埋め込む知識 (特定の状況のときのみ参照可能な知識がある) ・音声(厳密にはGPTでテキストを生成した後の話ではある) ・複雑な指示は守れない場合が多い (シチュエーションAのときはXXのように喋ってください。Bのときは......) →特にGPT3.5の場合に顕著。また指示が多い場合はそもそもプロンプトのトークン制限を超えてしまう。 素のGPTだけの場合 …… X: @yk_llm_gpt
  8. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 8 解決策

    「モード」という概念を導入しプロンプトなどを切り替えられるようにした モードとは、一言でいうとそのAIキャラクターの各状況での人格のようなもの。 例えば、感情表現豊かなキャラクターを作成したい場合に、 ・喜びモード ・怒りモード ・哀しみモード ・エンジョイモード などの状態を設定できるイメージ。 同一キャラでも、モード毎に ・LLMプロンプト ・RAGの検索候補 ・音声設定 などが異なる。 X: @yk_llm_gpt ※モードはTwinRoomのユーザーが自由に作成可能
  9. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 9 解決策

    「モード」という概念を導入しプロンプトなどを切り替えられるようにした その時々の状況で、どのモードに移行するかは LLMで選択。 【モード選択プロンプトのイメージ】 ================================= 相手のユーザーは {{ポジティブな話題が好きな人 }}で、 ここまでの会話は以下の通りです。 {{     User: おはよう!     AI character: おはよう!     … }} 現在、AI character が移行すべき状態として次の内どれが適切ですか?番号のみを出力してください。 {{     1. ポジティブモード(ポジティブな話題が好きな人に対して、このモードになります)     2. 寄り添いモード(省略) ...     … }} ================================= X: @yk_llm_gpt
  10. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 10 解決策

    「モード」という概念を導入しプロンプトなどを切り替えられるようにした モードに入った場合に、 モード個別の設定に基づいて発話してい る。 = 応答の柔軟性の向上 X: @yk_llm_gpt 左例の説明: 【通常状態】 何を言われても「規約で禁じられてます」「社内で確認します」 などの歯切れの悪い返答 【忖度モード】 提案に対してポジティブに応答する。 社長などの偉い人を引き合いにだされるとトリガーされる。
  11. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 11 モードのメリット・デメリット

    メリット ・各モード毎にプロンプト等の設定を切り替えられるので、状況に合わせて柔軟に応答を生成出来る ・状況毎の指示文全てを詰め込むより、プロンプトがトータルで短くなる場合が多いのでコストダウンに繋がる ・モード選択をLLMで行う関係上、不確実性が一つ増えた ・モード選択にかかる時間分、応答が遅くなる → 正確性を重視してモード選択LLMをGPT4にしたことも遠因 ・ユーザーの設定負担が重い デメリット X: @yk_llm_gpt
  12. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 12 余談:LLMに何かを選択させるときのコツ

    選択肢の番号だけを出力する 良くないプロンプト例: 次のモード一覧から適切なモードを選択し、出力してください。 ・怒りモード(煽られた時にこのモードに移行します) ・デレデレモード(嬉しいことがあった時にこのモードになります) ・泣きモード(悲しいときにこのモードになります) 良いプロンプト例: 次のモード一覧から適切なモードを選択し、その番号のみを出力してください。 1. 怒りモード(煽られた時にこのモードに移行します) 2. デレデレモード(嬉しいことがあった時にこのモードになります) 3. 泣きモード(悲しいときにこのモードになります) Your answer( number only): 番号のみを出力し、 出力トークン数を削減することで ・生成時間の短縮 ・コスト削減 の2つの効果が期待できる X: @yk_llm_gpt
  13. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 13 まとめ

    「モード」の仕組みによって LLM応答の幅が広がった ・モードとは、一言でいうとその AIキャラクターのその状況での人格のようなもの。 ・モードに紐づく形でそのキャラクターの各種設定( LLMプロンプト、RAG検索データ、音声設定等)を作成することで 応答の柔軟性の向上が可能 ・モード選択時のプロンプトの工夫でモード選択のコストを削減することが可能 …… モード概念を導入した結果としてのシステムの複雑性の増大や、ユーザー設定負担の軽減は今後の課題 X: @yk_llm_gpt
  14. Confidential Copyright @ Spiral.AI Inc. All Rights Reserved. 14 Follow

    Me ! 良かったらフォローしてください 個人SNSなど X: @yk_llm_gpt (お気軽にDMどうぞ) Github: @ykimura517 Zenn: @ykimura517 LinkedIn: https://www.linkedin.com/in/ykimura517/ 会社HP https://go-spiral.ai 開発関連の相談等も随時受付中です 🥺