1 年生 B-1 コマ目
AI 議事録 Rimo でまとめたものです。AI が聞き間違ったりまとめ間違ったりする前提で参考にしてください。
アクションアイテム
- 学生は授業終了までに、Ollamaを使用したUnityとAIの連携が成功したことを示すコンソールのスクリーンショットを課題として提出すること
議論のポイント
田中正吾先生の自己紹介と経歴
- フリーランスエンジニアとして2004年頃から約20年間活動
- 美術大学出身で、情報を扱うウェブ制作の道へ
- フラッシュコンテンツ制作から始まり、現在はWEBフロントエンドエンジニアとして活動
- 情報とインターフェースが集まる場所に興味を持ち、生成AI、IoT、XRなどの技術を組み合わせた開発を実施
- IBM社のイベント(オーランド)で登壇経験あり
授業の進行方法と双方向コミュニケーションツール
- QRコードを使った質問システムを導入(質問するとライトが点灯)
- リアクションシステム(いいねカウント)を活用し、学生の反応をリアルタイムで可視化
- 前日の2年生授業では合計23,000回のいいねカウントを記録
- 挙手や拍手の心理的ハードルを下げるためのIT活用
技術連携の重要性
- IoT、VR、AIなどの技術を単独ではなく組み合わせることで新しい価値を創出
- 例:IoTとAI(センサーデータに基づく判断)、IoTとVR(空間環境の効率的把握)、AIとVR(現実の行動に合わせたアシスト)
- 試行錯誤とプロトタイピングの重要性を強調
- 技術を「ゼロからイチ」にすることで、応用可能性が広がる
Ollamaについて
- ローカル環境でAIモデル(LLM)を実行できるオープンソースツール
- プライバシー保護:クラウドにデータをアップロードせずにAIを利用可能
- 簡単なセットアップ:従来は複雑だったAI環境構築を大幅に簡素化
- 多彩なモデル対応:テキスト、画像認識、音声認識など様々な用途に対応
- API提供により他システムとの連携が容易
- 豊富なドキュメントとモデル検索機能(ollama.com/search)
Ollamaの技術的特徴
- タスクバーに常駐し、ポート11434でAPI待機
- モデルのダウンロード、管理、削除がAPI経由で可能
- Granite 3.2B(IBM社製)を使用:多言語対応に優れ、1.4GBと軽量
- Meta社のLlama、Gemini、GPT-4、DeepSeek、Qwen Coderなど多様なモデルに対応
UnityとAIの連携ハンズオン
- GitHubからUnityプロジェクトをダウンロードして解凍
- Unity Hubでプロジェクトを追加(バージョンの違いに注意)
- OpenAI APIキーを設定してマイク入力による音声認識とAI応答を実装
- マイクデバイスIDの確認と設定
- クリック操作で録音開始・終了、色の変化で状態を視覚化(赤:録音中、青:処理中、白:待機中)
クラウドAIからローカルAIへの切り替え
- OpenAI APIからOllama APIへの切り替えをコメントアウトの変更のみで実現
- ローカルAI(Granite)による日本語での応答を確認
- クラウドAIは高速だが課金とプライバシーの問題、ローカルAIは無料でプライバシー保護が可能
- 3DキャラクターとのAI会話やXR環境での応用可能性を示唆
開発における実践的なアドバイス
- Unityプロジェクトの.gitignoreを活用したチーム開発の効率化
- GitHubでのバージョン管理により心理的安全性を確保
- ライブデモの重要性:「百聞は一見に如かず」
- 技術を伝えることの重要性と教育活動への取り組み
オープニングと講師紹介
- 先週のメタバース体験(クラスター)に続き、今週はゲスト講師の田中正吾先生が登壇し、XR技術と生成AIの統合について実践的な授業を展開することが説明された
- 授業は田中先生主導で進められ、学生のアンテナの幅を広げることを目的とし、インタラクティブな双方向のコミュニケーション形式が採用された
- 田中先生は2回目の授業登壇であり、昨年度とは異なる内容を準備し、1年生とは初対面であることが確認された
- 質問用QRコードとリアクションシステムの2つのインタラクティブツールが導入され、学生が気軽に質問やリアクションを送信できる環境が整備された
- 前日の2年生授業では2万3千のいいねカウントが記録され、1年生にも同様の積極的な参加が期待された
田中先生の自己紹介とキャリア
- 田中正吾先生は屋号「ワンフットシーバス」で活動するフリーランスエンジニアで、2004年から20年以上確定申告を続けている
- 美術大学出身で情報を扱うことに興味があり、図鑑や辞書の編纂に憧れ、ウェブ制作の道に進んだ経緯が語られた
- フラッシュコンテンツ制作から始まり、現在はWEBフロントエンドエンジニアとして、ユーザーインターフェースとデータの可視化を専門としている
- 2005年にフリーランスに転向後、スマートフォン時代の到来、IoT、VR/AR、生成AIなど、技術の進化とともにキャリアを発展させてきた
- 情報とインターフェースが交わる場所に特化し、IoT、XR、生成AIなどの技術を組み合わせて、クライアントに情報を届ける役割を担っている
技術連携の重要性と実践アプローチ
- 技術は単独の点ではなく、それらを線で結ぶことで新しい価値が生まれるという哲学が強調された
- IoTとAIの連携により現実のセンサーデータに基づく判断、IoTとVRで空間環境の効率的把握、AIとVRで現実の行動に応じたアシストが可能になる
- 試行錯誤とプロトタイピングが新技術開発において極めて重要で、設計書だけでは解決できない課題が多いことが説明された
- ゼロからイチへの技術習得が重要で、一度触れた技術は他の技術と組み合わせる際にイチからヒャクへの展開が容易になる
- オーランド(フロリダ)のIBMイベントでライブデモを行い、国際的な場でも技術を効果的に伝える経験を積んでいる
Ollamaの紹介と導入メリット
- Ollamaはローカル環境でAIモデル(LLM)を簡単に実行できるオープンソースプログラムで、プライバシー保護とオフライン利用が可能である
- 従来は100個以上のピースに相当する複雑な設定が必要だったAI環境構築が、Ollamaにより1つのピースで完結するほど簡略化された
- ChatGPTやGeminiなどのクラウドAIと異なり、データをアップロードする必要がなく、情報漏洩リスクが大幅に低減される
- 多様なモデルが利用可能で、テキスト生成、画像認識、音声認識、ツール呼び出しなど様々な用途に対応している
- API経由での連携が可能で、Unityなど他のシステムとの統合が容易に実現でき、ポート11434で常時待機している
Ollamaのモデルとドキュメント
- Ollama.com/searchでは、Gemini、Mistral、Qwen、GPT-4、DeepSeekなど多様なAIモデルを検索・ダウンロードできる
- コード生成に特化した「Coder」モデルは、会話は苦手だがプログラミング支援に優れ、Gitコミット前のコード検証などに活用可能である
- IBM社のGraniteモデルは多言語対応に優れており、わずか1.4GBの2Bモデルでも日本語を理解し適切に応答できる
- ドキュメントは英語だが充実しており、クイックスタート、画像認識、深い思考、Web検索などの機能が明確に説明されている
- MetaのLlamaなど主要モデルは更新後2日程度でOllamaに対応し、アプリケーションを公開する感覚でAIモデルが公開される時代になっている
Ollamaの動作確認とUnityプロジェクト準備
- Ollamaの動作確認として、localhost:11434/api/versionとlocalhost:11434/api/tagsのURLにアクセスし、バージョン情報とインストール済みモデルを確認する手順が説明された
- Granite 3.2Bモデルを一度会話で使用することで初回ダウンロードが実行され、「こんにちは」と入力すると1.4GBのダウンロードが開始される
- UnityプロジェクトはGitHubからZIPファイルでダウンロードし、解凍後にUnity Hubの「追加」機能でプロジェクトフォルダを指定して開く
- プロジェクト開く際は、エディターバージョンの違いに注意が必要で、既存のUnityバージョンで開けば新規インストールを回避できる
- 初回起動時は「Resolving packages」として多くのセットアップ処理が実行され、GitHubでの共有を軽量化するため不要なファイルは.gitignoreで除外されている
UnityとOpenAI APIの連携実装
- SampleSceneを開き、CubeEventスクリプトにOpenAI APIキー(SK-で始まりWUAで終わる)を設定することで、UnityからChatGPT APIに接続できるようになる
- マイクデバイスの設定が重要で、プレイボタンを押してコンソールに表示されるマイクデバイス一覧から適切な番号を確認し、RecordingTargetMicDeviceIDに設定する
- 多くの学生は1つのマイクデバイスのみでデフォルトの0で動作するが、複数デバイスがある場合は使用するマイクの番号を指定する必要がある
- キューブをクリックして録音開始、再度クリックで録音終了し、Whisper APIで文字起こし後、ChatGPTに質問が送信され回答が返される
- 録音中は赤色、AI処理中は青色、回答完了後は白色に変わる視覚的フィードバックが実装され、動作状態が分かりやすくなっている
OllamaローカルAIへの切り替えとデモ
- CubeEventスクリプトのコメントアウトを切り替えることで、OpenAI APIからOllama APIへの接続変更が簡単に実現できる
- Ollamaがタスクバーで起動していることを確認し、「Ollamaを使う場合」の行のコメントを外し、「OpenAI ChatGPTを使う場合」の行をコメントアウトする
- ローカルのGraniteモデルを使用することで、データをクラウドに送信せず、課金も発生せず、完全にプライベートな環境でAI会話が実現できる
- デモでは「新潟の天気はどうですか」という質問に対し、Graniteが日本語で「リアルタイム情報にアクセスできないため現在の天候を確認できません」と適切に応答した
- この技術により、3Dキャラクターと無料でAI会話できる基盤が構築され、XR環境での没入型AIインタラクションへの応用が可能になる
課題提出と今後の展開
- 今日の課題は、OllamaとUnityの連携に成功し、コンソールにメッセージが表示されたスクリーンショットを提出することである
- この技術の本質は、四角いボックスではなく3Dキャラクターと置き換えることで、XR環境でキャラクターとAI会話が実現できる点にある
- クラウドAIではなくローカルAIを使用することで、課金なしで無料でAI機能の検証と実装が可能になる利点が強調された
- 昼食後の2限目では、この基礎技術を活用した田中先生のライブデモが予定されており、より高度な応用例が紹介される
- 学生は教材を参考に各自のペースで進めることができ、インストール中の学生は昼食を取りながら作業を継続できる柔軟な進行となった