Google ColabでGemma + DeepEval QA評価システム構築ガイド

チュートリアル

Google Colabの無料環境でGemma3nモデルを使い、DeepEvalによる高度なLLM as a Judge評価を実現する完全ガイドです。複雑な設定は不要で、環境変数変更だけでプロフェッショナルなQA評価システムが構築できます。

🎯 この記事で実現できること

  • 無料: Google Colabの無料GPUでGemma3n実行
  • シンプル: 環境変数変更だけで設定完了
  • 高機能: LLM as a Judge による多角的品質評価
  • 実用的: 日本語対応、バッチ処理、結果分析まで対応

📋 前提条件

  • Google アカウント
  • Google Colab へのアクセス
  • 基本的なPythonの知識(コピペでOK)

⚠️ 重要: ランタイムタイプを「T4 GPU」に設定してください


🚀 Ollama + Gemma3n 環境構築

Ollamaのインストールと起動

Google Colabで新しいノートブックを作成し、以下を実行:

# Ollamaをインストール
!curl -fsSL https://ollama.com/install.sh | sh

# バックグラウンドでOllamaサーバーを起動
import subprocess
import time

print("🚀 Ollamaサーバー起動中...")
process = subprocess.Popen(['ollama', 'serve'],
                          stdout=subprocess.PIPE,
                          stderr=subprocess.PIPE)
time.sleep(15)  # 起動完了まで待機
print("✅ Ollama起動完了")

Gemma3nモデルのダウンロード

# Gemma3n軽量版をダウンロード(Colab無料版に最適)
print("📥 Gemma3nモデルダウンロード中...")
!ollama pull gemma3n:e2b

# モデルの確認
import requests

def check_ollama_status():
    try:
        response = requests.get("http://localhost:11434/api/tags")
        if response.status_code == 200:
            models = response.json()
            print("✅ 利用可能なモデル:")
            for model in models.get('models', []):
                print(f"   - {model['name']}")
            return True
        else:
            print("❌ Ollamaサーバーに接続できません")
            return False
    except Exception as e:
        print(f"❌ エラー: {e}")
        return False

check_ollama_status()

📦 DeepEval リポジトリの準備

リポジトリのクローン

# DeepEval QA評価リポジトリをクローン
!git clone https://github.com/Sunwood-ai-labs/qa-evaluation-with-deepeval.git
%cd qa-evaluation-with-deepeval

# ディレクトリ構造の確認
print("📂 プロジェクト構造:")
!ls -la
print("\n📁 評価スクリプト一覧:")
!ls -la example/

依存関係のインストール

# 必要なライブラリをインストール
print("📦 依存関係インストール中...")
!pip install -r requirements.txt

# 追加で必要なライブラリ
!pip install matplotlib seaborn plotly kaleido

print("✅ 環境構築完了")

⚙️ 環境変数設定(重要)

.envファイルの作成

%cd example

# 環境変数ファイルを作成
env_content = """
# Gemma用の設定
LITELLM_MODEL=gemma3n:e2b
LITELLM_BASE_URL=http://localhost:11434/v1
LITELLM_API_KEY=dummy

# OpenAI互換設定(一部スクリプト用)
OPENAI_API_KEY=dummy
OPENAI_BASE_URL=http://localhost:11434/v1

# Langfuse設定(使わない場合は空でOK)
# LANGFUSE_SECRET_KEY=
# LANGFUSE_PUBLIC_KEY=
LANGFUSE_HOST=https://cloud.langfuse.com
"""

with open('.env', 'w') as f:
    f.write(env_content)

print("✅ 環境変数設定完了")
print("📄 設定内容:")
!cat .env

環境変数の確認

from google.colab import userdata
import os

os.environ['LANGFUSE_SECRET_KEY'] = userdata.get('LANGFUSE_SECRET_KEY')
os.environ['LANGFUSE_PUBLIC_KEY'] = userdata.get('LANGFUSE_PUBLIC_KEY')
# 環境変数を読み込んで確認
import os
from dotenv import load_dotenv

load_dotenv()

print("🔍 環境変数確認:")
print(f"LITELLM_MODEL: {os.environ.get('LITELLM_MODEL', '未設定')}")
print(f"LITELLM_BASE_URL: {os.environ.get('LITELLM_BASE_URL', '未設定')}")
print(f"OPENAI_BASE_URL: {os.environ.get('OPENAI_BASE_URL', '未設定')}")

🎯 既存スクリプトをそのまま実行

基本Judge評価

LiteLLMカスタムJudge

python 11_litellm_custom_judge.py

Langfuse連携日本語Judge

python 14_litellm_japanese_judge_langfuse.py

🎉 すべて環境変数でGemmaが自動的に使われます!


🏆 まとめ

このガイドでは、Google ColabでGemma3nとDeepEvalを組み合わせたLLM as a Judge評価システムを構築しました。

📒ノートブック

Google Colab

✅ 完了した項目

  • Ollama + Gemma3nの環境構築
  • DeepEvalリポジトリのセットアップ
  • 環境変数による簡単設定
  • 既存スクリプトの実行

コメント

タイトルとURLをコピーしました