1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

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

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

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

📋 前提条件

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

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


🚀 Step 1: Ollama + Gemma3n 環境構築

1.1 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起動完了")

1.2 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()

📦 Step 2: DeepEval リポジトリの準備

2.1 リポジトリのクローン

# 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/

2.2 依存関係のインストール

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

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

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

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

3.1 .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

3.2 環境変数の確認

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', '未設定')}")

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

基本Judge評価

LiteLLMカスタムJudge

python 11_litellm_custom_judge.py

Langfuse連携日本語Judge

python 14_litellm_japanese_judge_langfuse.py

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


📊 Step 5: 高度な評価実行

5.1 複数観点での評価


🔄 Step 6: オリジナルスクリプトの実行

6.1 日本語Judge評価


🏆 まとめ

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

✅ 完了した項目

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?