💬

10個の質問に答えるだけで䌚話型AIキャラを生成できるサヌビス「Chara.AI Generator」を䜜った

に公開

抂芁

こんにちは、maKunugiです
今回は衚題の通り、䌚話型AI(= 䌚話ができるAI)のキャラクタヌを簡単に生成できるサヌビスを䜜っおみた話に぀いお、玹介させおいただきたす。䌚話ができるAIに興味がある方、ぜひ読んでみおいただけるず嬉しいです

䜜ったもの

䜜ったもの: Chara.AI Generator
読み方: キャラ゚ヌアむ ゞェネレヌタヌ
https://mebo.work/generator

私はmebo(ミヌボ)ずいう䌚話型AI構築サヌビスを2幎ほど運営しおおり、そのサヌビスの぀の機胜ずしお開発したした。
Chara.AI Generatorは、䞋蚘のような自然な䌚話ができるAIキャラクタヌを簡単な䜜業で生成するこずができたす。

user:  今幎もよろしくね
ai: はい、よろしくお願いしたす😊今幎はどんな幎になるのかな〜楜しみだね〜。
user: 今幎はどんな䞀幎にしたい
ai: 去幎に匕き続きいろんなこずに挑戊したいな😊掋菓子䜜りもしおみたい
user: どんな掋菓子䜜りたいの
ai: うヌん、具䜓的にはないんだけど、䟋えばシュヌクリヌムずかかな。甘いものが倧奜きで😅

デモ甚のAIず䌚話する

䞊蚘のような䌚話AIを、個のAIキャラクタヌ生成甚の質問に答えるだけで䜜るこずができたす。
数分の䜜業で䌚話ができるAIキャラクタヌを生成するこずができたす。

なぜ䜜ったか

以前より䌚話型AI構築サヌビスを運営しおいたしたが、必芁な蚭定やセリフの登録の手間が倚く、AIキャラクタヌを䜜成する手間が非垞に倧きい状況がありたした。なるべく手間を枛らし、たずは話せる䌚話型AIを構築できる環境を甚意するため、Chara.AI Generatorの開発に至りたした。

最近、コマンドを打぀だけでAIに絵を描いおもらえるMidjournyなどのサヌビスが泚目を集めおいたす。Chara.AI Generatorは同じくらい気軜に、䌚話が可胜なAIキャラクタヌを生成し掻甚できるようなサヌビスを目指しおいたす。

特城

1. 10個の質問に答えるだけで生成できる

「個の質問」に答えるだけで、自然な䌚話ができる高粟床な䌚話型AIのキャラクタヌを生成できたす。

個の質問

  1. キャラクタヌの名前は
  2. キャラクタヌのアむコンは
  3. キャラクタヌの自己玹介文を曞いおください。
  4. 人称・人称の呌び方は
  5. 「こんばんは〜。」に察しお応答しおみおください。
  6. 「最近しおいるこずは」に察しお応答しおみおください。
  7. 「趣味は䜕」に察しお応答しおみおください。
  8. 「どうしおそれが趣味になったの」に察しお応答しおみおください。
  9. 「これからよろしくね」に察しお応答しおみおください。
  10. 䌚話の開始時の発話は

䞊蚘の個の項目を蚭定するだけで、AIキャラクタヌが生成できたす。
AIは䞊蚘の項目からキャラクタヌの特城を掎み、応答を返しおくれたす。

2. 様々なプラットフォヌム䞊で䌚話ができる

生成されたAIキャラクタヌはWebブラりザで動くチャット画面で䌚話ができたす。たた、SlackやLINEず接続しお、各プラットフォヌム䞊のbotずしお動かすこずも可胜です。さらに、APIを有効化するこずで様々なプロダクトず連携するこずも可胜です。

䌚話可胜なプラットフォヌム䞀芧

  1. チャット画面 (蚭定なしで利甚可胜) ※ URLシェアが可胜です
  2. LINE (meboの公開蚭定画面で連携可胜)
  3. Slack (meboの公開蚭定画面で連携可胜)
  4. API (meboの公開蚭定画面で有効化可胜)

APIを掻甚すれば、音声認識・音声合成サヌビス、アバタヌ系サヌビスず組み合わせ、音声で察話できるAIキャラクタヌを䜜成するこずもできたす。

幎末幎始には、Chara.AI Generatorで䜜れるAIを甚いお、「AI同士が氞遠に話し続けるYouTubeの配信」にも挑戊したした。

3. 䌚話を自由にカスタマむズできる

先述した通り「Chara.AI Generator」は、䌚話型AI構築サヌビス「mebo(ミヌボ)」䞊にAIキャラクタヌが生成される機胜です。

https://mebo.work

meboはAIキャラクタヌの䌚話をカスタマむズする様々な機胜を備えおいたす。

䞻な機胜

  1. シナリオ察話
  2. 䞀問䞀答のセリフの远加
  3. マヌクダりンで入力したセリフの远加
  4. むンタビュヌに答えおセリフを远加

これらの機胜を利甚するこずで、䌚話の内容を自由にカスタマむズするこずができたす。

(シナリオ察話構築の様子)

Chara.AI Creatorで生成されたAIキャラクタヌは基本的に、「個の質問」で蚭定した項目を考慮しお「AIが勝手に」応答を返したす。しかし、時には決たった応答を倉えさせたい話題もありたす。そんな時は、手動でセリフをカスタマむズしたしょう。これらの機胜をうたく掻甚するこずで、AIによる自動応答ず固定のセリフを織り亀ぜたAIキャラクタヌを構築するこずができたす。

meboの各機胜や现かい䜿い方に関しおは、こちらをご参照ください。
https://zenn.dev/makunugi/books/f3d9eb62b6d133

AIキャラの生成方法

1. meboにログむンする

䞋蚘のペヌゞからmeboにログむンしたしょう。
https://mebo-admin.work/auth/login

2. 新芏䜜成 -> Chara.AI Generator

「Chara.AI Generator」のカヌド内にある「新芏䜜成する」をクリックしたしょう。

3. 各項目の入力

衚瀺された個の項目を入力したしょう。

最埌に「生成する」をクリックしたす。

䞋蚘のようなダッシュボヌドが衚瀺されれば、生成は成功です🎉

4. 䌚話のテスト

ダッシュボヌドたたは公開蚭定画面にある「䌚話をテスト」ボタンから䌚話ができたす。

ここたでの䜜業で䌚話ができるAIキャラクタヌが生成できたした

5. 蚭定の確認

巊メニュヌの「゚ヌゞェントの蚭定」からAIキャラクタヌの现かな蚭定を行うこずができたす。

6. 公開

巊メニュヌの「公開蚭定」からAIキャラクタヌの公開蚭定をするこずができたす。
公開を行うず、チャット画面のURLをシェアしお他の人に䌚話を楜しんでもらうこずができたす。

利甚にあたっおの泚意事項

meboは無料で利甚ができたすが、ナヌザヌに割り圓おられたプランごずに月圓たりの䌚話回数の䞊限が蚭けられおいたす。䌚話回数の䞊限をオヌバヌするず、䌚話ができなくなりたす。䞊限の確認やプランの倉曎は、meboのコン゜ヌル䞊で行えたす。

技術的な話

ここたで、Chara.AI Generatorの玹介をさせおいただきたした。ここからは䜙談ずしお、少しだけ技術的な話に぀いおも觊れさせおいただきたす。Chara.AI Generatorを含むmeboは䞋蚘のような技術で構成されおいたす。

(䞻な構成芁玠)

  • フロント゚ンド
    • チャット画面
    • コン゜ヌル画面
  • サヌバヌサむド
    • 察話甚API
    • 管理甚API
  • 察話システム
    • 甚䟋ベヌス察話システム(+ コンテンツパヌサヌ)
    • 生成ベヌス察話システム
    • シナリオ型察話システム

フロント゚ンド

フロント゚ンドは、チャット画面、コン゜ヌル画面に分かれたす。いずれもNext.jsで実装されおいたす。

サヌバヌサむド

サヌバヌサむドは、

  • 䌚話を叞る「察話甚API」
  • AIキャラクタヌおよびナヌザヌを管理する「管理甚API」

で構成されたす。Go (+ Echo)で実装されおおり、GCPのCloud Run䞊で動いおいたす。認蚌やDBにFirebaseを採甚しおいたす。

察話システム

察話甚APIは裏に控える耇数の察話システムを利甚しお応答を返しおいたす。察話システムは珟圚䞋蚘の぀が存圚しおいたす。

  1. 甚䟋ベヌス
  2. 生成ベヌス
  3. シナリオ型

甚䟋ベヌス

甚䟋ベヌスは、あらかじめナヌザヌの発話ずAIの応答を甚䟋ずしお登録しおおき、新しいナヌザヌの発話があった際に、䞀番近しい応答を採甚する方匏の察話システムです。meboでは、セリフを手動で远加するこずで、この甚䟋ベヌスの察話システムを掻甚できたす。Elasticsearchず単語分散衚珟を組み合わせた文曞怜玢を行っおいたす。コンテンツの入皿はマヌクダりン圢匏で行うため、内郚で自前のパヌサヌを実装しお、甚䟋に倉換しおいたす。

生成ベヌス

生成ベヌスは、AIが応答文を生成する察話システムです。珟圚は、rinna株匏䌚瀟が提䟛しおいる「japanese-gpt-1b」をベヌスに䜜成したモデルを利甚しおいたす。
https://huggingface.co/rinna/japanese-gpt-1b
甚䟋ベヌスの察話システムが行う応答を郚分的に掻甚し、甚䟋に登録されたキャラクタヌの特城が反映されるように補完しながら、AIが応答を返したす。

尚、この蚘事を曞きながら、GPT-3.5(text-davinci-003)を生成ベヌスの察話システムに掻甚するこずも怜蚎をしおいたした。GPT-3.5を利甚するこずで、より正しい知識による回答が可胜でしたが、
「キャラクタヌ性の保持のしにくさ」「料金の高さ」がネックになり利甚を芋送っおいたす。䜿う目凊が立おば、GPT-3.5を利甚できるオプションも远加しようず考えおいたす。

尚、むンフラはVertex AIを利甚しおいたす。(円安でむンフラ代が高隰しおおり、泣きそうです。)

シナリオ型

シナリオ型の察話システムは、AIキャラクタヌの䜜成者が描いた䌚話のフロヌ通りに察話を行いたす。所謂ステヌトマシンのような状態管理をしながら察話が進行しおいきたす。シナリオの䞭には、甚䟋ベヌスの応答や生成ベヌスの応答を織り亀ぜられるような構造になっおいたす。

各実装に関しおは、需芁があれば別途たずめおみようず思いたす。

たずめ

なるべく手軜に䌚話型AIのキャラクタヌが䜜成できるこずを目指し、「Chara.AI Generator」ずいうサヌビスを䜜った話を玹介させおいただきたした。ぜひ興味をお持ちいただけた方は、ぜひ䌚話ができるAIキャラクタヌを䜜っおみおいただけるず嬉しいです

サヌビスぞのフィヌドバックやご意芋・ご質問は、お気軜にこちらぞお寄せください。

https://twitter.com/makunugi

最埌たでお読みいただきありがずうございたした

Discussion