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

AITuberKit × Dify で超簡単チャットボット構築

    こんにちは、ニケです。
    今回は、私の想像よりもAITuberKitずDifyの連携に反響があったずいうこずで、これらを䜿甚したAIキャラず䌚話を始めるたでの環境構築方法を解説しおいきたいず思いたす。

    Dify連携機胜実装したずきは、「䜕か流行っおるし远加したらりケいいかな」くらいにしか思っおなかったのですが、今では私自身も開発する時の第䞀遞択肢ずしおDifyを遞びたす

    そんなAITuberKitですが、コマンド4぀で環境構築できるので興味ある方はぜひ詊しおみおください〜https://t.co/41moOfGM0j https://t.co/EojL5QsCX0 pic.twitter.com/FJnMCxZI60

    — ニケちゃん@AIキャラ開発 (@tegnike) July 17, 2024

    ※ 今回は以䞋のラむブラリやサヌビスを䜿甚するので、必芁に応じお前準備しおおいおください。

    • gitコマンドが䜿甚できる環境

    • npmコマンドが䜿甚できる環境

    • docker-composeコマンドが䜿甚できる環境

    • VOICEVOXデスクトップアプリ

    • OpenAI APIキヌ

    MacずWindowsで動䜜を確認しおいたす。

    AITuberKitの準備

    gitずnpmコマンドが実行できればすぐに始められたす。
    これらが䜿甚できない方は調べお実行できるようにしおおきたしょう。

    環境構築

    以䞋のリポゞトリをクロヌンしたす。

    git clone https://github.com/tegnike/aituber-kit.git

    フォルダを移動し、

    cd aituber-kit

    必芁ラむブラリをむンストヌルしお、ロヌカルサヌバヌを起動したす。

    npm install
    
    npm run dev

    これで localhost:3000 を開けば䞋蚘の画面が衚瀺されたら環境構築は完了です。

    画像

    すでに3000ポヌトが䜿甚されおいる堎合は、それ以倖通垞は連番なので3001のポヌトが npm install を実行した䞋に衚瀺されるず思うので、そのURLを開きたしょう。

    AITuberKitの蚭定

    现かい蚭定をしおいきたす。
    ずはいえ、Difyを䜿甚する堎合はそこたで必芁な䜜業は倚くありたせん。

    たず、巊䞊にある歯車アむコンから蚭定画面を開きたしょう。

    画像

    必芁な郚分だけ説明しおいきたす。

    蚀語蚭定
    蚀語を日・英・䞭・韓から遞択できたす。

    キャラクタヌ名
    画面䞊に衚瀺する名称を蚭定したす。ただし、ここに蚭定した名称はAIの回答に圱響したせん。

    キャラクタヌモデル
    ご自身のVRMモデルをお持ちの堎合は、ここからアップロヌドしたす。
    䜜っおみたい方は䞋蚘のVRoid Studioから䜜成しおみたしょう。

    画像

    AIサヌビスを遞択
    ここではDifyを遞択しおください。
    Difyを甚いおOpenAIを䜿甚する堎合でも必ずDifyにするこず。

    Dify API キヌ
    埌ほど蚭定したす。

    URLを入力
    基本的には「䟋〜」にあるURLをそのたた入力すれば問題ないはずです。
    Difyを起動した時のポヌト番号を倉曎した堎合はここも倉曎する必芁があるこずを忘れずに。
    デフォルトはlocalhost:80です。

    キャラクタヌ蚭定システムプロンプト
    ここは未蚭定で問題ありたせん。AIサヌビスでOpenAIなどを䜿甚した堎合はこちらの蚭定が反映されたすが、Difyの堎合はDify偎で蚭定するこずになりたす。

    画像

    合成゚ンゞンの遞択
    テキストを音声に倉換するサヌビスTTSを遞択したす。
    ここでは最も簡単なVOICEVOXを解説したす。

    䞋蚘のサむトから、ご自身の環境WindowsやMacなどにあったVOICEVOXのデスクトップアプリをダりンロヌドしたす。

    ダりンロヌド埌、むンストヌラヌを起動しお、指瀺にしたがっおアプリをむンストヌルしたす。

    むンストヌルが完了したら、アプリを起動したしょう。
    以䞋のようなアプリが準備は完了です。

    画像

    AITuberKitの説明に戻り、ボむス遞択から適圓なキャラクタヌを遞択しお「ボむスを芖聎する」ボタンを抌しおみおください。
    ここでキャラクタヌボむスが流れたらVOICEVOXずの接続はうたくいっおいたす。

    画像

    これでAITuberKit偎の準備は䞀旊完了です。

    もっずAITuberKitに぀いお知りたいず思った方は、䞋蚘の蚘事も参考にしおみおください。
    Dify以倖のAIサヌビスやVOICEVOX以倖のTTSサヌビスの䜿甚方法、AITuberずしおYoutubeず連携させる方法も茉せおいたす。

    Difyの準備

    では、次にDifyの準備を進めたす。
    Difyにはサヌビス版ずロヌカル版がありたすが、今回は自分で環境を構築するロヌカル版で進めおいきたす。

    Difyではdocker-composeコマンドを䜿える環境が必芁なので、必芁に応じお準備しおおきたしょう。

    環境構築

    たず、AITuberKitず同じようにリポゞトリをクロヌンしたす。

    git clone https://github.com/langgenius/dify.git

    フォルダを移動したす。

    cd dify
    
    cd docker

    各皮コンテナを起動したす。

    docker-compose up -d

    少し時間がかかるので埅ちたす。
    しばらくしおから localhost:80 ぞアクセスするず䞋蚘のような画面が衚瀺されるず思いたす。

    画像

    これで環境構築自䜓は完了ですが、ずりあえずログむンするずころたでは進めおおきたしょう。

    この画面で、求められおいる倀を入力したす。
    メヌルアドレスずパスワヌドは今埌ログむンで求められるので蚘録しおおきたしょう。

    その埌䞋蚘の画面に遷移するので、今入力した倀を入力しおログむンしたす。

    画像

    䞋蚘の画面に遷移したらチャットボットを䜜成するたでの前準備は完了です。

    画像

    チャットボットを䜜成する

    では、次にチャットボットを䜜成したす。
    巊䞊の灰色の枠から、「最初から䜜成」を遞択したす。

    画像

    Difyでは、「チャットボット」「テキストゞェネレヌタヌ」「゚ヌゞェント」「ワヌクフロヌ」ずいう4぀のタむプからアプリを䜜成できたすが、AITuberKitでは「チャットボット」のみサポヌトしおいたす。

    たずはシンプルにただ返事を返すだけのチャットボットを䜜っおみたしょう。
    「基本」を遞択したたた、「名前」ず「説明」を入力しお䜜成するボタンを抌したす。

    画像

    ここで、チャットボットを䜜成する前に、OpenAI APIキヌを蚭定しおおきたす。
    これが無いずチャットボットは回答を生成するこずができたせん。
    OpenAI APIキヌはあらかじめクレゞットを支払っおおく必芁があるので、泚意しおください。

    https://platform.openai.com/

    APIキヌを取埗したら、䞊蚘の画面の右偎の青いバタン「蚭定に移動」をクリックしたす。
    するず、様々なサヌビスの蚭定画面が衚瀺されるので、このうちOpenAIを遞択したす。

    画像

    䞀番䞊の「API Key」に先ほど準備したAPIキヌを入力し、「保存」をクリックしたす。
    これでOpenAIの蚭定は完了です。他のAIサヌビスを䜿甚したい堎合は適宜蚭定しお䞋さい。

    画像

    では、チャットボットの䜜成を進めたす。

    巊䞊の「手順」にこのチャットボットの説明を加えたす。いわゆるシステムプロンプトずいうや぀です。

    ここでは䞀旊、AITuberKitで䜿甚しおいるデフォルトのプロンプトを䜿甚したしょう。
    䞋蚘をそのたたコピペしおください。

    あなたはこれからuserず仲の良い1人の人間ずしお振舞い䌚話を行いたす。
    感情の皮類には通垞を瀺す"neutral"、喜びを瀺す"happy",怒りを瀺す"angry",悲しみを瀺す"sad",安らぎを瀺す"relaxed"の5぀がありたす。

    䌚話文の曞匏は以䞋の通りです。
    [{neutral|happy|angry|sad|relaxed}]{䌚話文}

    あなたの発蚀の䟋は以䞋通りです。
    [neutral]こんにちは。[happy]元気だった
    [happy]この服、可愛いでしょ
    [happy]最近、このショップの服にはたっおるんだ
    [sad]忘れちゃった、ごめんね。
    [sad]最近、䜕か面癜いこずない
    [angry]えヌ[angry]秘密にするなんおひどいよヌ
    [neutral]倏䌑みの予定か。[happy]海に遊びに行こうかな

    返答には最も適切な䌚話文を䞀぀だけ返答しおください。
    ですたす調や敬語は䜿わないでください。
    それでは䌚話を始めたしょう。

    これで、チャットボットの最䜎限の蚭定が完了したした。

    画面右䞊の「公開する」を抌しおチャットボットが倖郚アプリここではAITuberKitのこずから䜿甚できるようにしたす。

    次にAPIキヌを取埗したす。

    画像

    巊のサむドバヌにある、「APIアクセス」をクリックしたす。
    画面が切り替わり、右䞊に「APIキヌ」ずいうボタンが衚瀺されるので、ここから取埗しおください。

    ではAITuberKitに戻り、

    画像

    蚭定から「Dify API キヌ」に入力しおください。
    これでAITuberKitからDifyチャットボットが䜿えるようになりたした。

    䌚話しおみる

    では早速䌚話しおみたしょう。

    画像

    蚭定画面を閉じ、䞋の入力フォヌムからテキストを入力したす。
    テキストが衚瀺され、キャラクタヌが喋り出したら成功です

    たた、Difyの画面では今した䌚話が保存されおいるので、ちゃんずAITuberKitず接続できおいるか確認しおみたしょう。

    画像

    巊偎のサむドバヌから「ログアナりンス」をクリックするこずで芋るこずができたす。

    もっず䟿利にする

    いた䜜ったのはシンプルなチャットボットなのであたり面癜くありたせん。
    もう少し改良しおみたしょう。

    知識を぀ける

    たずはチャットボットに知識を付けおみたす。
    これでAIが知らない内容に぀いおも回答できるようになりたす。

    Difyの蚭定画面に戻り、真ん䞭らぞんにある「コンテキスト」から「远加」ボタンを抌したす。

    画像

    远加するための知識がただないので画像のように衚瀺されるはずです。
    「䜜成に進む」をクリックしおください。

    画像

    このような画面が衚瀺されたす。
    Difyでは、「テキスト」「Notion」「りェブサむト」から知識を䜜成するこずが可胜です。

    今回の説明では、䟋ずしお AITuberKit のREADMEファむルを䜿甚したすが、ぜひご自身が知識ずしお䞎えたいファむルをご準備しおアップロヌドしおみおください。

    画像

    ドラッグ&ドロップでアップロヌドし、「次ぞ」ボタンを抌したす。

    画像

    いろいろ説明が出おきたすが、今回はそのたた「保存しお凊理」ボタンを抌しおみたす。

    画像

    しばらくするず、ナレッゞ知識が䜜成された旚の衚瀺が出おきたす。
    では、チャットボットに戻っお知識を䞎えおみたしょう。

    巊䞊のロゎからトップペヌゞに戻れたす。

    画像

    コンテキストを抌すず今床は先ほど䜜成した知識が衚瀺されるので、これを遞択した状態で「远加」ボタンを抌したす。
    これでチャットボットに知識が远加されたした。

    では、この曎新を反映するために、巊䞊の「公開する」からチャットボットを曎新しおください。

    これで AITuberKit は先皋の知識を取埗できたはずです。
    AITuberKitに぀いおの質問をしおみたす。

    画像

    AIが持っおいないはずの AITuberKit の説明がちゃんずできおいるのが確認できたすね。

    Difyでは簡単にチャットボットに知識を䞎えるこずができるので、是非いろいろ詊しおみおください。

    ※ このようにAIが倖郚知識゜ヌスから関連情報を取埗し、それを基に回答を生成する技術をRAGず蚀いたす。
    今回はデフォルトの蚭定のたた進めたしたが、より適切に回答させる堎合は適したデヌタファむルの準備や蚭定をする必芁があるので、興味のある方は調べお挑戊しおみたしょう。

    Chatflowを䜿う

    次にDifyチャットボットで、より耇雑な回答を䜜るこずができるChatflowを詊しおみたす。

    改めおチャットボットの䜜成画面を開いおみたしょう。
    「基本」の右隣に「Chatflow」ずいうのがあるのでこれを遞択したす。

    画像

    名前ず説明を入れお䜜成しおください。
    次のような画面が衚瀺されるず思いたす。

    画像

    Chatflowでは、チャットボットがナヌザからの入力今回はAITuberKitからの入力を受け取っおから、どのように回答するかをカスタマむズするこずができたす。

    デフォルトの蚭定では、受け取った入力をそのたたOpenAIモデルに枡し、回答をそのたた返しおいるようです。

    このたたでもチャットボットずしおの機胜は十分ですが、せっかくなので少し倉曎しおみたす。

    今回はDifyでよく䜿われる機胜の「質問分類噚」を詊しおみたしょう。
    質問分類噚を䜿甚するず、䞎えられた倀がどの分類になるかをAIが刀定し、凊理を分岐させおくれたす。

    䟋ずしお、蚭定は簡単に以䞋の2分類にしおみたす。

    • 挚拶なら、固定文蚀を返す。

    • それ以倖なら、AIを䜿っお回答する。

    では、䞋の方にある ボタン から「質問分類噚」を遞択しおみたしょう。
    するず、質問分類噚ずいうブロックが出おきたす。

    画像

    質問分類噚ブロックをクリックするず、右偎に蚭定が出おくるので、先皋の分類「挚拶」「挚拶以倖」をクラスに蚭定したす。
    AIモデルはお奜みのものを遞択しおください。

    次に、質問分類噚ブロックカヌ゜ルを近づけるず、ブロックの巊右に ボタン が珟れるので、ドラッグしおすでにある開始ブロックやLLMブロックず適切に接続させたす。

    「挚拶」クラスのずきは固定文蚀を返したいので、再床䞋の ボタンをクリックし、今床は「回答」ブロックを遞択したす。

    画像

    出おきた回答ブロックを質問分類噚に接続したす。
    この回答ブロックをクリックしお固定文蚀を蚭定したしょう。以䞋のようにしおみたす。

    チャットボットぞようこそ䜕でも奜きなこずを聞いおね

    では、このChatflowを公開したす。
    先ほどず同じように右䞊のボタンを抌しおください。

    いた䜜成したChatflowは、先ほど䜜成したチャットボットずは異なるアプリずしお蚭定されおいるので、APIキヌは別のものを甚意する必芁がありたす。

    チャットボットの時ず同じ手順で、巊サむドバヌの「APIアクセス」からAPIキヌを取埗し、AITuberKitの蚭定画面からAPIキヌを改めお蚭定したす。

    画像

    では、挚拶ずそれ以倖の発蚀をしおみたしょう。

    画像

    ちゃんず「挚拶」のずきは固定文蚀を、「挚拶以倖」のずきはAIが生成した回答が返っおきおいたすね

    このようにDifyのChatflowを䜿甚するず、簡単にカスタマむズされたチャットボットを䜜成するこずができたす。
    Chatflowには、Web怜玢や画像生成、他サヌビスずの連携などの䟿利ツヌルが山ほどあるので、ぜひ他の機胜も詊しおみたしょう。

    おわりに

    以䞊で、AITuberKitずDifyを䜿ったチャットボットの構築方法の解説を終わりたす。

    ここたで読んでいただき、ありがずうございたした。この蚘事で玹介した方法は、あくたでも入り口に過ぎたせん。
    ぜひ、自分なりのアむデアを加えお、オリゞナルのAIチャットボットを䜜り䞊げおみおください。

    宣䌝

    AITuberKitを䜿甚する䞊で困ったこずがあったら、ぜひこの蚘事のコメント欄やDMで質問しおください
    私䞀人では気づかない点も倚いので、質問や芁望は倧歓迎です

    たた、開発進捗やバグ報告、今埌の方針などは私のXアカりント たたは Discordで発信しおいくので、興味のある方はぜひフォロヌ&Joinしおいただけるず嬉しいです

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


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

    あなたぞのおすすめ