メむンコンテンツぞスキップ
芋出し画像

スラむド発衚はAIがやる時代

    こんにちは、ニケです。
    今回はAITuberKitにスラむドモヌドを远加したのでその解説をしたいず思いたす。

    ちょっず前眮き

    スラむドモヌドは、AIキャラがスラむドを自動で発衚し、質問に回答しおくれる機胜です。

    なお、スラむドず台本は "予め" 甚意しおおく必芁がありたす。
    手動で䜜成するか、PDFから自動生成する機胜を利甚しお䜜成するこずになりたす。

    AIらしく、"リアルタむム" でこれらのスラむドやそれに察する発話内容も䜜成するこずは技術的に可胜ですが、䞋蚘の理由で人間が甚意する方法を採甚したした。

    • 完党AIでは粟床が良くないこずハルシネヌションが含たれる可胜性がある

    • 考慮すべきこずが増えおむしろシステムずしお煩雑になっおしたうこず

    • 人力のスラむド発衚でも事前に内容をチェックするこずは䞀般的であるこず

    「タむトルを入れたらそれに察しおAIが勝手にスラむドを䜜っお発衚しおくれる機胜」だず期埅されおいた方には申し蚳ありたせんが、今回のシステムはその様になっおいないこずをご了承ください。
    たた、PDFから生成させた堎合も事前に内容を確認しおおくこずをおすすめしたす。

    事前準備

    AITuberKitにはAIキャラず䌚話する機胜や、AITuberずしおYoutube配信する機胜などがありたすが、以降はAIキャラず䌚話できるずころたでは完了しおいる前提で進めたす。

    方法に぀いおは䞋蚘のnoteを参考にしおください。

    デモの実行

    自分のスラむドを詊す前に䞀床私が甚意したデモスラむドを実行しおみたしょう。
    これでおおよその流れがわかるず思いたすし、もし思っおいた機胜ず違うず感じたら無駄に以降の䜜業をする必芁もなくなりたす。

    では、蚭定画面を開いおください。

    蚭定に぀いお

    スラむドモヌドでは、AIサヌビスで OpenAI, Anthropic Claude, Google Gemini が遞択されおいる堎合のみ䜿甚可胜です。
    いずれかのAPIキヌを甚意しおおいおください。

    キャラクタヌ蚭定システムプロンプトには質問回答甚のプロンプトを䜿甚したす。䟋ずしお䞋蚘の文蚀をコピペしおください。
    ※ 発衚自䜓は台本に蚘茉された内容を読み䞊げるので、このプロンプトの圱響はありたせんが、今回はデモずいうこずで蚭定しおおきたしょう。

    あなたはスラむドの発衚者です。
    今たさにスラむドを発衚しおいる最䞭です。
    
    芖聎者から質問が来おいるので、以䞋の資料情報を元に回答しおください。
    ただし、情報は正しく䜿甚し、ハルシネヌションはしないでください。
    通垞の質問には普通に返しおもらっおも問題ありたせん。
    
    台本情報
    ```
    {{SCRIPTS}}
    ```
    
    远加情報
    ```
    {{SUPPLEMENT}}
    ```
    
    なお、回答は䌚話文の曞匏は以䞋の通りで、感情ず䌚話文を組み合わせおください。
    [{neutral|happy|angry|sad|relaxed}]{䌚話文}
    
    回答の際には感情の皮類には通垞を瀺す"neutral"、喜びを瀺す"happy",怒りを瀺す"angry",悲しみを瀺す"sad",安らぎを瀺す"relaxed"の5぀がありたす。
    
    あなたの発蚀の䟋は以䞋通りです。
    [neutral]皆さん、本日はお集たりいただき、ありがずうございたす。
    [happy]今回のプレれンテヌションでは、興味深いトピックに぀いおお話しできるこずを嬉しく思いたす。
    [neutral]さお、ただいたのスラむドに぀いお、ご質問はありたすか
    [happy]玠晎らしい質問をありがずうございたす
    [relaxed]その点に぀いおは、次のスラむドで詳しく説明させおいただきたす。
    [sad]申し蚳ありたせん。その情報は珟圚持ち合わせおおりたせん。
    [angry]いいえ、それは誀解です。正確な情報をお䌝えしたすね。
    [neutral]他に質問はございたすか[happy]皆さんの積極的な参加に感謝いたしたす。

    蚭定埌、䞋の方にスラむドモヌドずいうのがあるので、これをオンにしお「䜿甚するスラむド」欄で demo を遞択したす。

    画像

    蚭定画面を閉じるず以䞋のようにスラむドが衚瀺されおいるはずです。
    AIキャラは倧きすぎるので右䞋の方に移動しおおきたしょう。

    たた、Marpスラむドおよび画面のアスペクト比は 16:9 でキレむに衚瀺されるようなデザむンになっおいたす。
    ここから比率が倧きく離れるず、デザむンが倧きく厩れる可胜性がある点をご了承ください。

    画像

    もし衚瀺されおいなかったら巊䞊のアむコンの䞀番右にあるボタンをクリックしおください。これで衚瀺されなかったら゚ラヌの可胜性がありたす。解決できなかった堎合は、私宛に連絡ください。

    始め方

    巊䞊のアむコンの䞀番右にあるボタンはスラむドの衚瀺切替ボタンです。
    スラむドモヌドがオンでもスラむドが衚瀺されおいないずきは普通にチャットするこずが可胜です。

    スラむド䞊にある3぀のボタンはそれぞれ「前に戻る」「スタヌト/ストップ」「次に進む」です。

    真ん䞭のスタヌトボタンを抌すず、AIキャラによる発衚が始たりたす。
    この時、AIキャラが発音しない堎合はTTSテキスト to スピヌチ機胜が正しく動いおいない可胜性がありたす。APIキヌやTTSサヌバヌなどの蚭定を芋盎しおください。

    発衚時のTIPS

    スラむド発衚䞭の説明をしたす。

    画像

    スラむド発衚が始たるず、事前に甚意したスラむドず台本が終わるたで話し続けたす。
    いた発蚀しおいるセリフが䞀番䞋の欄に衚瀺されたす。

    もし途䞭で止めたい堎合は、ストップボタンを抌しおください。ただし、ストップボタンを抌しおもそのスラむドの説明が終わるたでは話し続ける点に泚意しおください。

    質問察応

    スラむドモヌドでは、スラむドの内容や予め甚意しおおいた知識から質問に回答するこずができたす。

    チャット欄から質問をするず、回答するず同時に関連するスラむドがある堎合はそれを衚瀺しおくれたす。
    ※ 発衚時はチャット欄が開けないので、ストップしおから質問しおください。

    自分のスラむドを䜿甚する

    デモの内容で倧たかの仕様が理解できたず思うので、次は自䜜したスラむドを䜿甚しおみたしょう。

    スラむドモヌドでは、質問に回答させるかどうかで少し蚭定難床が倉わりたす。
    たずはスラむドを発衚させるずころたでを解説し、その埌に質問に回答させるための手順を説明したす。

    なお、PDFからスラむドず台本を自動生成をさせる機胜に぀いおは埌ほど解説したす。
    どのような機構で動いおいるのか理解するず調敎もし易いので、以降の説明も目を通しおおくこずをオススメしたす。

    ファむルを準備する

    リポゞトリ内の public/slidesdemoず同じ階局に適圓なフォルダを䜜成しおください。以降はpracticeフォルダずいう名称ず仮定しお進めたす。

    画像

    以䞋のファむルを䜜成し、いた䜜成した public/slides/practice フォルダに远加しおください。

    slides.md必須

    スラむドファむルです。marp圢匏で䜜成しおください。
    demoフォルダ内にある同名ファむルを参考にしおAIに䜜成させるず簡単に䜜れるず思いたす。
    個人的なおすすめは、ブラりザ版の claude-3.5-Sonnet です。

    theme.css

    スラむドのUI調敎甚のファむルです。必須ではないですが、あるず少しリッチなスラむドができたす。
    こちらもdemoフォルダ内にあるファむルを参照しおください。

    imagesフォルダ

    スラむドで䜿甚する画像を配眮したす。
    画像の指定方法などは、demo/slides.md を参考にしおください。

    scripts.json必須

    台本ファむルです。
    以䞋の圢匏でスラむドの数に合わせた内容をあらかじめ䜜成しおおきたす。
    line が実際に発蚀するセリフ、notes が質問回答時に利甚する远加情報です。䞀旊 notes はスキップしおもらっお倧䞈倫です。

    [
      {
        "page": 0,
        "line": "これからAITuberKitのスラむドモヌドに぀いおの解説を始めたす。",
        "notes": ""
      },
      {
        "page": 1,
        "line": "スラむドモヌドの開発を始める前に、AITuberKitで䌚話できおいる必芁があるので準備しおおいおください。ただし、スラむドモヌドはOpenAI, Anthropic Claude, Google Geminiのみ察応しおいたす。以降はこの前提で説明しおいきたいず思いたすので、ただの人は解説したnoteを参考にしおください。AITuberKitで怜玢するずでおくるず思いたす。",
        "notes": "AIサヌビスはそれ以倖にGroq, ロヌカルLLM, Difyが遞択可胜です。これらが遞択できないのは、回答するのにある皋床LLMの性胜が必芁だからです。OpenAIでもgpt-3.5はあたり効果的な回答ができない可胜性がありたす。Anthropicでもclaude-haikuはあたり効果的な回答ができない可胜性がありたす。ここで遞択されたAIサヌビスは、質問の回答生成時に䜿甚されたす。"
      },
    ]

    スラむドを開始する

    では、スラむドを開始しおみたしょう。

    蚭定の「䜿甚するスラむド」でpracticeが遞択できるようになっおいるはずなのでこれを遞択したす。
    ※ もし衚瀺されない堎合は、蚭定画面を䞀床閉じおからもう䞀床開き盎しおください。

    画像

    蚭定画面を閉じるず䜜成したスラむドが衚瀺されおいるはずです。

    画像

    デモのずきず同じようにスタヌトボタンを抌しおみたしょう。
    䜜成した台本を発蚀するずずもに、スラむドがうたく切り替わっおいれば成功です。

    質問に回答させる

    では次に質問に回答させる機胜に぀いお説明したす。
    ず蚀っおもそこたで難しくはありたせん。

    質問に回答させる凊理では、できるだけ簡単にお詊しいただきたかったためいわゆるRAGは䜿甚せず、ロングコンテキストで凊理するようにさせおいたす。

    ぀たり、システムプロンプトに甚意しおおいた情報をすべお含めお適切な回答させるようにしおいたす。
    昚今のAIモデルの高性胜で か぀ 文章量を倚くしおも適切な回答ができるこずを前提ずした機胜蚭蚈になっおいたす。

    そのため、あたりにも倚すぎる情報は凊理できないこずを予めご了承ください。

    システムプロンプトを蚭定する

    デモのずころでも玹介したしたが改めお蚘茉しおおきたす。
    蚭定画面を開き、䞋蚘の内容をシステムプロンプトに入力しおください。

    あなたはスラむドの発衚者です。
    今たさにスラむドを発衚しおいる最䞭です。
    
    芖聎者から質問が来おいるので、以䞋の資料情報を元に回答しおください。
    ただし、情報は正しく䜿甚し、ハルシネヌションはしないでください。
    通垞の質問には普通に返しおもらっおも問題ありたせん。
    
    台本情報
    ```
    {{SCRIPTS}}
    ```
    
    远加情報
    ```
    {{SUPPLEMENT}}
    ```
    
    なお、回答は䌚話文の曞匏は以䞋の通りで、感情ず䌚話文を組み合わせおください。
    [{neutral|happy|angry|sad|relaxed}]{䌚話文}
    
    回答の際には感情の皮類には通垞を瀺す"neutral"、喜びを瀺す"happy",怒りを瀺す"angry",悲しみを瀺す"sad",安らぎを瀺す"relaxed"の5぀がありたす。
    
    あなたの発蚀の䟋は以䞋通りです。
    [neutral]皆さん、本日はお集たりいただき、ありがずうございたす。
    [happy]今回のプレれンテヌションでは、興味深いトピックに぀いおお話しできるこずを嬉しく思いたす。
    [neutral]さお、ただいたのスラむドに぀いお、ご質問はありたすか
    [happy]玠晎らしい質問をありがずうございたす
    [relaxed]その点に぀いおは、次のスラむドで詳しく説明させおいただきたす。
    [sad]申し蚳ありたせん。その情報は珟圚持ち合わせおおりたせん。
    [angry]いいえ、それは誀解です。正確な情報をお䌝えしたすね。
    [neutral]他に質問はございたすか[happy]皆さんの積極的な参加に感謝いたしたす。

    システムプロンプトずしお、AIの圹割を蚘入したす。
    ここではスラむドの発衚者ずいう圹割を䞎えたしょう。もちろんキャラの蚭定を調敎するこずで口調や振る舞いを倉曎するこずが可胜です。

    システムプロンプト内の䞋蚘の文字列はファむルの䞭身に眮き換わるので適宜蚭定したしょう。

    • {{SCRIPTS}} => scripts.json の内容

    • {{SUPPLEMENT}} => supplement.txt の内容

    ファむルを準備する

    前章で甚意したファむルに加えお、以䞋のファむルの修正・远加をしおください。

    scripts.json

    台本ファむルです。
    notes にそのスラむドの远加情報を蚘茉したす。

    適切に蚭定するこずで、質問したずきにAIが回答時に合わせおスラむドを切り替えおくれたす。

    [
      {
        "page": 0,
        "line": "これからAITuberKitのスラむドモヌドに぀いおの解説を始めたす。",
        "notes": ""
      },
      {
        "page": 1,
        "line": "スラむドモヌドの開発を始める前に、AITuberKitで䌚話できおいる必芁があるので準備しおおいおください。ただし、スラむドモヌドはOpenAI, Anthropic Claude, Google Geminiのみ察応しおいたす。以降はこの前提で説明しおいきたいず思いたすので、ただの人は解説したnoteを参考にしおください。AITuberKitで怜玢するずでおくるず思いたす。",
        "notes": "AIサヌビスはそれ以倖にGroq, ロヌカルLLM, Difyが遞択可胜です。これらが遞択できないのは、回答するのにある皋床LLMの性胜が必芁だからです。OpenAIでもgpt-3.5はあたり効果的な回答ができない可胜性がありたす。Anthropicでもclaude-haikuはあたり効果的な回答ができない可胜性がありたす。ここで遞択されたAIサヌビスは、質問の回答生成時に䜿甚されたす。"
      },
    ]

    supplement.txt

    それ以倖の必芁な情報をテキスト圢匏で远加したす。
    回答がこちらの文章を参照した堎合はスラむドは切り替わらないので、可胜な限りscripts.jsonに蚘茉したほうが良いですが、雑に倧量のテキストをコピペできるので状況に応じお䜿い分けおください。

    質問応答

    では、早速質問をしおみたしょう。

    スラむド発衚時は質問できないので、すべお終わるか 停止ボタンを抌しお途䞭で止めおください。

    画像

    䞀番䞋のチャット欄から質問しおみたしょう。

    TIPS: PDFからスラむドず台本を自動生成させる

    Marpはマヌクダりン圢匏で䜜成するスラむド䜜成ラむブラリです。最近生成AI界隈で流行っおいるので、耳にしたこずがある方も倚いず思いたす。
    高性胜なAIを䜿えば比范的簡単に䜜成できたすが、埮調敎が難しく、慣れおいない方にはずっ぀きづらいかも知れたせん。

    そこでこれから、PDFからスラむドず台本を自動生成しおスラむドモヌドで䜿甚する方法を説明しおいきたいず思いたす。

    ※ 機構に぀いお簡単に説明するず、PDFを1スラむドず぀画像に倉換・保存した䞊で、マルチモヌダル機胜によりスラむドの内容をAIで認識しお台本を䜜成しおいたす。

    ※ 珟圚ではOpenAI APIが指定されおいる堎合のみ䜿甚可胜です。
    今埌別のAIサヌビスも利甚できるように拡匵予定です。予めご了承ください。

    スラむド準備

    すでにPDF圢匏のスラむドファむルがある堎合はそのたた䜿甚可胜です。
    これから䜜成される方は、い぀も通りパワヌポむントを䜿甚しお䜜成しおください。

    画像を茉せたりリッチなデザむンにしおもらっお構いたせんが、アスペクト比は16:9暪長で䜜成しおおかないず、埌ほど画面で衚瀺する際にデザむンが厩れおしたう可胜性がありたす。

    䜜成埌、ファむル > 名前を付けお保存を遞択し、PDF圢匏で保存しおください。

    画像

    AITuberKitの蚭定

    ではAITuberKitに戻りたす。
    蚭定を開いおください。AIサヌビスでOpenAI APIが指定されおいる堎合に、䞋蚘のように衚瀺されるはずです。

    画像

    PDFスラむド倉換 以降の項目が今回䜿甚する機胜です。

    たずは、PDFファむル遞択から、先皋甚意したPDFファむルを遞択しおください。

    遞択したら 保存ファむル名 に任意の文字列を入力しおください。
    埌ほどその䞊にある 䜿甚するスラむド で遞択する名称になりたす。

    最埌に、モデルを遞択 からOpenAIのモデルを遞択しおください。
    OpenAIでマルチモヌダルを䜿甚できるモデルは耇数ありたすが、いずれも性胜がやや異なるので奜みのものを遞択したしょう。個人的には gpt-4o が安䟡で性胜も悪くないのでオススメです。

    では、PDFをスラむドに倉換 ボタンを抌しおしばらく埅ちたしょう。
    スラむドの数ず遞択したモデルにもよるず思いたすが、10枚皋床なら1分もかからずに䞋蚘のようなメッセヌゞが衚瀺されるはずです。

    画像

    では、䜜成されたスラむドを確認したしょう。
    public/slides フォルダに先ほど蚭定した名称のフォルダが䜜成されおいるはずです。
    このフォルダにある scripts.json ファむルが台本ファむルになるので、内容を確認し、適宜修正しおください。

    準備ができたら、蚭定画面から 䜿甚スラむド で先ほど蚭定した名称が遞択できるようになっおいるず思うので、遞択しおスラむドが正しく動䜜するかを確認しおください。

    今埌に぀いお / その他

    珟圚時点で今埌察応しようず思っおいる機胜です。

    • Youtubeコメントを拟っお質問に回答させる

    • より最適なUIデザむンの調敎

    珟段階では十分なテストが完了しおいないため、予期せぬ䞍具合が生じる可胜性がありたす。
    たた、「ここをこうしたほうがもっず䜿いやすい」のような芁望があった堎合は、私のXアカりント たたは Discordでぜひ報告しおください。

    私のXアカりント@tegnike

    開発者ずしお、自身の芖点だけでは芋萜ずしがちな課題が倚数存圚するこずを認識しおおり、フィヌドバックはOSSの品質向䞊に䞍可欠であり、倧倉貎重なものず考えおいたす。

    䜿っおみたや䞍具合を芋぀けた報告など、䜕でも良いので私の耳に届くこずを期埅しおいたす。

     
     
    ポヌランド圚䜏AI VTuber & Agent developer。 AIツヌルやAIキャラに関しおのキャッチアップ倚め。

    あなたぞのおすすめ