gemma4:e4bでRAGを試す【Ollama+LangChain】

お疲れ様です。

GoogleからGemma4がリリースされたので、今回はこちらを試してみたいと思います。

blog.google

gpt-ossを使用して作成したRAGのコードを使用します。 Gemma4はOllamaで簡単に使用することができる のでかなり手が出しやすいです。爆速で対応してくれたOllamaにも感謝。 Ollamaを最新版にしないとモデルのダウンロードができないようなので、最新版に更新しておきましょう。

  • 以前の記事(併せてどうぞ)

fallpoke-tech.hatenadiary.jp

  • ソースコード

github.com

Gemma4の導入

まずはOllamaでGemma4のモデルをダウンロードします。 Gemma4は4種のモデルがありますが実行環境のGPUがRTX4060tiのVRAM16GBなので、それで動作するモデルサイズの"gemma4:e4b"を指定しました。

ollama pull gemma4:e4b

download

インストールが完了したら、一覧を確認。gpt-oss:20bと比べるとモデルサイズが小さいです。

ollama list

list

RAGを実行

早速RAGを実行してみました。 ソースコードの方はモデル名の指定だけ変更すればすぐに使用できます。

gpt-oss:20bの方も使用可能なので、そちらと比較してみます。

出力結果

RAGに使用したデータとプロンプトは同じ内容です。
コンテキストの内容が同じなので生成の内容自体は同じような感じですが、情報のまとめ方が異なります。

  • gemma4:e4b

rag_gemma4

  • opt-oss:20b

rag_gpt-oss

実行時間

それぞれのモデルでの返答生成の実行時間を計測してみました。3ターン程チャット形式で質問してみました。
gemma4:e4bの方がモデルサイズが小さいのもあるのか、返答までの時間が速いですね。 出力結果は大差ないので、gemma4:e4bでも十分な気がします。

  • gemma4:e4b

time_gemma4

  • opt-oss:20b

time_gpt-oss