Skip to main content
Colab で開く Weave のローカルScorerは、最小限のレイテンシでローカルマシン上で動作する小規模言語モデル群です。これらのモデルは、AI システムの入力、コンテキスト、出力の安全性と品質を評価します。 このページでは、Weave のローカルScorerを使用して AI システムの安全性と品質を評価する方法を説明し、利用可能な各 Scorer について、使用上のメモと例とともに紹介します。このガイドを使用して、ユースケースに適した Scorer を選択し、依存関係をインストールし、AI システムの入力、コンテキスト、または出力に Scorer を追加してください。 W&B はこれらのモデルの一部をファインチューニングしており、その他はコミュニティによってトレーニングされた最先端のオープンソースモデルです。W&B Reports には、トレーニングと評価のプロセスが記載されています。詳細は、この W&B Reports の一覧を参照してください。 モデルの重みは W&B Artifacts で公開されており、Weave は Scorerクラスをインスタンス化すると自動的にそれらをダウンロードします。自分でダウンロードするには、weave.scorers.default_models の artifact パスを参照してください。 これらのScorerが返すオブジェクトには、入力テキストが安全または高品質かどうかを示す passed という真偽値属性と、モデルの生のスコアなど、より詳細な情報を含む metadata 属性が含まれます。 ローカルScorerは CPU でも実行できますが、最高のパフォーマンスを得るには W&B は GPU の使用を推奨します。
ローカルScorerは Weave Python SDK でのみ利用できます。Weave TypeScript SDK ではまだ利用できません。TypeScript で Weave Scorerを使用するには、関数ベースのScorerを参照してください。

前提条件

Weave のローカルScorer を使用する前に、必須の Scorer ライブラリを含む追加の依存関係をインストールしてください。
依存関係をインストールしたら、評価に使用する Scorer を選択できます。

Scorerを選択

以下のローカルScorerが利用可能です。ユースケースに応じてScorerを選択し、使用上のメモと例については、以下の対応するセクションに進んでください。

WeaveBiasScorerV1

このScorerは、性別および人種または出身に関するバイアスを、次の 2 つの観点から評価します。
  • 人種と出身: 人種差別、および出身国や地域、移民ステータス、または民族性に対するバイアス。
    • ジェンダーとセクシュアリティ: 性差別、女性差別、同性愛嫌悪、トランスジェンダー嫌悪、またはセクシュアルハラスメント。
WeaveBiasScorerV1 は、ファインチューニング済みの deberta-small-long-nli モデルを使用します。モデル、データセット、およびキャリブレーションプロセスの詳細については、WeaveBiasScorerV1 W&B Report を参照してください。

使用上の注意

  • score method では、output パラメーターに文字列を渡す必要があります。
    • score が高いほど、そのテキストにバイアスが含まれているという予測が強いことを意味します。
    • threshold パラメーターは設定済みですが、初期化時に上書きすることもできます。

使用例


WeaveToxicityScorerV1

このScorerは、入力テキストの有害性を次の 5 つの観点で評価します。
  • 人種と出身: 人種差別や、出身国・地域、移民ステータス、または民族性に対する偏見。
    • ジェンダーとセクシュアリティ: 性差別、女性蔑視、同性愛嫌悪、トランスジェンダー嫌悪、またはセクシュアルハラスメント。
    • 宗教: 個人の宗教に対する偏見や固定観念。
    • 能力: 身体的、精神的、または知的な能力や障害に関する偏見。
    • 暴力と虐待: 過度に生々しい暴力描写、暴力の脅迫、または暴力の扇動。
WeaveToxicityScorerV1 は、PleIAs のオープンソースの Celadon モデルを使用します。詳細は、WeaveToxicityScorerV1 W&B Reportを参照してください。

使用上のメモ

  • score method では、output パラメーターに文字列を渡す必要があります。
    • モデルは、5 つの異なるカテゴリに対して 0 から 3 のスコアを返します。
      • これらのスコアの合計が total_threshold (デフォルト値は 5) を超える場合、入力は有害であると判定されます。
      • いずれか 1 つのカテゴリのスコアが category_threshold (デフォルトは 2) を超える場合、入力は有害であると判定されます。
    • フィルタリングをより厳しくするには、初期化時に category_threshold または total_threshold を上書きします。

使用例


WeaveHallucinationScorerV1

このScorerは、入力データに基づいて AI システムの出力にハルシネーションが含まれているかどうかを確認します。 WeaveHallucinationScorerV1 は、Vectara のオープンソースの HHEM 2.1 モデル を使用します。詳細は、WeaveHallucinationScorerV1 W&B Reportをご覧ください。

使用時のメモ

  • score method では、query パラメーターと output パラメーターに値を渡す必要があります。
    • コンテキストは output パラメーターに渡します (文字列または文字列のリストとして) 。
    • output のスコアが高いほど、その出力にハルシネーションが含まれている可能性が高いことを示します。
    • threshold パラメーターにはデフォルト値が設定されていますが、初期化時に上書きできます。

使用例


WeaveContextRelevanceScorerV1

このScorerを使用して、RAG システムを評価します。コンテキストがクエリにどの程度関連しているかを評価します。 WeaveContextRelevanceScorerV1 は、tasksource のファインチューニング済み deberta-small-long-nli モデルを使用します。詳細は、WeaveContextRelevanceScorerV1 W&B Report を参照してください。

使用に関するメモ

  • score method では、queryoutput の値を指定する必要があります。
    • コンテキストは output パラメーターに渡します (文字列または文字列のリスト) 。
    • スコアが高いほど、そのコンテキストがクエリに関連しているという予測がより強いことを意味します。
    • score method に verbose=True を渡すと、チャンクごとのスコアを取得できます。

使用例


WeaveCoherenceScorerV1

このScorerは、入力テキストに一貫性があるかどうかを確認します。 WeaveCoherenceScorerV1 は、tasksource のファインチューニング済み deberta-small-long-nli モデルを使用します。詳細は、WeaveCoherenceScorerV1 W&B Reportを参照してください。

使用上のメモ

  • score method は、query パラメーターと output パラメーターにテキストが渡されることを想定しています。
    • 出力スコアが高いほど、一貫性が高いという予測がより強いことを示します。

使用例


WeaveFluencyScorerV1

このScorerは、入力テキストが流暢、つまり読みやすく自然な人間の言語に近いかどうかを判定します。文法、構文、全体的な読みやすさを評価します。 WeaveFluencyScorerV1 は、AnswerDotAI のファインチューニング済み ModernBERT-base モデルを使用します。詳細は、WeaveFluencyScorerV1 W&B Reportを参照してください。

使用時のメモ

  • score method には、output パラメーターにテキストを渡します。
    • 出力スコアが高いほど、流暢であることを示します。

使用例


WeaveTrustScorerV1

各Scorerを個別に実行するのではなく、複数のScorerを組み合わせた単一の信頼シグナルが必要な場合は、このScorerを使用します。 WeaveTrustScorerV1 は、RAG システム向けの複合Scorerで、他のScorerを Critical と Advisory の 2 つのカテゴリに分類することで、モデル出力の信頼性を評価します。複合スコアに基づいて、次の信頼レベルを返します。
  • high: 問題は検出されない
    • medium: Advisory の問題のみが検出される
    • low: Critical の問題が検出される、または入力が空である
いずれかの Critical Scorerで失敗した入力は、low の信頼レベルになります。Advisory Scorerで失敗した場合は、medium になります。
  • Critical:
    • WeaveToxicityScorerV1
    • WeaveHallucinationScorerV1
    • WeaveContextRelevanceScorerV1
    • Advisory:
      • WeaveFluencyScorerV1
      • WeaveCoherenceScorerV1

使用上の注意

  • RAG パイプラインを評価するには、この Scorer を使用します。
    • 正しくスコアリングを行うには、querycontextoutput のキーが必要です。

使用例


PresidioScorer

このScorerは、Presidioライブラリ を使用して、AI システムの入力と出力に含まれる Personally Identifiable Information (PII) を検出します。

使用上のメモ

  • メールアドレスや電話番号などの特定のエンティティタイプを検出するには、Presidio エンティティのリストを selected_entities パラメーターに渡します。指定しない場合、Presidio はデフォルトのエンティティリストに含まれるすべてのエンティティタイプを検出します。
    • custom_recognizers パラメーターには、presidio.EntityRecognizer インスタンスのリストとしてカスタム認識器を渡せます。
    • 英語以外の入力を処理するには、language パラメーターを使用して言語を指定します。

使用例