Ragas 0.4.4への更新方法|importエラーの解消と画像読み込みの確認手順

Ragasを入れ直したらimport ragasで止まる、更新後から画像付き評価のスコアが変わった。2026年11月14日12時06分(日本時間)公開のRagas 0.4.4では、この2つに関わる修正と仕様変更が入っています。まず実行環境を更新し、そのあと画像が想定どおり評価に渡っているかを確認しましょう。公式リリースノートが変更点をまとめています。

画像カードが保護された評価処理へ入り、許可フォルダーと外部ネットワークを分けて確認する概念図
画像の取得元を確認する評価ワークフローの生成イラスト。実際のRagasの画面ではありません。
目次

今回の変更は「起動」と「画像の取得元」を分けて考える

importエラーの原因の一つは、langchain-community 0.4以降で従来のVertexAIモジュールが削除されたことです。Ragas 0.4.3は起動時にこれを読み込むため、VertexAIを使わない構成でもModuleNotFoundErrorになる場合がありました。0.4.4では関連importが任意になっています。修正PR #2956で対象の例外と変更内容を確認できます。

一方、MultiModalFaithfulnessとMultiModalRelevanceでは、データセットのretrieved_contextsが画像URLやローカルパスを指すと、評価を動かすマシンが取得した内容をLLMへ送る経路がありました。0.4.4はCVE-2026-6587に対処し、Collections APIと従来APIの両方で取得先を制限します。CVEそのものは以前から公表されており、今回のニュースは修正版のリリースです。古い脆弱性データベースの記録に修正版なしと表示されても、更新日時と今回の公式発表を分けて読みます。

1.評価を動かすPython環境を特定して更新する

最初に、実際に使う仮想環境やコンテナーで次を実行します。import自体が失敗しても、パッケージ情報からインストール版を確認できます。

python -c "import sys; from importlib.metadata import version; print(sys.executable); print(version('ragas'))"

pipで管理している環境なら、0.4.4へ更新して依存関係とimportを確認します。以下は公式のpipによる導入方法を、今回の版に固定した例です。Poetryやuvなどで管理している場合は、プロジェクトの指定とロックファイルを更新してください。

python -m pip install --upgrade "ragas==0.4.4"
python -m pip check
python -c "import ragas; from importlib.metadata import version; print(version('ragas'))"

Notebookではカーネル、常駐評価ではワーカーも再起動します。コンテナー運用なら、イメージを作り直して実際の実行先へ配布します。ターミナルで0.4.4になっても、Notebookが別のPythonを使っていれば修正は届きません。pip checkの成功は依存関係の整合性の確認であり、画像評価の動作確認とは別です。

2.更新後に画像が読み込まれない理由を調べる

0.4.4では公開インターネット上の画像URLを基本とし、localhost・プライベート・リンクローカルの宛先を既定で拒否します。ローカル画像も既定では読みません。読み込まれない画像参照は文字列としてモデルへ渡ります。Collectionsのローダーでは、内部URLの拒否やローカルアクセス無効の理由がログに記録されます。ログがないことだけでも、画像が渡ったとは判断できません。利用APIと入力の扱いも確認してください。処理が完走したことだけで「画像を評価できた」と判断しないでください。公式の画像読み込みルールに詳しい説明があります。

  1. 機密情報のない、内容を把握した少数の評価サンプルを用意します。
  2. 画像の参照先を公開URL・ローカルパス・社内URLに分け、期待する扱いを記録します。
  3. 通常の評価を実行し、画像取得拒否やローカルアクセス無効のログを確認します。
  4. 画像が渡った条件をそろえてから結果を比較します。画像が文字列に変わった評価を、従来の画像付き評価と同じ条件として集計しないようにします。

この確認は読者の環境で行う手順です。本記事で実データやLLM呼び出しを実行した結果ではありません。

3.信頼できるローカル画像だけを使う場合

ローカル画像が必要なら、すべてのcontextを信頼できる評価に限り、対象画像専用の実在フォルダーを指定します。下のパスは自分の環境へ置き換え、評価開始前に設定してください。これは環境変数ではなくPythonモジュールの設定です。

import ragas.prompt.multi_modal_prompt as image_policy

image_policy.ALLOW_LOCAL_FILE_ACCESS = True
image_policy.ALLOWED_IMAGE_BASE_DIR = "/data/eval_images"
image_policy.ALLOW_INTERNAL_TARGETS = False

Collections側では相対パスは許可フォルダーを基準に解決され、解決結果が外へ出るパスは拒否されます。許可フォルダーが未設定・存在しない、ファイルがない、画像として読めない場合も確認が必要です。0.4.4の実装で制限を確認できます。ユーザーフォルダー全体や共有ドライブ全体を許可するより、評価に必要な画像だけを集めた場所を使います。

プロキシとスコア比較で残る注意点

直接接続では接続先IPとリダイレクト先を確認しますが、HTTPプロキシだけが名前解決できるホストについては、画像チェックから最終宛先を確認できない制約があります。更新だけであらゆる社内接続を防げると考えず、プロキシ側の到達先制限も確認してください。セキュリティ修正PR #3105に接続経路の違いが説明されています。

また0.4.4にはLLM連携の変更も含まれるため、スコア差の原因を画像だけに決めつけないことが大切です。実行版、使用モデル、設定、画像取得ログを一緒に残せば、importの復旧と評価条件の変化を切り分けられます。確認の順番は、実行版→import→画像ログ→同じ条件での少数評価です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次