このページに表示されているすべてのコードサンプルはPythonで書かれています。
概要
Hugging Face Hub は、クリエイターやコラボレーター向けの機械学習プラットフォームであり、さまざまなプロジェクト用の事前トレーニング済みモデルとデータセットの膨大なコレクションを提供しています。 このhuggingface_hub
Pythonライブラリは、Hub上でホストされているモデルに対して複数のサービスにわたる推論を実行するための統一されたインターフェースを提供します。これらのモデルはInferenceClient
.
Weaveは自動的にInferenceClient
のトレースをキャプチャします。追跡を開始するには、weave.init()
を呼び出し、通常通りライブラリを使用します。
前提条件
-
Weaveで
huggingface_hub
を使用する前に、必要なライブラリをインストールするか、最新バージョンにアップグレードする必要があります。次のコマンドはhuggingface_hub
とweave
をインストールするか、すでにインストールされている場合は最新バージョンにアップグレードし、インストール出力を減らします。 -
Hugging Face Hub上のモデルで推論を使用するには、User Access Tokenを設定します。トークンはHugging Face Hub Settings page から設定するか、プログラムで設定することができます。次のコードサンプルは、ユーザーに
HUGGINGFACE_TOKEN
の入力を求め、トークンを環境変数として設定します。
基本的なトレース
言語モデルアプリケーションのトレースを中央の場所に保存することは、開発中および本番環境で不可欠です。これらのトレースはデバッグに役立ち、アプリケーションを改善するための貴重なデータセットとして機能します。 Weaveは自動的にInferenceClient
のトレースをキャプチャします。追跡を開始するには、weave.init()
を呼び出してWeaveを初期化し、その後通常通りライブラリを使用します。
次の例は、Weaveを使用してHugging Face Hubへの推論呼び出しをログに記録する方法を示しています:


関数をトレースする
アプリケーションを通じてデータがどのように流れるかについてより深い洞察を得るために、@weave.op
を使用して関数呼び出しを追跡できます。これにより、入力、出力、および実行ロジックがキャプチャされ、デバッグとパフォーマンス分析に役立ちます。
複数のopsをネストすることで、追跡された関数の構造化されたツリーを構築できます。Weaveはコードも自動的にバージョン管理し、実験中の中間状態を保存します。これはGitに変更をコミットする前でも行われます。
追跡を開始するには、追跡したい関数を@weave.op
でデコレートします。
次の例では、Weaveは3つの関数を追跡します:generate_image
、check_image_correctness
、およびgenerate_image_and_check_correctness
。これらの関数は画像を生成し、それが与えられたプロンプトに一致するかどうかを検証します。
@weave.op
でラップされたすべての関数呼び出しをログに記録し、Weave UIで実行の詳細を分析できるようにします。

Model
を実験に使用する
複数のコンポーネントが関与する場合、LLM実験の管理は難しくなることがあります。WeaveのModel
クラスは、システムプロンプトやモデル構成などの実験の詳細をキャプチャして整理するのに役立ち、異なるイテレーションを簡単に比較できるようにします。
コードのバージョン管理と入出力のキャプチャに加えて、Model
はアプリケーションの動作を制御する構造化されたパラメータを保存します。これにより、どの構成が最良の結果をもたらしたかを追跡しやすくなります。WeaveModel
をWeaveServe およびEvaluations と統合して、さらなる洞察を得ることもできます。
以下の例では、旅行の推薦のためのCityVisitRecommender
モデルを定義しています。そのパラメータを変更するたびに新しいバージョンが生成され、実験が容易になります。
