概要
Ollamaは、ローカル環境で大規模言語モデル(LLM)を実行するためのオープンソースプラットフォームです。 Fess のデフォルトLLMプロバイダーとして設定されており、プライベート環境での利用に適しています。
Ollamaを使用することで、データを外部に送信せずにAIチャット機能を利用できます。
主な特徴
ローカル実行: データは外部に送信されず、プライバシーを確保
多様なモデル: Llama、Mistral、Gemma、CodeLlamaなど多数のモデルに対応
コスト効率: APIコストがかからない(ハードウェアコストのみ)
カスタマイズ: 独自にファインチューニングしたモデルも利用可能
対応モデル
Ollamaで利用可能な主なモデル:
llama3.3:70b- Meta社のLlama 3.3(70Bパラメーター)gemma3:4b- Google社のGemma 3(4Bパラメーター、デフォルト)mistral:7b- Mistral AI社のMistral(7Bパラメーター)codellama:13b- Meta社のCode Llama(13Bパラメーター)phi3:3.8b- Microsoft社のPhi-3(3.8Bパラメーター)
注釈
利用可能なモデルの最新リストは Ollama Library で確認できます。
前提条件
Ollamaを使用する前に、以下を確認してください。
Ollamaのインストール: https://ollama.com/ からダウンロードしてインストール
モデルのダウンロード: 使用するモデルをOllamaにダウンロード
Ollamaサーバーの起動: Ollamaが動作していることを確認
Ollamaのインストール
Linux/macOS
curl -fsSL https://ollama.com/install.sh | sh
Windows
公式サイトからインストーラーをダウンロードして実行します。
Docker
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
モデルのダウンロード
# デフォルトモデル(Gemma 3 4B)をダウンロード
ollama pull gemma3:4b
# Llama 3.3をダウンロード
ollama pull llama3.3:70b
# モデルの動作確認
ollama run gemma3:4b "Hello, how are you?"
基本設定
app/WEB-INF/conf/system.properties に以下の設定を追加します。
最小構成
# AIモード機能を有効にする
rag.chat.enabled=true
# LLMプロバイダーをOllamaに設定
rag.llm.type=ollama
# OllamaのURL(ローカル環境の場合)
rag.llm.ollama.api.url=http://localhost:11434
# 使用するモデル
rag.llm.ollama.model=gemma3:4b
推奨構成(本番環境)
# AIモード機能を有効にする
rag.chat.enabled=true
# LLMプロバイダー設定
rag.llm.type=ollama
# OllamaのURL
rag.llm.ollama.api.url=http://localhost:11434
# モデル設定(大規模モデルを使用)
rag.llm.ollama.model=llama3.3:70b
# タイムアウト設定(大規模モデル用に増加)
rag.llm.ollama.timeout=120000
設定項目
Ollamaクライアントで使用可能なすべての設定項目です。
| プロパティ | 説明 | デフォルト |
|---|---|---|
rag.llm.ollama.api.url | OllamaサーバーのベースURL | http://localhost:11434 |
rag.llm.ollama.model | 使用するモデル名(Ollamaにダウンロード済みのモデル) | gemma3:4b |
rag.llm.ollama.timeout | リクエストのタイムアウト時間(ミリ秒) | 60000 |
ネットワーク構成
Dockerでの構成
Fess とOllamaの両方をDockerで実行する場合の構成例です。
docker-compose.yml:
version: '3'
services:
fess:
image: codelibs/fess:15.5.0
environment:
- RAG_CHAT_ENABLED=true
- RAG_LLM_TYPE=ollama
- RAG_LLM_OLLAMA_API_URL=http://ollama:11434
- RAG_LLM_OLLAMA_MODEL=gemma3:4b
depends_on:
- ollama
# ... その他の設定
ollama:
image: ollama/ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
volumes:
ollama_data:
注釈
Docker Compose環境では、ホスト名として ollama を使用します(localhost ではなく)。
リモートOllamaサーバー
OllamaをFessとは別のサーバーで実行する場合:
rag.llm.ollama.api.url=http://ollama-server.example.com:11434
警告
Ollamaはデフォルトで認証機能を持たないため、外部からアクセス可能にする場合は ネットワークレベルでのセキュリティ対策(ファイアウォール、VPN等)を検討してください。
モデルの選択ガイド
使用目的に応じたモデル選択の指針です。
| モデル | サイズ | 必要VRAM | 用途 |
|---|---|---|---|
phi3:3.8b | 小 | 4GB以上 | 軽量環境、シンプルな質問応答 |
gemma3:4b | 小〜中 | 6GB以上 | バランスの良い汎用用途(デフォルト) |
mistral:7b | 中 | 8GB以上 | 高品質な回答が必要な場合 |
llama3.3:70b | 大 | 48GB以上 | 最高品質の回答、複雑な推論 |
GPU対応
OllamaはGPUアクセラレーションをサポートしています。NVIDIAのGPUを使用することで、 推論速度が大幅に向上します。
# GPU対応の確認
ollama run gemma3:4b --verbose
トラブルシューティング
接続エラー
症状: チャット機能でエラーが発生する、LLMが利用不可と表示される
確認事項:
Ollamaが動作しているか確認:
curl http://localhost:11434/api/tags
モデルがダウンロードされているか確認:
ollama list
ファイアウォールの設定を確認
モデルが見つからない
症状: 「Configured model not found in Ollama」というログが出力される
解決方法:
モデル名が正確か確認(
:latestタグを含める場合がある):# モデル一覧を確認 ollama list
必要なモデルをダウンロード:
ollama pull gemma3:4b
タイムアウト
症状: リクエストがタイムアウトする
解決方法:
タイムアウト時間を延長:
rag.llm.ollama.timeout=120000
より小さなモデルを使用するか、GPU環境を検討
デバッグ設定
問題を調査する際は、Fess のログレベルを調整してOllama関連の詳細なログを出力できます。
app/WEB-INF/classes/log4j2.xml:
<Logger name="org.codelibs.fess.llm.ollama" level="DEBUG"/>
参考情報
LLM統合の概要 - LLM統合の概要
AIモード機能の設定 - AIモード機能の詳細