はじめに
TeamXRのベンソンです。
この度、「XREAL Air 2 Ultra」で動作するARパーソナルアシスタントチャットボットを作成しました。
このチャットボットは、AR技術による直感的なインターフェースとAIの高度な情報処理能力を組み合わせることで、よりスマートで効率的なサポートを実現します。
質問するには、まずチャットボットが聞き取りを開始する合図となる開始キーワードを発言します。
今回の場合、そのキーワードは「Start」になっていますが、自由にカスタマイズすることができます。
また、UI操作で開始することも可能です。
チャットボットが聞き取りを開始したら、質問をします。チャットボットがその質問に対する回答を生成します。
「空の色は何色ですか?」のような一般的な質問や、事前にAIに提供された具体的な情報に関する質問が両方対応できるようになっています。
XREALデバイスは比較的軽量なので長時間の作業を行う場合でも作業者の負荷が少ないのがメリットです。
また、チャットボットと音声でコミュニケーションできることで、プロンプトの入力にコントローラーやキーボードを使用する必要がなくなるので、両手が作業で塞がっている場合でもそのまま命令が可能です。
実装方法
このチャットボットは、RAGメソッドを通じて、ユーザーのカスタムデータベースに基づいて回答を生成します。ユーザーからのプロンプトは音声認識によって取得され、HTTPリクエストとしてローカルサーバーに送信されます。このサーバーでは、カスタムの生成AIインターフェースが動作しています。そのインターフェース内で稼働するLLMサービスがリクエストを処理し、結果はアプリケーションに戻されて表示されます。
弊社のRAGシステムを構築するために、データと言語モデルをシームレスに統合できるオープンソースツールを組み合わせました。
- Ollama: Llamaのようなさまざまな言語モデルをサポートするため、このオープンソースフレームワークを選びました。他のLLM(例えばChatGPT)とは異なり、Ollamaはローカルにインストールして実行できます。これにより、データプライバシーの制御が向上し、インターネット接続がなくても操作できるという利点があります。
- Llama-Index: このオープンソースフレームワークは、内部データソースをOllamaに接続するのに役立ちます。ドキュメントやデータベース、その他のデータリポジトリからカスタムインデックスを作成し、このインデックス化された情報を使用してモデルの回答を強化します。このようにして、言語モデルは再学習の必要なく最新のデータに基づいた回答を生成できます。
弊社の生成AIインターフェースソリューションのカスタムUnity SDKを使用することで、このアシスタントチャットボットの開発プロセスをスピードアップすることができました。詳細は以下のリンクからご覧いただけます。
まとめ
このプロジェクトでXREALデバイスを使用する際には、いくつかの利点と欠点がありました。上に簡単に説明したように、このデバイスは軽量なのでユーザーが長時間使用することができます。また、ハンドトラッキングや6DoF(6自由度)機能があるので非常に便利でした。さらに、デバイスのメニューUIはシンプルで、操作しやすかったです。
一方で、主な欠点は視野角(FoV)がやや狭い点です。また、Androidデバイスとケーブルで接続しなければならない点も若干不便であり、状況によってはケーブルが邪魔になることもあります。ソフトウェア面では、ARグラスに表示されるコンテンツとカメラ映像を同時に記録できない点が非常に不便でした。
XREALデバイスを使用してRAGシステムと連携させたバーチャルアシスタント/チャットボットは、ハンドヘルドデバイスが推奨されない厳しい環境で、効率的なワークフローを提供することを目指しています。
利用ケースとしては、ツールや機械のマニュアル、セーフティプロトコル情報、緊急時の避難指示などが考えられます。具体的には、工場や製造現場での機械操作手順を分かりやすく示すインタラクティブなマニュアルとして活用できるほか、従業員が安全対策を迅速に理解できるようにしたセーフティトレーニング資料、災害時や非常時における迅速で的確な避難経路や行動指示を提供するためのガイドとして役立ちます。また、これらの情報を視覚化や多言語対応することで、異文化や異言語を持つチームにおけるコミュニケーションを向上させる可能性もあります。
上記ブログの内容に少しでも興味がありましたら、お気軽にご連絡ください。
弊社のエンジニアがフレンドリーに対応させていただきます。