低VRAMで動く対話AI「PromptActor」を作ってみたー!
ローカル環境で動作する対話AIの仕組みを試作しました。
一般的に、生成AIで自然な会話や正確な回答を実現しようとすると、パラメータ数の多い高性能なモデルが必要になり、大容量のVRAMを積んだ高価なGPUや、クラウドサービスの利用が前提になります。
一方で、ローカルで動く小型のモデルは、キャラクターになりきらせると同じ言葉を繰り返したり、質問をオウム返ししたりと、そのままでは実用が難しいという課題がありました。
そこで本仕組みでは、生成AIの役割を「知識をもとに事実だけを答える」ことに絞り、それ以外の処理をすべてソフトウェア側の制御(SW制御)で行う構成にしました。
入力文の分解、知識の検索、キャラクターの口調への変換、挨拶や前置きの付与などは、あらかじめデータベースに登録したルールで処理します。生成AIが担当するのは全体のうち1工程だけです。
・低VRAMで動作する:生成AIには短い指示と必要な知識だけを渡すため、小型の軽量モデルでも動作します。高性能なGPUやクラウドサービスを用意する必要がありません。
・回答の根拠を確認できる:回答は知識DBに登録した情報をもとに作られ、取得元のURLも記録しているため、内容の真偽をすぐに確かめられます。
・キャラクターの口調が崩れない:口調や挨拶はルールで付けるため、小型モデルでも毎回安定したキャラクター性を保てます。
・使うほど賢くなる:知識はキーワードやURLから自動で取得・蓄積され、誤った判定もチャット画面から登録し直して、その場で改善できます。
・情報が社外に出ない:すべてローカル環境で動作するため、社内の情報を外部のサービスに送信する必要がありません。
全体の流れは添付の図のとおりです。今後は回答精度の向上と、社内の業務知識への応用を検討していきたいと考えています。
「情報が社外に出ない」の部分は、ネットからの知識取得(Wikipedia)は外部通信になるので、社内資料だけで使う場合の利点として書いています。
短いチャット投稿用や、上司向けの報告書向けなど、用途に合わせて長さを調整することもできます。
どのケースにも共通する強みは、知識と口調を別々に管理できることです。
同じ知識DBのまま、社内ではビジネス口調、社外イベントではマスコット、というように、相手に合わせて話し方だけを差し替えられます。
| 利用ケース | 口調 | 知識DBの中身 | この仕組みが活きる点 |
|---|---|---|---|
| 社内の問い合わせ窓口 | 丁寧語(なりきりなし) | 社内規程・マニュアル・手続き | 社内で完結し情報が外に出ない。回答の根拠(登録元)を確認できる |
| プロジェクトの知識共有 | 丁寧語 | 仕様・設計メモ・調べた技術情報 | 1人が調べた知識を全員が使える。PJごとに閲覧範囲を分けられる |
| 自治体・観光地の案内 | マスコットキャラ | 観光地・イベント・行政手続き | キャラの口調が崩れない。変なことを言わせない安心感 |
| 企業の公式キャラ | ブランドキャラ | 製品・サービス情報・FAQ | ブランドイメージを守りつつ問い合わせに対応できる |
| 展示会・イベント受付 | 元気なキャラ | 会場案内・出展内容・スケジュール | 低スペックPC1台で動かせるので、会場に持ち込みやすい |
| 子ども向け学習教材 | 先生役のキャラ | 教科の内容・用語解説 | 登録した内容だけを答えるので、不適切な回答を防ぎやすい |
| VTuber・個人クリエイター | 自分のキャラ | 設定資料・配信の話題 | 高価なGPUがなくても、自分のキャラを安定して動かせる |
知識DBや会話のルール、SW制御の処理を社内サーバーで一元管理し、チーム全員で共有できる形を目指しています。
1人が登録した知識を全員が使え、誰が使っても同じ口調・品質の回答が得られます。
生成AIの置き場所については、次の2つの案を考えています。
各PCはブラウザだけで使え、全員が同じモデルを使うため回答の質も自然にそろいます。生成AIに渡す内容が短い本仕組みは、1台のサーバーで多くの人の質問を同時に処理しやすい点でも有利です。
小型モデルであればCPUのみでも動作するため、GPUのない業務PCやサーバーでも導入できる見込みです。