メインコンテンツへスキップ
W&B Weave は、信頼性の高い LLM アプリケーションを構築するためのオブザーバビリティおよび評価プラットフォームです。Weave を使うと、AI アプリケーションで何が起きているのかを把握し、パフォーマンスを測定し、継続的かつ体系的に改善できます。 LLM アプリケーションの構築は、従来のソフトウェア開発とは本質的に異なります。LLM の出力は非決定的なため、デバッグは難しくなります。品質は主観的で、コンテキストにも左右されます。プロンプトを少し変えただけでも、予期しない挙動の変化が生じることがあります。従来のテスト手法だけでは十分ではありません。

Weaveの主要な機能

Weaveは、次の中核機能を提供します。
  • アプリケーション内のあらゆるLLM call、入力、出力を可視化
  • 厳選されたテストケースに対してパフォーマンスを測定するための体系的な評価
  • 何が変更されたのかを把握できるようにする、プロンプト、Models、データのバージョン追跡
  • さまざまなプロンプトやモデルを比較するための実験
  • 人による判断やアノテーションを収集するためのフィードバック収集
  • LLMの安全性と品質を確保するために、ガードレールとスコアラーを使って本番環境で行うモニタリング

トレース

LLMアプリケーション内でデータがエンドツーエンドでどのように流れるかをトラッキングします。
  • アプリケーションの各利用における入力と出力を確認できます。
  • LLMのフィードバックの生成に使用されたソースドキュメントを確認できます。
  • LLM callsのコスト、token数、レイテンシを確認できます。
  • 特定のプロンプトや、回答がどのように生成されるかを詳しく確認できます。
  • ユーザーからの応答に対するフィードバックを収集できます。
  • コードでは、関数が何をしているかをトラッキングするために、Weaveのops and callsを使用できます。
トレースのクイックスタート

評価

LLM アプリケーションのパフォーマンスを体系的にベンチマークし、自信を持って本番環境にデプロイできます。
  • どのバージョンのモデルやプロンプトが、どのようなパフォーマンスにつながったかを簡単にトラッキングできます。
  • 1 つ以上のスコアリング関数を使って応答を評価するためのメトリクスを定義できます。
  • 複数のメトリクスにわたって、2 つ以上の異なる評価を比較できます。特定のサンプルのパフォーマンスを見比べることもできます。
評価パイプラインを構築する

あらゆるものをバージョン管理

Weave は、プロンプト、データセット、モデルの設定をバージョン管理します。何か問題が起きたときは、何が変わったのかを正確に確認できます。うまくいったときは、その状態を再現できます。 バージョン管理について詳しく見る

プロンプトとモデルを試す

APIキーを用意すれば、Weave Playground ですばやくプロンプトをテストし、さまざまな商用モデルの応答を比較できます。 Weave Playground で試す

フィードバックを収集する

本番環境での利用を通じて、人によるフィードバック、アノテーション、修正を収集します。このデータを使用して、より良いテストケースを作成し、アプリケーションを改善します。 フィードバックを収集する

本番環境を監視する

評価で使用するのと同じscorerで本番トラフィックをスコアリングします。問題がユーザーに届く前に検知できるよう、ガードレールを設定します。 ガードレールとモニターを設定する

Weave を使い始める

Weave は Python と TypeScript 向けの SDK を提供しています。どちらの SDK も、トレース、評価、データセット、および Weave の中核機能をサポートしています。クラスベースの Models や Scorers など、一部の高度な機能は現在 Weave TypeScript SDK では利用できません。 Weave を使い始めるには、次の手順に従います。
  1. https://wandb.ai/site で Weights & Biases アカウントを作成し、https://wandb.ai/authorize で APIキーを取得します
  2. Weave をインストールします:
pip install weave
  1. スクリプトで Weave を import し、プロジェクトを初期化します:
import weave
client = weave.init('your-team/your-project-name')
これで Weave を使う準備が整いました。 Weave は主要な LLM プロバイダーやフレームワークと統合できます。サポートされているインテグレーション を使用すると、追加のコード変更なしで Weave が LLM の呼び出しを自動的にトレースします。
  1. サポートされているインテグレーションを利用する以外にも、関数に 1 行追加するだけで、カスタム関数のトレースを Weave にログすることもできます。
Python では関数を @weave.op() でデコレートし、TypeScript では weave.op() でラップすると、Weave はそのコード、入力、出力、実行メタデータを自動的に取得します。
    @weave.op
    async def my_function(){
      ...  }
ガイド付きチュートリアルで試すには、トレースのクイックスタート を参照してください。