メインコンテンツへスキップ

API 概要


class CrossProjectRefError

クライアント側でダイジェストを計算する際に、内部 ID に解決できない別のプロジェクトへの ref に遭遇した場合に発生します。

class FlushStatus

現在のフラッシュ処理のステータス情報。

class NoInternalProjectIDError

内部プロジェクト ID がまだ解決されていないため、クライアント側でダイジェストを計算できない場合に発生します。

class PendingJobCounts

各タイプの保留中ジョブ数。

class WeaveClient

method __init__


プロパティ num_outstanding_jobs

すべてのエグゼキュータとサーバーにわたる、保留中のジョブの総数を返します。 このプロパティを使用すると、メインスレッドをブロックすることなく、バックグラウンドタスクの進行状況を確認できます。 戻り値:
  • int: 保留中のジョブの総数

method add_cost

現在のプロジェクトにコストを追加します。 例:
引数:
  • llm_id: LLM の ID。例: “gpt-4o-mini-2024-07-18”
  • prompt_token_cost: プロンプトトークンあたりのコスト。例: .0005
  • completion_token_cost: 補完トークンあたりのコスト。例: .0015
  • effective_date: デフォルトは現在の日付です。datetime.datetime オブジェクト。
  • provider_id: LLM のプロバイダー。デフォルトは “default” です。例: “openai”
  • prompt_token_cost_unit: プロンプトトークンのコスト単位。デフォルトは “USD” です。 (現在は未使用ですが、将来的にはコストの通貨タイプを指定するために使用されます。例: “tokens” または “time”)
  • completion_token_cost_unit: 補完トークンのコスト単位。デフォルトは “USD” です。 (現在は未使用ですが、将来的にはコストの通貨タイプを指定するために使用されます。例: “tokens” または “time”) 戻り値: CostCreateRes オブジェクト。ids という名前のタプルのリストを 1 つのフィールドとして持ちます。各タプルには llm_id と、作成されたコストオブジェクトの ID が含まれます。

method add_tags

object のバージョンに タグ を追加します。 引数:

method clear_wandb_run_context

wandb run コンテキストのオーバーライドをクリアします。 これを呼び出すと、Call は run_id と step の情報にグローバルな wandb.run (利用可能な場合) を使うようフォールバックします。
  • obj_ref: オブジェクトのバージョンへの参照です。ObjectRef または weave /// URI 文字列のいずれかです。
  • tags: 追加するタグ文字列のリスト。 例:

method create_call

Call を作成し、ログし、ランタイムスタックにプッシュします。 引数:
  • op: Call を生成する操作、または無名の操作の名前。
  • inputs: 操作への入力。
  • parent: 親 Call。parent が指定されていない場合は、現在の run が親として使用されます。
  • display_name: Call の表示名。デフォルトは None です。
  • attributes: Call の属性。デフォルトは None です。
  • use_stack: Call をランタイムスタックにプッシュするかどうか。デフォルトは True です。
  • started_at: Call の開始時刻を上書きします。None の場合は、現在時刻を使用します。 戻り値: 作成された Call オブジェクト。

method delete_all_object_versions

オブジェクトのすべてのバージョンを削除します。 引数:
  • object_name: バージョンを削除する対象のオブジェクト名。 戻り値: 削除されたバージョンの数。

method delete_all_op_versions

op のすべてのバージョンを削除します。 引数:
  • op_name: バージョンを削除する対象の op の名前。 戻り値: 削除されたバージョンの数。

method delete_call


method delete_calls

ID を指定して Call を削除します。 Call を削除すると、そのすべての子 Call も削除されます。 引数:

method delete_object_version


method delete_object_versions

オブジェクトの特定のバージョンを削除します。
  • call_ids: 削除する Call ID のリスト。例: [“2F0193e107-8fcf-7630-b576-977cc3062e2e”] 引数:
  • object_name: バージョンを削除する対象のオブジェクトの名。
  • digests: 削除する digest のリスト。“latest” や “v0” などのエイリアスを含めることができます。 戻り値: 削除されたバージョンの数。

method delete_op_version


method fail_call

例外を発生させて Call を失敗させます。これは finish_call のための簡易 method です。

method finish

すべてのバックグラウンドタスクをフラッシュし、確実に処理されるようにします。 このメソッドは、現在キューに入っているすべてのジョブが処理されるまでブロックし、保留中のタスクのステータスを示す進行状況バーを表示します。メインスレッドの実行中も並列処理を維持し、データがサーバーにアップロードされる前にユーザーコードの実行が完了する場合は、パフォーマンスの向上につながることがあります。 引数:

method finish_call

Call を完了し、その結果を永続化します。 call.summary に含まれる値は、データベースに書き込まれる前に、計算された summary 統計 (使用量やステータスのカウントなど) とディープマージされます。

method flush

バックグラウンドで実行中の非同期タスクをフラッシュします。複数回呼び出しても問題ありません。

method get


method get_aliases

オブジェクトバージョンのエイリアスを取得します。
  • use_progress_bar: flush 時にプログレスバーを表示するかどうか。プログレスバーが適切に表示されない環境 (例: CI 環境) では、False に設定します。
  • callback: ステータス更新を受け取るオプションのコールバック関数。use_progress_bar より優先されます。 引数:
  • obj_ref: オブジェクトバージョンへの参照。ObjectRef または weave /// URI 文字列を指定します。 戻り値: エイリアス文字列のリスト。オブジェクトバージョンが最新の場合は、仮想的な “latest” エイリアスも含まれます。

method get_call

IDを指定して単一のCallを取得します。 引数:
  • call_id: 取得するCallのID。
  • include_costs: true の場合、コスト情報が summary.weave に含まれます
  • include_feedback: true の場合、フィードバック情報が summary.weave.feedback に含まれます
  • columns: レスポンスに含めるカラムのリスト。None の場合は、すべてのカラムが含まれます。指定するカラムを少なくすると、パフォーマンスが向上する場合があります。一部のカラムは常に含まれます: id, project_id, trace_id, op_name, started_at 戻り値: Call オブジェクト。

method get_calls

このプロジェクトのトレースされた Call (操作) のリストを取得します。 この method は、トレースデータをクエリするための強力で柔軟なインターフェースを提供します。ページネーション、フィルタリング、ソート、フィールド射影、スコアリングメタデータをサポートしており、カスタムのトレース UI や分析ツールの実装に使用できます。 パフォーマンスのヒント: columns を指定し、filter または query を使用して結果サイズを小さくしてください。 引数:
  • filter: op_nameparent_ids などのフィールドで結果を絞り込むための高レベルのフィルター。
  • limit: 返される Call の最大数。
  • offset: 結果を返す前にスキップする Call の数 (ページネーションに使用) 。
  • sort_by: 結果のソートに使用するフィールドのリスト (例: started_at desc) 。
  • query: 高度なフィルタリングのための Mongo 風の式。すべての Mongo 演算子がサポートされるわけではありません。
  • include_costs: True の場合、summary.weave に token/コスト情報を含めます。
  • include_feedback: True の場合、summary.weave.feedback にフィードバックを含めます。
  • include_storage_size: True の場合、Call のストレージサイズを含めます。
  • include_total_storage_size: True の場合、trace の合計ストレージサイズを含めます。
  • columns: Call ごとに返すフィールドのリスト。これを減らすことで、パフォーマンスを大幅に改善できます。 (idtrace_idop_namestarted_at などの一部のフィールドは常に含まれます。)
  • scored_by: 1 つ以上の scorer (名または ref URI) でフィルターします。複数の scorer は AND 条件として扱われます。
  • page_size: 1 ページあたりに取得する Call の数。大規模なクエリでのパフォーマンス向上のために調整してください。
戻り値:
  • CallsIter: Call オブジェクトを反復するイテレーター。スライス、反復、.to_pandas() をサポートします。
例:

method get_evaluation

特定の 評価 オブジェクトを URI で取得します。 評価 URI は通常、次の形式です: weave:///entity/project/object/Evaluation:version 「フレンドリ名」を使って 評価 を取得することもできます: get_evaluation(“Evaluation:v1”) 引数:
  • uri (str): 取得する 評価 の一意のリソース識別子。
戻り値:
  • Evaluation: 指定した URI に対応する 評価 オブジェクト。
発生する例外:
  • TypeError: URI のオブジェクトが 評価 インスタンスではない場合。
  • ValueError: URI が無効な場合、またはオブジェクトが見つからない場合。
例:

method get_evaluations

現在のプロジェクト内のすべての評価オブジェクトを取得します。 戻り値:
  • list[Evaluation]: 現在のプロジェクト内にあるすべての評価オブジェクトのリスト。評価が見つからない場合、またはすべての変換に失敗した場合は、空のリストを返します。
例:

method get_feedback

フィードバックを取得するためにプロジェクトをクエリします。 例:
引数:
  • query: Mongoスタイルのクエリ式です。利便性のため、フィードバック UUID 文字列も指定できます。
  • reaction: 利便性のため、特定のリアクション絵文字でフィルタリングできます。
  • offset: フィードバックオブジェクトの取得を開始する位置のオフセットです。
  • limit: 取得するフィードバックオブジェクトの最大数です。 戻り値: FeedbackQuery オブジェクト。

method get_tags

オブジェクトのバージョンに付与されたタグを取得します。 引数:
  • obj_ref: オブジェクトのバージョンを参照する値です。ObjectRef または weave:/// URI 文字列を指定します。 戻り値: タグ文字列のリストです。オブジェクトのバージョンにタグがない場合は、空のリストを返します。

method get_tags_and_aliases

オブジェクトのバージョンに対する タグ とエイリアスの両方を、1 回の呼び出しで取得します。 引数:
  • obj_ref: オブジェクトのバージョンへの参照です。ObjectRef または weave /// URI 文字列のいずれかを指定します。 戻り値: (タグ, aliases) のタプルを返します。どちらも文字列のリストです。オブジェクトのバージョンに タグ またはエイリアスがない場合は、空のリストを返します。

method list_aliases

プロジェクト内の重複しないエイリアスをすべて一覧表示します。 戻り値: プロジェクト内のすべてのエイリアス文字列のリスト。

method list_tags

プロジェクト内の重複のないすべての タグ を一覧表示します。 戻り値: プロジェクト内のすべての tag 文字列のリスト。

method purge_costs

現在のプロジェクトのコストを削除します。 例:
引数:

method query_costs

プロジェクトのコストをクエリします。
  • ids: 削除するコスト ID。単一の ID または複数の ID を指定できます。 例:
引数:
  • query: Mongo スタイルのクエリ式です。便宜上、cost UUID 文字列も受け付けます。
  • llm_ids: 便宜上、llm_ids の集合でフィルターします。
  • offset: cost オブジェクトの取得を開始する位置を指定するオフセットです。
  • limit: 取得する cost オブジェクトの最大数です。 戻り値: CostQuery オブジェクト。

method remove_aliases

オブジェクトから 1 つ以上のエイリアスを削除します。 引数:

method remove_tags

オブジェクトのバージョンからタグを削除します。
  • obj_ref: オブジェクトへの参照です。ObjectRef または weave:/// URI 文字列のいずれかです (エイリアス はオブジェクト スコープであるため、digest は使用されません) 。
  • alias: 削除する エイリアス 名、または エイリアス 名のリストです。 引数:

method save

直接呼び出さず、代わりに weave.publish() を使用してください。
  • obj_ref: オブジェクトのバージョンへの参照です。ObjectRef または weave /// URI 文字列のいずれかです。
  • tags: 削除するタグ文字列のリストです。 引数:
  • val: 保存するオブジェクト。
  • name: オブジェクトを保存するときの名前。
  • branch: オブジェクトを保存するときのブランチ。デフォルトは “latest” です。 戻り値: 保存したオブジェクトをデシリアライズしたもの。

method set_aliases

オブジェクトのバージョンに 1 つ以上のエイリアスを設定します。 引数:

method set_wandb_run_context

このクライアントによって作成される Call の wandb run_id と step をオーバーライドします。 これにより、グローバルな wandb.run シンボルに紐付いていない特定の WandB run に Weave Call を関連付けることができます。
  • obj_ref: オブジェクトのバージョンへの参照。ObjectRef または weave /// URI 文字列のいずれかです。
  • alias: 設定する エイリアス 名、または エイリアス 名のリスト (例: “production”)。 引数:
  • run_id: run ID (entity/プロジェクト のプレフィックスを含まない) 。クライアントが entity/プロジェクト のプレフィックスを自動的に追加します。
  • step: Call に使用する step 番号。None の場合、step は設定されません。 例:

関数 get_obj_name


関数 get_parallelism_settings


関数 map_to_refs



関数 redact_sensitive_keys


関数 sanitize_object_name