概要
Google Geminiは、Google社が提供する最先端の大規模言語モデル(LLM)です。 Fess ではGoogle AI API(Generative Language API)を使用してGeminiモデルによるAIモード機能を実現できます。
Geminiを使用することで、Googleの最新AI技術を活用した高品質な回答生成が可能になります。
主な特徴
マルチモーダル対応: テキストだけでなく画像も処理可能
長いコンテキスト: 大量の文書を一度に処理できる長いコンテキストウィンドウ
コスト効率: Flashモデルは高速かつ低コスト
Google統合: Google Cloudサービスとの連携が容易
対応モデル
Geminiで利用可能な主なモデル:
gemini-2.5-flash- 高速で効率的なモデル(推奨)gemini-2.5-pro- より高い推論能力を持つモデルgemini-1.5-flash- 安定版のFlashモデルgemini-1.5-pro- 安定版のProモデル
注釈
利用可能なモデルの最新情報は Google AI for Developers で確認できます。
前提条件
Geminiを使用する前に、以下を準備してください。
Googleアカウント: Googleアカウントが必要
Google AI Studioアクセス: https://aistudio.google.com/ にアクセス
APIキー: Google AI StudioでAPIキーを生成
APIキーの取得
Google AI Studio にアクセス
「Get API key」をクリック
「Create API key」を選択
プロジェクトを選択または新規作成
生成されたAPIキーを安全に保存
警告
APIキーは機密情報です。以下の点に注意してください:
バージョン管理システムにコミットしない
ログに出力しない
環境変数や安全な設定ファイルで管理する
基本設定
app/WEB-INF/conf/system.properties に以下の設定を追加します。
最小構成
# AIモード機能を有効にする
rag.chat.enabled=true
# LLMプロバイダーをGeminiに設定
rag.llm.type=gemini
# Gemini APIキー
rag.llm.gemini.api.key=AIzaSyxxxxxxxxxxxxxxxxxxxxxxxxx
# 使用するモデル
rag.llm.gemini.model=gemini-2.5-flash
推奨構成(本番環境)
# AIモード機能を有効にする
rag.chat.enabled=true
# LLMプロバイダー設定
rag.llm.type=gemini
# Gemini APIキー
rag.llm.gemini.api.key=AIzaSyxxxxxxxxxxxxxxxxxxxxxxxxx
# モデル設定(高速モデルを使用)
rag.llm.gemini.model=gemini-2.5-flash
# APIエンドポイント(通常は変更不要)
rag.llm.gemini.api.url=https://generativelanguage.googleapis.com/v1beta
# タイムアウト設定
rag.llm.gemini.timeout=60000
設定項目
Geminiクライアントで使用可能なすべての設定項目です。
| プロパティ | 説明 | デフォルト |
|---|---|---|
rag.llm.gemini.api.key | Google AI APIキー | (必須) |
rag.llm.gemini.model | 使用するモデル名 | gemini-2.5-flash |
rag.llm.gemini.api.url | APIのベースURL | https://generativelanguage.googleapis.com/v1beta |
rag.llm.gemini.timeout | リクエストのタイムアウト時間(ミリ秒) | 60000 |
環境変数での設定
セキュリティ上の理由から、APIキーを環境変数で設定することを推奨します。
Docker環境
docker run -e RAG_LLM_GEMINI_API_KEY=AIzaSy... codelibs/fess:15.5.0
docker-compose.yml
services:
fess:
image: codelibs/fess:15.5.0
environment:
- RAG_CHAT_ENABLED=true
- RAG_LLM_TYPE=gemini
- RAG_LLM_GEMINI_API_KEY=${GEMINI_API_KEY}
- RAG_LLM_GEMINI_MODEL=gemini-2.5-flash
systemd環境
/etc/systemd/system/fess.service.d/override.conf:
[Service]
Environment="RAG_LLM_GEMINI_API_KEY=AIzaSy..."
Vertex AI経由の使用
Google Cloud Platformを使用している場合、Vertex AI経由でGeminiを使用することもできます。 Vertex AIを使用する場合は、APIエンドポイントと認証方法が異なります。
注釈
現在の Fess はGoogle AI API(generativelanguage.googleapis.com)を使用しています。 Vertex AI経由での使用が必要な場合は、カスタム実装が必要になる場合があります。
モデルの選択ガイド
使用目的に応じたモデル選択の指針です。
| モデル | 速度 | 品質 | 用途 |
|---|---|---|---|
gemini-2.5-flash | 高速 | 高 | 一般的な用途、バランス重視(推奨) |
gemini-2.5-pro | 中速 | 最高 | 複雑な推論、高品質が必要な場合 |
gemini-1.5-flash | 高速 | 良好 | コスト重視、安定性重視 |
gemini-1.5-pro | 中速 | 高 | 長いコンテキストが必要な場合 |
コンテキストウィンドウ
Geminiモデルは非常に長いコンテキストウィンドウをサポートしています:
Gemini 1.5/2.5 Flash: 最大100万トークン
Gemini 1.5/2.5 Pro: 最大200万トークン
この特徴を活かして、より多くの検索結果をコンテキストに含めることができます。
# より多くのドキュメントをコンテキストに含める
rag.chat.context.max.documents=10
rag.chat.context.max.chars=20000
コストの目安
Google AI APIは使用量に基づいて課金されます(無料枠あり)。
| モデル | 入力(100万文字) | 出力(100万文字) |
|---|---|---|
| Gemini 1.5 Flash | $0.075 | $0.30 |
| Gemini 1.5 Pro | $1.25 | $5.00 |
| Gemini 2.5 Flash | 価格は変動する場合あり | 価格は変動する場合あり |
注釈
最新の価格と無料枠の情報は Google AI Pricing で確認してください。
レート制限
Google AI APIにはレート制限があります。Fess のレート制限機能と組み合わせて適切に設定してください。
# Fessのレート制限設定
rag.chat.rate.limit.enabled=true
rag.chat.rate.limit.requests.per.minute=10
無料枠の制限
Google AI APIには無料枠がありますが、以下の制限があります:
リクエスト/分: 15 RPM
トークン/分: 100万 TPM
リクエスト/日: 1,500 RPD
トラブルシューティング
認証エラー
症状: APIキー関連のエラーが発生する
確認事項:
APIキーが正しく設定されているか確認
APIキーがGoogle AI Studio上で有効か確認
APIキーに必要な権限があるか確認
APIがプロジェクトで有効化されているか確認
レート制限エラー
症状: 「429 Resource has been exhausted」エラーが発生する
解決方法:
Fess のレート制限を厳しく設定:
rag.chat.rate.limit.requests.per.minute=5
数分待ってから再試行
必要に応じてクォータの引き上げをリクエスト
リージョン制限
症状: サービスが利用できないというエラー
確認事項:
Google AI APIは一部の地域でのみ利用可能です。サポートされる地域については Googleのドキュメントを確認してください。
タイムアウト
症状: リクエストがタイムアウトする
解決方法:
タイムアウト時間を延長:
rag.llm.gemini.timeout=120000
Flashモデル(より高速)の使用を検討
デバッグ設定
問題を調査する際は、Fess のログレベルを調整してGemini関連の詳細なログを出力できます。
app/WEB-INF/classes/log4j2.xml:
<Logger name="org.codelibs.fess.llm.gemini" level="DEBUG"/>
セキュリティに関する注意
Google AI APIを使用する際は、以下のセキュリティ事項に注意してください。
データプライバシー: 検索結果の内容がGoogleのサーバーに送信されます
APIキーの管理: キーの漏洩は不正利用につながります
コンプライアンス: 機密データを含む場合は、組織のポリシーを確認
利用規約: Googleの利用規約とAcceptable Use Policyを遵守
参考情報
LLM統合の概要 - LLM統合の概要
AIモード機能の設定 - AIモード機能の詳細