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

Documentation Index

Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

API 概要


class CrossProjectRefError

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

class FlushStatus

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

class NoInternalProjectIDError

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

class PendingJobCounts

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

class WeaveClient

method __init__

__init__(
    entity: 'str',
    project: 'str',
    server: 'TraceServerClientInterface',
    ensure_project_exists: 'bool' = True
)

プロパティ num_outstanding_jobs

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

method add_cost

add_cost(
    llm_id: 'str',
    prompt_token_cost: 'float',
    completion_token_cost: 'float',
    effective_date: 'datetime | None' = None,
    prompt_token_cost_unit: 'str | None' = 'USD',
    completion_token_cost_unit: 'str | None' = 'USD',
    provider_id: 'str | None' = 'default'
) → CostCreateRes
現在のプロジェクトにコストを追加します。 例:
client.add_cost(llm_id="my_expensive_custom_model", prompt_token_cost=1, completion_token_cost=2)
client.add_cost(llm_id="my_expensive_custom_model", prompt_token_cost=500, completion_token_cost=1000, effective_date=datetime(1998, 10, 3))
引数:
  • 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

add_tags(obj_ref: 'ObjectRef | str', tags: 'list[str]') → None
object のバージョンに タグ を追加します。 引数:

method clear_wandb_run_context

clear_wandb_run_context() → None
wandb run コンテキストのオーバーライドをクリアします。 これを呼び出すと、Call は run_id と step の情報にグローバルな wandb.run (利用可能な場合) を使うようフォールバックします。
  • obj_ref: オブジェクトのバージョンへの参照です。ObjectRef または weave /// URI 文字列のいずれかです。
  • tags: 追加するタグ文字列のリスト。 例:
client = weave.init("my-project")
client.set_wandb_run_context(run_id="my-run-id", step=5)
# ... いくつかのcallsを実行 ...
client.clear_wandb_run_context()
# これ以降、callsはグローバルのwandb.runを使用する

method create_call

create_call(
    op: 'str | Op',
    inputs: 'dict[str, Any]',
    parent: 'Call | None' = None,
    attributes: 'dict[str, Any] | None' = None,
    display_name: 'str | Callable[[Call], str] | None' = None,
    use_stack: 'bool' = True,
    _call_id_override: 'str | None' = None,
    started_at: 'datetime | None' = None
) → 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

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

method delete_all_op_versions

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

method delete_call

delete_call(call: 'Call') → None

method delete_calls

delete_calls(call_ids: 'list[str]') → None
ID を指定して Call を削除します。 Call を削除すると、そのすべての子 Call も削除されます。 引数:

method delete_object_version

delete_object_version(object: 'ObjectRef') → None

method delete_object_versions

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

method delete_op_version

delete_op_version(op: 'OpRef') → None

method fail_call

fail_call(call: 'Call', exception: 'BaseException') → None
例外を発生させて Call を失敗させます。これは finish_call のための簡易 method です。

method finish

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

method finish_call

finish_call(
    call: 'Call',
    output: 'Any' = None,
    exception: 'BaseException | None' = None,
    op: 'Op | None' = None,
    ended_at: 'datetime | None' = None
) → None
Call を完了し、その結果を永続化します。 call.summary に含まれる値は、データベースに書き込まれる前に、計算された summary 統計 (使用量やステータスのカウントなど) とディープマージされます。

method flush

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

method get

get(ref: 'ObjectRef', objectify: 'bool' = True) → Any

method get_aliases

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

method get_call

get_call(
    call_id: 'str',
    include_costs: 'bool' = False,
    include_feedback: 'bool' = False,
    columns: 'list[str] | None' = None
) → WeaveObject
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

get_calls(
    filter: 'CallsFilterLike | None' = None,
    limit: 'int | None' = None,
    offset: 'int | None' = None,
    sort_by: 'list[SortByLike] | None' = None,
    query: 'QueryLike | None' = None,
    include_costs: 'bool' = False,
    include_feedback: 'bool' = False,
    include_storage_size: 'bool' = False,
    include_total_storage_size: 'bool' = False,
    columns: 'list[str] | None' = None,
    expand_columns: 'list[str] | None' = None,
    return_expanded_column_values: 'bool' = True,
    scored_by: 'str | list[str] | None' = None,
    page_size: 'int' = 1000
) → CallsIter
このプロジェクトのトレースされた 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() をサポートします。
例:
calls = client.get_calls(
     filter=CallsFilter(op_names=["my_op"]),
     columns=["inputs", "output", "summary"],
     limit=100,
)
for call in calls:
     print(call.inputs, call.output)

method get_evaluation

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

method get_evaluations

get_evaluations() → list[Evaluation]
現在のプロジェクト内のすべての評価オブジェクトを取得します。 戻り値:
  • list[Evaluation]: 現在のプロジェクト内にあるすべての評価オブジェクトのリスト。評価が見つからない場合、またはすべての変換に失敗した場合は、空のリストを返します。
例:
client = weave.init("my-project")
evaluations = client.get_evaluations()
print(f"Found {len(evaluations)} evaluations")
for eval in evaluations:
     print(f"Evaluation: {eval.name}")

method get_feedback

get_feedback(
    query: 'Query | str | None' = None,
    reaction: 'str | None' = None,
    offset: 'int' = 0,
    limit: 'int' = 100
) → FeedbackQuery
フィードバックを取得するためにプロジェクトをクエリします。 例:
# 特定のフィードバックオブジェクトを取得する。
# これはcollectionを返すことに注意。0件または1件のアイテムが含まれることが想定される。
client.get_feedback("1B4082A3-4EDA-4BEB-BFEB-2D16ED59AA07")

# 特定のリアクションを持つすべてのフィードバックオブジェクトを検索する。
client.get_feedback(reaction="👍", limit=10)

# mongoスタイルのクエリを使用して、特定のフィードバックタイプを持つ
# すべてのフィードバックオブジェクトを検索する。
from weave.trace_server.interface.query import Query

query = Query(
    **{
        "$expr": {
            "$eq": [
                {"$getField": "feedback_type"},
                {"$literal": "wandb.reaction.1"},
            ],
        }
    }
)
client.get_feedback(query=query)
引数:
  • query: Mongoスタイルのクエリ式です。利便性のため、フィードバック UUID 文字列も指定できます。
  • reaction: 利便性のため、特定のリアクション絵文字でフィルタリングできます。
  • offset: フィードバックオブジェクトの取得を開始する位置のオフセットです。
  • limit: 取得するフィードバックオブジェクトの最大数です。 戻り値: FeedbackQuery オブジェクト。

method get_tags

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

method get_tags_and_aliases

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

method list_aliases

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

method list_tags

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

method purge_costs

purge_costs(ids: 'list[str] | str') → None
現在のプロジェクトのコストを削除します。 例:
client.purge_costs([ids])
client.purge_costs(ids)
引数:

method query_costs

query_costs(
    query: 'Query | str | None' = None,
    llm_ids: 'list[str] | None' = None,
    offset: 'int' = 0,
    limit: 'int' = 100
) → list[CostQueryOutput]
プロジェクトのコストをクエリします。
  • ids: 削除するコスト ID。単一の ID または複数の ID を指定できます。 例:
# 特定のコストオブジェクトを取得する。
# これはcollectionを返すことに注意。0件または1件のアイテムが含まれることが想定される。
client.query_costs("1B4082A3-4EDA-4BEB-BFEB-2D16ED59AA07")

# 特定のreactionを持つすべてのコストオブジェクトを検索する。
client.query_costs(llm_ids=["gpt-4o-mini-2024-07-18"], limit=10)
引数:
  • query: Mongo スタイルのクエリ式です。便宜上、cost UUID 文字列も受け付けます。
  • llm_ids: 便宜上、llm_ids の集合でフィルターします。
  • offset: cost オブジェクトの取得を開始する位置を指定するオフセットです。
  • limit: 取得する cost オブジェクトの最大数です。 戻り値: CostQuery オブジェクト。

method remove_aliases

remove_aliases(obj_ref: 'ObjectRef | str', alias: 'str | list[str]') → None
オブジェクトから 1 つ以上のエイリアスを削除します。 引数:

method remove_tags

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

method save

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

method set_aliases

set_aliases(obj_ref: 'ObjectRef | str', alias: 'str | list[str]') → None
オブジェクトのバージョンに 1 つ以上のエイリアスを設定します。 引数:

method set_wandb_run_context

set_wandb_run_context(run_id: 'str', step: 'int | None' = None) → None
このクライアントによって作成される 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 は設定されません。 例:
client = weave.init("my-project")
client.set_wandb_run_context(run_id="my-run-id", step=5)
# これ以降のすべてのcallsはstep 5のentity/project/my-run-idに関連付けられます

# stepを指定しない場合
client.set_wandb_run_context(run_id="my-run-id")
# callsはstepなしでentity/project/my-run-idに関連付けられます

関数 get_obj_name

get_obj_name(val: 'Any') → str

関数 get_parallelism_settings

get_parallelism_settings() → tuple[int | None, int | None]

関数 map_to_refs

map_to_refs(obj: 'Any') → Any

print_call_link(call: 'Call') → None

関数 redact_sensitive_keys

redact_sensitive_keys(obj: 'Any') → Any

関数 sanitize_object_name

sanitize_object_name(name: 'str') → str