Zenn
🐻

Gemma 3 で RAG 機能付きの安全なローカル AI チャット環境を構築する

2025/04/07に公開
5

1. はじめに


出典:https://developers.googleblog.com/ja/introducing-gemma3/

近年、大規模言語モデル(以下 LLM)の進化は目覚ましく、その性能向上と共に、クラウドだけでなく一般的な PC やノートパソコンでの実行も現実的になってきました。Mistral AI などがローカル実行可能なモデルを提供する中、2025 年 3 月 12 日に Google が公開した「Gemma 3」は、高性能かつ一般ユーザーの PC でも動作する軽量な LLM として大きな注目を集めています。

Gemma 3 は Gemini 2.0 の技術をベースにした高性能なモデルで、1B、4B、12B、27B の 4 つのサイズが用意され、様々なハードウェア環境に対応できるよう設計されています。実際、Chatbot Arena の Elo スコアでは、より大規模なモデルと比較しても遜色ない性能を発揮しつつ、必要なリソースは大幅に少なくなっています。


出典:https://ollama.com/library/gemma3

本記事では、一般的なローカル環境(動作検証には MacBook Pro を使用)で Gemma 3 を動かす方法を、Ollama と呼ばれるローカル LLM 実行ツールと Open WebUI というブラウザインターフェースを使って解説します。

Gemma 3 とローカル LLM の活用メリット

ローカル環境で Gemma 3 のような LLM を動かす主なメリットは以下の 4 つです。

  1. プライバシーの確保
    • すべてのデータ処理がデバイス内で完結するため、機密情報や個人情報を安心して取り扱える
  2. インターネット接続不要
    • 一度モデルをダウンロードすれば、オフライン環境でも利用可能
  3. コスト削減
    • クラウドサービスの従量課金と違い、初期ダウンロードと電力消費以外の継続的コストがない
  4. レイテンシ低減
    • ネットワーク遅延がなく、特に対話的な用途ではレスポンスの速さを体感できる

2. Gemma 3 について

Gemma 3 とは

Gemma 3 は 2025 年 3 月 12 日に Google が公開した新しい AI モデルです。無料で使えるオープンソースモデルで、「自分のパソコンで動かせる高性能 AI」をコンセプトにしています。

  • 手元の PC で動く
    • 従来のような高性能サーバーがなくても使える
  • サイズのバリエーション
    • 性能とスペックのバランスで選べる 4 種類のサイズ
  • 商用利用 OK
    • Apache 2.0 ライセンスで、個人利用から商用まで自由に使える

4 つのサイズ

Gemma 3 は PC のスペックに合わせて選べる 4 種類のサイズがあります。

モデルサイズ パラメータ数 動作させる環境 特徴
1B 10 億 モバイル、ノート PC 最も軽量・高速、基本的な会話や質問応答
4B 40 億 一般的なノート PC バランスの良い性能、画像認識も可能
12B 120 億 高性能ノート PC・デスクトップ 高度な推論、より複雑な質問に対応
27B 270 億 高性能デスクトップ・ワークステーション 最高の性能、専門的な内容も理解

※ パラメータ数:AI の「脳の大きさ」を表す数値。数が多いほど高性能だが、必要な処理性能も高くなる

Gemma 3 の主な特徴

画像も理解できる

4B 以上のモデルではマルチモーダル機能を搭載しており、テキストだけでなく画像も理解できます。画像を見せて「これは何ですか?」と質問したり、画像の内容について詳しく説明させたりできます。1B モデルはテキストのみの対応となっています。

長い文章を扱える

1B モデルは最大 32,000 トークン、4B 以上のモデルでは最大 128,000 トークン(約 10 万単語相当)の長さの文章を一度に処理できます。長い文書の要約や、詳細な指示を含む複雑な会話も可能です。

多言語対応

1B モデルは英語のみの対応ですが、4B 以上のモデルでは 140 以上の言語に対応しており、英語だけでなく日本語でも高い性能を発揮します。

省メモリ版が使える

元のモデルを圧縮した「量子化バージョン」が提供されており、性能をあまり落とさずにメモリ使用量を大幅に減らせます。これにより、より少ないリソースでも動作可能です。

3. 必要な環境

ここでは Gemma 3 をローカル環境で動かすために必要な環境を簡潔に説明します。一般的なパソコンでも動かせますが、モデルサイズによって必要なスペックが変わります。

ハードウェア要件

必要リソースの目安

こちらはモデルごとに必要なリソースの目安を表にしたものです。公式が発表しているものではなく、あくまで私がネット上の声を拾って作成したものであるため、正確性に欠ける部分がある点についてはご容赦ください。

モデル CPU GPU メモリ ストレージ
1B マルチコアプロセッサー オプション(CPU 単体でも十分) 8GB 以上 約 1GB
4B マルチコアプロセッサー RTX 3050(8GB)以上推奨 16GB 以上 約 4GB
12B 高性能マルチコアプロセッサー RTX 3060(12GB)以上推奨 24GB 以上 約 9GB
27B 高性能マルチコアプロセッサー RTX 4090(24GB)以上推奨 32GB 以上 約 18GB

筆者の環境(参考)

  • MacBook Pro 14 インチ 2021
    • M1 Pro
    • 16GB RAM

ソフトウェア要件

  • 対応 OS:Windows 10/11、macOS 11.0 以降、Linux
  • 必要なソフトウェア
    • Ollama:LLM 実行エンジン(バージョン 0.6 以降)
    • Open WebUI:ブラウザベースの UI(オプション)
    • Docker:Open WebUI をコンテナで実行する場合

注意点

  • ノート PC では電源接続を推奨(電力消費が大きい)
  • 実行中は発熱するため、冷却が必要になる可能性あり
  • 初めて試す場合は小さいモデル(1B または 4B)から始めるのがおすすめ

4. Ollama について

Ollama とは

Ollama は LLM をローカル環境で簡単に実行するためのオープンソースツールです。複雑な環境構築なしで高性能な言語モデルを利用できます。シンプルな CLI と API を備え、多くのアプリケーションと連携可能な設計になっています。

Ollama の主な特徴

ローカル実行

ローカル環境でモデルを直接実行するため、データが外部に送信されることはありません。セキュリティ面で安心です。

シンプルな操作性

専門的な知識がなくても、モデルのダウンロードと実行がコマンド一つでできるので、簡単に使い始められます。

多様なモデル対応

Gemma 3 や Llama 3 をはじめ、Mistral、DeepSeek-R1 など様々なオープンソース LLM を使えます。テキスト処理だけでなく、LLaVA や Bakllava といった画像認識モデルも使用可能です。

ハードウェアリソースの最適化

PC に搭載されている CPU や GPU を自動的に検出し、最適な設定で動作するため、お使いの環境で最大限の性能を引き出せます。

Ollama の主な機能

モデル管理

Ollama では以下のような簡単なコマンドでモデルを管理できます。

# モデルのダウンロード
ollama pull gemma3:4b

# モデルの実行
ollama run gemma3:4b

# 利用可能なモデル一覧の表示
ollama list

API 連携

Ollama は RESTful API を提供しており、さまざまなアプリケーションやプログラミング言語から利用できます。

# APIリクエストの例(curlコマンド)
curl -X POST http://localhost:11434/api/generate -d '{
  "model": "gemma3:4b",
  "prompt": "クラウドエース株式会社について説明してください。"
}'

この API を使うと、次のようなことが手軽に実行できます。

  • テキスト生成
  • 会話
  • エンベディング生成(文章を数値ベクトルに変換)
  • ツール呼び出し(対応モデルのみ)
  • モデル管理(ダウンロード、リスト表示、削除など)

これらの API により、Ollama はウェブアプリケーション、デスクトップアプリ、スマートフォンアプリなど、さまざまなソフトウェアと連携できます。次のセクションで紹介する Open WebUI もこの API を活用して Ollama と連携しています。

5. Open WebUI について

Open WebUI とは

Open WebUI を使えば、ブラウザ上から GUI 操作だけで Ollama の機能を簡単に利用できます。わかりやすく言うと、ChatGPT のような一般的な AI チャットの画面で、Ollama で動かしている AI モデルと会話したり、設定を調整したりすることができます。

Open WebUI の主な特徴

使いやすいインターフェース

ブラウザ上で操作できるシンプルなデザインで、ChatGPT などの AI 系サービスと似た UI ということもあり、何も調べずに使い始められる方も多いかと思います。

Ollama との連携

Ollama で利用可能なモデルを自動的に検出して表示してくれます。モデルの切り替えも画面上でワンクリックで行えるので、複数のモデルを比較しながら使うのにも便利です。

便利な会話機能

会話の履歴が自動的に保存されるので、以前の対話内容を簡単に振り返ることができます。コードは色分け表示されて読みやすく、よく使うプロンプトはテンプレートとして保存できます。また、後のセクションで紹介しますが、システムプロンプトやその他の詳細設定機能も兼ね備えているため、かなり凝った使い方も可能です。

プライバシーと簡単セットアップ

すべてのデータがローカル環境で処理されるので、機密情報を扱う場合でも安心です。Docker を使ったセットアップ方法が用意されているので、環境構築も簡単に行えます。

Open WebUI の主な機能

チャットインターフェース

  • 複数の会話履歴(チャット)を作成・管理
  • チャットごとに異なるモデルを選択
  • 画像付きのプロンプト送信(マルチモーダルモデルを使用時)
  • レスポンスの生成を途中でキャンセル
  • 会話の共有やエクスポート

モデル管理

  • 利用可能なモデル一覧の表示
  • 新しいモデルのダウンロード(タグの指定も可能)
  • モデルの削除
  • モデルごとの設定(温度、コンテキスト長など)のカスタマイズ
  • モデル使用状況の確認

Ollama との連携

Open WebUI は Ollama の API を利用して連携します。

  1. API 接続設定
    • デフォルトでは http://localhost:11434/api に接続
    • ネットワークが異なる場合は接続先 URL を変更可能
  2. 認証設定
    • 必要に応じて API キーを設定可能
  3. モデル連携
    • Ollama が管理するモデルを自動的に検出・一覧表示
    • Open WebUI からモデルのダウンロードも可能

次は、これらのツールのインストール方法を見ていきましょう。

6. セットアップ手順

ここでは、私が検証した際の Ollama と Open WebUI、そして Gemma 3 のセットアップ手順を紹介します。変更される可能性もありますので、最新の情報は公式 HP とドキュメントを参照してください。

6.1 Ollama のセットアップ

  1. Ollama 公式サイトから Ollama をダウンロードしてインストールする
    • Mac では、ダウンロードした zip ファイルを解凍し、中身をアプリケーションフォルダに移動
  2. インストール後、Ollama を起動する

インストール確認

以下のコマンドを実行して Ollama が正しくインストールされたか確認します。

ollama --version

バージョン情報(例:ollama version is 0.6.2)が表示されれば、インストールは成功です。

6.2 Open WebUI のセットアップ

Open WebUI は Docker を使ってインストールします。

  1. まず、Ollama が起動していることを確認する
ollama --version
  1. 最新のイメージをプルする
docker pull ghcr.io/open-webui/open-webui:main
  1. コンテナを起動する
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main
  1. コマンド実行後、ブラウザで http://localhost:3000 にアクセスする

  2. 初回アクセス時にアカウントを作成し、次回以降はそのアカウントでログインする

6.3 Gemma 3 のダウンロード

  1. 以下のコマンドを実行して Gemma 3 の 4B モデルをプルする
ollama pull gemma3:4b
  1. ダウンロードが完了したら、以下のコマンドで実行してみる
ollama run gemma3:4b
  1. モデルが起動し、対話型のインターフェースが表示される
>>> Send a message (/? for help)

試しに Google Cloud について質問してみると、以下のような回答が約 18 秒で返ってきました。

>>> Google Cloudとは?
Google Cloud(グーグル クラウド)は、Googleが提供するクラウドコンピューティングサービスです。個人や企業が、サーバー、ストレージ、データベース、機械学習などのコンピューティングリソース
をインターネット経由で利用できるサービス群を指します。

**Google Cloudの主な特徴とサービス:**

*   **幅広いサービス:**
    *   **コンピューティング:** Google Compute Engine, Google Kubernetes Engine (GKE), Cloud Functions (サーバーレス) など、様々なコンピューティング環境に対応
    *   **ストレージ:** Cloud Storage (オブジェクトストレージ), Cloud SQL (データベース), Cloud Datastore (NoSQLデータベース) など、様々なストレージオプションを提供
    *   **ネットワーキング:** Virtual Private Cloud (VPC) など、安全なネットワーク環境を構築
    *   **データ分析:** BigQuery (データウェアハウス), Cloud Dataflow (データ処理) など、ビッグデータの分析を支援
    *   **機械学習:** TensorFlow, Cloud AI Platform など、機械学習モデルの開発・デプロイを支援
    *   **その他:**  マネージドサービス (データベース、ロードバランサーなど) が豊富で、運用管理の負担を軽減できます。

*   **スケーラビリティ:** 需要に応じてリソースを柔軟に拡張・縮小できるため、コスト効率が良いです。
*   **グローバルなインフラ:** 世界中にデータセンターが展開されており、どこからでもサービスを利用できます。
*   **セキュリティ:** 高度なセキュリティ機能が提供され、データの安全性を確保します。
*   **Paas(Platform as a Service)の強み:** アプリケーション開発・開発ツール(Cloud Build, Cloud Source Repositoriesなど)と連携し、DevOps環境の構築を支援。

**Google Cloudの利用例:**

*   **Webアプリケーションのホスティング:** WebサイトやWebアプリケーションをGoogle Cloud上で実行
*   **データ分析:** 大量のログデータやセンサーデータを分析し、ビジネスインサイトを得る
*   **機械学習モデルの構築・デプロイ:**  顧客の行動を分析したり、画像認識を行う機械学習モデルを開発・運用
*   **バックエンド処理:**  Webサイトやアプリケーションのバックエンド処理をGoogle Cloud上で実行

**Google Cloudの料金体系:**

*   **従量課金制:** 利用したリソースに応じて料金が発生します。
*   **無料枠:** 一部のサービスには無料枠が用意されています。
*   **スポットインスタンス:** 空きリソースを利用することで、インスタンスの料金を大幅に削減できます。

**Google Cloudの利用方法:**

*   **Google Cloud Console:** Webブラウザ上でGoogle Cloudのサービスを管理・操作するインターフェース
*   **Google Cloud SDK:** コマンドラインツールでGoogle Cloudのサービスを管理・操作

**より詳しい情報は以下の公式サイトで確認できます:**

*   **Google Cloud:** [https://cloud.google.com/](https://cloud.google.com/)

ご自身の利用状況や目的に合わせて、Google Cloudのサービス内容を検討してみてください。

Gemma 3 を終了したいときは、キーボードで [Ctrl] + [D] を押すか、/bye と入力してください。

>>> /bye

7. Open WebUI で Gemma 3 を使う

前のセクションでインストールした Open WebUI を使って、Gemma 3 モデルを操作する方法を解説します。ブラウザベースの使いやすいインターフェースで、より直感的に AI と対話できます。

7.1 Open WebUI へのアクセスとログイン

  1. Ollama と Open WebUI が起動していることを確認する
  2. Web ブラウザを開き、http://localhost:3000 にアクセスする
  3. 初回アクセス時に作成したユーザー名とパスワードでログインする
  4. ログイン後、チャットインターフェースが表示される

7.2 Gemma 3 モデルの選択と設定

  1. 画面左上のモデル選択ドロップダウンをクリックする
  2. 「gemma3:4b」をリストから選択する

モデルを追加したい場合は、以下のコマンドを実行することでダウンロードできます。

ollama pull <モデル>

7.3 テキストでの対話

  1. 画面下部のテキスト入力欄に質問や指示を入力する
  2. 「↑」ボタンをクリックするか、Enter キーを押して送信する

7.4 画像を使った対話(マルチモーダル機能)

Gemma 3 の 4B 以上のモデルはマルチモーダル機能をサポートしており、画像に関する質問や解析が可能です。

  1. 入力欄の左下にある「+」ボタンをクリックして追加するか、入力欄にドラッグ&ドロップするか、クリップボードの画像をペーストする
  2. 画像が添付された状態で送信する

7.5 高度な使い方

チャットコントロール

画面右上のチャットコントロールボタンから、言語モデルとの会話について詳細な設定が可能です。ここではシステムプロンプトの設定を例に紹介します。

システムプロンプトを設定することで、生成される回答を制御することが可能です。ただし、プロンプトの質や言語モデルの種類によって、制御できる程度は変わる点に注意が必要です。

例:

語尾には必ず「Google Cloudサイコー!」を付けてください。

RAG(検索拡張生成)

自分のドキュメントや知識ベースをアップロードして参照させることができます。

ここでは、Open WebUI 公式ドキュメントのチュートリアルに従って試してみましょう。

  1. Open WebUI ドキュメントを公式リポジトリからダウンロードする
  2. ダウンロードした main.zip ファイルを解凍しておく
  3. ナレッジベースを作成する
    • 画面左側メニューの「ワークスペース」から「ナレッジベース」タブを開く
    • 画面右の「+」をクリック
    • 名前に「Open WebUI ドキュメント」と入力し、目的に「補佐する」と入力する
    • 「ナレッジベース作成」をクリック
  4. 先ほど解凍したフォルダから .md および .mdx ファイルを、作成した「Open WebUI ドキュメント」ナレッジベースにドラッグ&ドロップする
    • Mac では、Finder で docs-main フォルダを開いた状態で *.md*.mdx で検索すれば簡単に絞り込み可能
  5. ファイルがアップロードされ、画面右にファイルリストが表示される
  6. 「ワークスペース」から「モデル」タブを選択し、画面右の「+」をクリックする
  7. モデルを設定する
    • 名前に「Open WebUI」と入力
    • 基本モデルは「gemma3:4b」を選択
    • 「ナレッジベース」で先ほど作成した「Open WebUI ドキュメント」を選択
    • 画面最下部の「保存して作成」をクリック

ここまで完了すると、追加したモデルが表示されるはずです。

新しいチャットを開き、先ほど追加したモデルを選択しましょう。

これで準備は完了です。Open WebUI について質問してみましょう。

数秒でナレッジベース内を検索したあと、しっかり参照元を示して回答してくれました。

このように RAG 機能を使うことで、特定の分野や資料に関する質問に対して、より正確で、参照元が明確な回答を得ることができます(完全にハルシネーションが消えるわけではない)。これらはすべてローカル環境で実行しているため、自社のマニュアルや非公開のドキュメントなど、セキュリティ的に厳しいものを読み込ませて使えるのが非常に便利だと感じました。

8. さいごに

8.1 まとめ

本記事では、Google が 2025 年 3 月に公開した軽量な大規模言語モデル「Gemma 3」について、以下の内容を解説しました。

  • Gemma 3 の特徴と 4 つのモデルサイズ(1B、4B、12B、27B)
  • Ollama と Open WebUI を使用したセットアップ手順
  • 公式のチュートリアルに基づいた RAG 機能の使用方法

ぜひみなさんも本記事を参考に、Ollama と Open WebUI を使って Gemma 3 や他の最新の LLM をローカル環境で使ってみてください。

8.2 所感

驚きの使いやすさ

私の Mac 上での動作検証では、予想を大きく上回る快適さで Gemma 3 を利用できました。DeepSeek R1 や V3 などの他のオープンソース LLM と比べて、処理性能の要求が低く、一般的な PC でも実用的に動作する Gemma 3 は、ローカル LLM の新しい可能性を感じさせてくれます。また、Ollama と Open WebUI の組み合わせにより、専門知識がなくても簡単に環境構築ができる点も大きな魅力でした。

様々な領域での活用に期待

ローカルで完結する AI 環境には、情報セキュリティとコスト面で大きなメリットがあります。特に、機密情報を含むドキュメントの処理や、API コール数を気にせず利用できる点は、企業での導入の障壁を大きく下げると考えられます。今後、Gemma 3 のような軽量で高性能な LLM の発展により、スマートフォンやエッジデバイスでの AI 活用も広がっていくことが期待できそうです。

個人的に期待していること

最近は Apple Intelligence や Galaxy AI など、スマートフォンに AI が搭載されるケースが増えてきました。それらの AI は、検索機能の拡充や文章作成の補助など、現在の活躍はかなり限定的です。そこで、Gemma 3 のような軽量で高性能な LLM が発展することで、より横断的で包括的な機能を備えた AI 搭載スマートフォン(もしかしたらスマートフォンである必要もないのかも)が登場することを心待ちにしています。

5

Discussion

ログインするとコメントできます