API 概要
ソースコード
class Agent
Pydantic フィールド:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonemodel_name:<class 'str'>temperature:<class 'float'>system_message:<class 'str'>tools:list[typing.Any]
method step
state: 環境の現在の状態。action: 実行するアクション。
ソースコード
class AgentState
Pydantic のフィールド:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonehistory:list[typing.Any]
ソースコード
class AnnotationSpec
Pydantic のフィールド:
name:str | Nonedescription:str | Nonefield_schema:dict[str, typing.Any]unique_among_creators:<class 'bool'>op_scope:list[str] | None
classmethod preprocess_field_schema
ソースコード
classmethod validate_field_schema
ソースコード
method value_is_valid
-
payload: スキーマに対して検証するデータ 戻り値: -
bool: 検証が成功した場合は True、失敗した場合は False
ソースコード
class Audio
サポートされている形式(wav または mp3)の音声データを表すクラス。
このクラスは音声データの保持を行い、さまざまなソースからの読み込みやファイルへのエクスポート用のメソッドを提供します。
属性:
format: 音声フォーマット(現在は ‘wav’ または ‘mp3’ をサポートします)data: 生の音声データ(bytes)
-
data: 音声データ(bytes または base64 エンコードされた文字列) -
format: 音声フォーマット(‘wav’ または ‘mp3’) -
validate_base64: 入力データの base64 デコードを試行するかどうか 例外: -
ValueError: 音声データが空である、またはフォーマットがサポートされていない場合
メソッド __init__
ソースコード
method export
ソースコード
classmethod from_data
-
path: オーディオファイルを書き込むパス Args: -
data: バイト列または base64 でエンコードされた文字列としてのオーディオデータ -
format: オーディオフォーマット(‘wav’ または ‘mp3’) Returns: -
Audio: 新しい Audio インスタンス
ValueError: フォーマットがサポートされていない場合
ソースコード
classmethod from_path
path: 拡張子が .wav または .mp3 である音声ファイルへのパス
Audio: ファイルから読み込まれた新しい Audio インスタンス
ValueError: ファイルが存在しない場合、またはサポートされていない拡張子である場合
ソースコード
class Content
さまざまなソースからのコンテンツを表し、それらを関連するメタデータ付きの、統一されたバイト指向の表現へと正規化するためのクラスです。
このクラスは、次のいずれかのクラスメソッドを使ってインスタンス化する必要があります:
- from_path()
- from_bytes()
- from_text()
- from_url()
- from_base64()
- from_data_url()
メソッド __init__
Content.from_path() のようなクラスメソッドを使用してください。
Pydantic フィールド:
data:<class 'bytes'>size:<class 'int'>mimetype:<class 'str'>digest:<class 'str'>filename:<class 'str'>content_type:typing.Literal['bytes', 'text', 'base64', 'file', 'url', 'data_url', 'data_url:base64', 'data_url:encoding', 'data_url:encoding:base64']input_type:<class 'str'>encoding:<class 'str'>metadata:dict[str, typing.Any] | Noneextension:str | None
プロパティ art
property ref
ソースコード
method as_string
encoding 属性を使ってデコードされます。base64 の場合、データは一度 base64 バイト列として再エンコードされ、その後 ASCII 文字列としてデコードされます。
戻り値:
str。
ソースコード
classmethod from_base64
ソースコード
classmethod from_bytes
ソースコード
クラスメソッド from_data_url
ソースコード
classmethod from_path
ソースコード
classmethod from_text
ソースコード
classmethod from_url
ソースコード
クラスメソッド model_validate
ソースコード
classmethod model_validate_json
model_validate_json をオーバーライドします。
ソースコード
method open
bool: ファイルを正常に開けた場合は True、それ以外の場合は False。
ソースコード
method save
ソースコード
メソッド serialize_data
ソースコード
method to_data_url
-
dest: ファイルをコピーする先のパス(文字列または pathlib.Path)。宛先パスはファイルまたはディレクトリのどちらでもかまいません。dest にファイル拡張子(例: .txt)がない場合、その宛先はディレクトリとして扱われます。 Args: -
use_base64: True の場合、データは base64 でエンコードされます。False の場合はパーセントエンコードされます。デフォルトは True です。 Returns: データ URL を表す文字列。
ソースコード
class Dataset
簡単に保存でき、自動バージョン管理に対応した Dataset オブジェクト。
例:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonerows:trace.table.Table | trace.vals.WeaveTable
メソッド add_rows
rows: データセットに追加する行。 戻り値: 更新されたデータセット。
ソースコード
classmethod convert_to_table
ソースコード
classmethod from_calls
classmethod from_hf
ソースコード
classmethod from_obj
ソースコード
classmethod from_pandas
ソースコード
メソッド select
indices: 選択する行を指定する整数インデックスからなるイテラブル。 戻り値: 選択された行のみを含む新たな Dataset オブジェクト。
ソースコード
メソッド to_hf
ソースコード
method to_pandas
ソースコード
class EasyPrompt
ソースコード
method __init__
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonedata:<class 'list'>config:<class 'dict'>requirements:<class 'dict'>
property as_str
すべてのメッセージを1つの文字列に連結します。プロパティ is_bound
property messages(メッセージ)
property のプレースホルダー
property system_message
すべてのメッセージを 1 つの system プロンプトメッセージにまとめます。property system_prompt
すべてのメッセージを結合して、1つの system prompt オブジェクトにまとめます。property unbound_placeholders
ソースコード
method append
ソースコード
method as_dict
ソースコード
メソッド as_pydantic_dict
ソースコード
method bind
ソースコード
method bind_rows
ソースコード
メソッド config_table
ソースコード
メソッド configure
ソースコード
method dump
ソースコード
method dump_file
ソースコード
method format
ソースコード
classmethod from_obj
ソースコード
classmethod load
ソースコード
classmethod load_file
ソースコード
メソッド messages_table
ソースコード
メソッド print
ソースコード
method publish
ソースコード
method require
ソースコード
method run
ソースコード
method validate_requirement
ソースコード
method validate_requirements
ソースコード
method values_table
ソースコード
class Evaluation
スコアラーのセットとデータセットからなる評価をセットアップします。
evaluation.evaluate(model) を呼び出すと、データセットの各行をモデルに渡し、データセットの列名を model.predict の引数名に対応付けます。
続いて、すべてのスコアラーを実行し、結果を Weave に保存します。
データセットの各行を前処理したい場合は、preprocess_model_input に渡す関数を指定できます。
例:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonedataset:<class 'dataset.dataset.Dataset'>scorers:list[typing.Annotated[trace.op_protocol.Op | flow.scorer.Scorer, BeforeValidator(func=<function cast_to_scorer at 0x110ab76a0>, json_schema_input_type=PydanticUndefined)]] | Nonepreprocess_model_input:collections.abc.Callable[[dict], dict] | Nonetrials:<class 'int'>metadata:dict[str, typing.Any] | Noneevaluation_name:str | collections.abc.Callable[trace.call.Call, str] | None
method evaluate
ソースコード
classmethod from_obj
ソースコード
method get_eval_results
ソースコード
メソッド get_evaluate_calls
CallsIter: evaluation run を表す Call オブジェクトに対するイテレータ。
ValueError: evaluation に ref がない場合(まだ保存も run もされていない場合)。
ソースコード
method get_score_calls
dict[str, list[Call]]: trace ID をキーとして、scorer の Call オブジェクトのリストに対応付ける辞書。各 trace ID は 1 つの evaluation run を表し、そのリストにはその run 中に実行されたすべての scorer 呼び出しが含まれます。
ソースコード
method get_scores
dict[str, dict[str, list[Any]]]: 次のような入れ子の辞書構造:- 第1階層のキーはトレースID(evaluation run)
- 第2階層のキーは scorer 名
- 値は、その run と scorer に対する scorer 出力のリスト
ソースコード
method model_post_init
ソースコード
method predict_and_score
ソースコード
method summarize
ソースコード
class EvaluationLogger
このクラスは、評価をログに記録するための命令型インターフェースを提供します。
最初の予測が log_prediction メソッドでログに記録された時点で評価が自動的に開始され、log_summary メソッドが呼び出されると終了します。
予測をログに記録するたびに、ScoreLogger オブジェクトが返されます。このオブジェクトを使用して、その特定の予測に対するスコアおよびメタデータをログに記録できます。詳細は ScoreLogger クラスを参照してください。
基本的な使用方法:入力と出力とともに予測を直接ログに記録します:
method __init__
プロパティ 属性
プロパティ ui_url
ソースコード
method fail
ソースコード
メソッド finish
logger がコンテキストマネージャーとして使用されている場合は、自動的に呼び出されます。
ソースコード
メソッド log_example
inputs: 予測の入力データoutput: 出力値scores: スコアラー名からスコア値への対応を表す辞書 Example:
ソースコード
メソッド log_prediction
inputs: 予測の入力データoutput: 出力値。デフォルトは None。後から pred.output を使って設定できます。 戻り値: スコアを記録し、必要に応じて予測を完了するための ScoreLogger。
pred = ev.log_prediction({'q': ’…’}, output=“answer”) pred.log_score(“correctness”, 0.9) pred.finish()
with ev.log_prediction({'q': ’…’}) as pred: response = model(…) pred.output = response pred.log_score(“correctness”, 0.9) # with ブロック終了時に自動的に finish() を呼び出します
ソースコード
メソッド log_summary
summarize オペレーションが呼び出され、その後 Evaluation が確定されます。確定後は、それ以上予測やスコアをログすることはできません。
ソースコード
method set_view
weave.views 配下としてビューを添付します。
指定したコンテンツをプロジェクト内のオブジェクトとして保存し、その参照 URI を評価の evaluate 呼び出し用に summary.weave.views.<name> 配下に書き込みます。文字列入力は、指定された拡張子または mimetype を用いて、Content.from_text によるテキストコンテンツとしてラップされます。
Args:
-
name: 表示するビュー名で、summary.weave.views配下のキーとして使用されます。 -
content: シリアライズするweave.Contentインスタンスまたは文字列。 -
extension: 文字列コンテンツ入力用の任意のファイル拡張子。 -
mimetype: 文字列コンテンツ入力用の任意の MIME タイプ。 -
metadata: 新しく作成されるContentに付与する任意のメタデータ。 -
encoding: 文字列コンテンツ入力用のテキストエンコーディング。 Returns: なし
import weave
ev = weave.EvaluationLogger() ev.set_view(“report”, ”# Report”, extension=“md”)
ソースコード
class File
パス、MIME タイプ、サイズ情報を持つファイルを表すクラスです。
ソースコード
method __init__
property filename
ファイル名を取得します。-
path: ファイルへのパス(文字列 または pathlib.Path) -
mimetype: ファイルの MIME タイプ(省略可) - 指定しない場合は拡張子から推定されます Returns: -
str: ディレクトリパス部分を除いたファイル名。
ソースコード
method open
bool: ファイルを正常に開けた場合は True、それ以外の場合は False。
ソースコード
method save
ソースコード
class Markdown
Markdown を描画可能なオブジェクト。
-
dest: ファイルがコピーされる宛先パス(string または pathlib.Path)。宛先パスはファイルまたはディレクトリのいずれでもかまいません。 Args: -
markup(str): Markdown を含む文字列。 -
code_theme(str, optional): コードブロック用の Pygments テーマ。デフォルトは “monokai”。コードテーマについては https://pygments.org/styles/ を参照してください。 -
justify(JustifyMethod, optional): 段落の配置方法。デフォルトは None。 -
style(Union[str, Style], optional): Markdown に適用する任意のスタイル。 -
hyperlinks(bool, optional): ハイパーリンクを有効にします。デフォルトはTrue。
メソッド __init__
ソースコード
class MessagesPrompt
ソースコード
method __init__
-
inline_code_lexer: (str, optional): インラインコードのシンタックスハイライトが有効になっている場合に使用する lexer。デフォルトは None。 -
inline_code_theme: (Optional[str], optional): インラインコードのシンタックスハイライトに使用する Pygments テーマ。ハイライトしない場合は None。デフォルトは None。 Pydantic フィールド: -
name:str | None -
description:str | None -
ref:trace.refs.ObjectRef | None -
messages:list[dict]
メソッド format
ソースコード
method format_message
ソースコード
classmethod from_obj
ソースコード
class Model
入力に対して動作するコードとデータの組み合わせを表すクラスです。たとえば、プロンプト付きで LLM を呼び出して予測を行ったり、テキストを生成したりする処理などが該当します。
モデルを定義している属性やコードを変更すると、その変更がログに記録され、バージョンが更新されます。これにより、異なるバージョンのモデル間で予測結果を比較できます。これを利用してプロンプトを繰り返し改善したり、最新の LLM を試してさまざまな設定で予測結果を比較したりできます。
例:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | None
method get_infer_method
ソースコード
class Monitor
受信した呼び出しを自動でスコアリングするモニターを設定します。
例:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonesampling_rate:<class 'float'>scorers:list[flow.scorer.Scorer]op_names:list[str]query:trace_server.interface.query.Query | Noneactive:<class 'bool'>
メソッド activate
ソースコード
method deactivate
ソースコード
classmethod from_obj
ソースコード
class Object
追跡およびバージョン管理が可能な Weave オブジェクトの基底クラスです。
このクラスは Pydantic の BaseModel を拡張し、オブジェクトの追跡、参照、シリアライズのための Weave 固有の機能を提供します。オブジェクトには名前、説明、および参照を持たせることができ、これにより Weave システムへの保存および Weave システムからの取得が可能になります。
属性:
name(Optional[str]): オブジェクトの、人が読んで理解しやすい名前。description(Optional[str]): オブジェクトが何を表しているかの説明。ref(Optional[ObjectRef]): Weave システム内のオブジェクトへの参照。
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | None
classmethod from_uri
uri(str): オブジェクトを指す Weave URI。objectify(bool): 結果をオブジェクト化するかどうか。デフォルトは True。
Self: URI から生成される、このクラスのインスタンス。
NotImplementedError: クラスがデシリアライズに必要なメソッドを実装していない場合。
ソースコード
classmethod handle_relocatable_object
v(Any): 検証する値。handler(ValidatorFunctionWrapHandler): 標準的な pydantic 検証ハンドラ。info(ValidationInfo): 検証用のコンテキスト情報。
Any: 検証済みのオブジェクトインスタンス。
ObjectRef が渡されたとき
WeaveObject を渡した場合
property digest
property extra
ソースコード
method as_param_dict
ソースコード
method delete
ソースコード
method get
ソースコード
メソッド is_descended_from
ソースコード
メソッド maybe_parse_uri
ソースコード
method parse_uri
ソースコード
method uri
ソースコード
method with_attr
ソースコード
method with_extra
ソースコード
method with_index
ソースコード
method with_item
ソースコード
method with_key
ソースコード
class Prompt
Pydantic のフィールド:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | None
method format
ソースコード
class SavedView
SavedView オブジェクトをフルエントインターフェース形式で扱うためのクラスです。
ソースコード
メソッド __init__
プロパティ エンティティ
property label
property project
プロパティ view_type
ソースコード
method add_column
ソースコード
メソッド add_columns
ソースコード
メソッド add_filter
ソースコード
メソッド add_sort
ソースコード
メソッド column_index
ソースコード
メソッド filter_op
ソースコード
method get_calls
ソースコード
method get_known_columns
ソースコード
method get_table_columns
ソースコード
method hide_column
ソースコード
method insert_column
ソースコード
classmethod load
ソースコード
method page_size
ソースコード
メソッド pin_column_left
ソースコード
メソッド pin_column_right
ソースコード
method remove_column
ソースコード
method remove_columns
ソースコード
メソッド remove_filter
ソースコード
メソッド remove_filters
ソースコード
method rename
ソースコード
method rename_column
ソースコード
method save
ソースコード
method set_columns
ソースコード
メソッド show_column
ソースコード
method sort_by
ソースコード
method to_grid
ソースコード
method to_rich_table_str
ソースコード
method ui_url
ソースコード
method unpin_column
ソースコード
class Scorer
Pydantic のフィールド:
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonecolumn_map:dict[str, str] | None
classmethod from_obj
ソースコード
method model_post_init
ソースコード
メソッド score
ソースコード
method summarize
ソースコード
class StringPrompt
ソースコード
method __init__
name:str | Nonedescription:str | Noneref:trace.refs.ObjectRef | Nonecontent:<class 'str'>
method format
ソースコード
classmethod from_obj
ソースコード
class Table
ソースコード
method __init__
property 行
ソースコード
method append
ソースコード
method pop
ソースコード
class ContextAwareThread
呼び出し元のコンテキストで関数を実行する Thread。
これは threading.Thread のドロップイン置き換えで、スレッド内部での呼び出しが期待どおりに動作することを保証します。Weave では、特定の contextvars が設定されている必要があります(call_context.py を参照)が、新しいスレッドは親からコンテキストを自動的にコピーしないため、呼び出しコンテキストが失われてしまうことがあります —— これは望ましくありません。このクラスは contextvars のコピーを自動化し、ユーザーが期待するように、このスレッドを使えば「そのまま動く」ようにします。
このクラスを使わなくても、代わりに次のように書くことで同じ効果を得られます。
メソッド __init__
property daemon
このスレッドがデーモンスレッドかどうかを示す真偽値です。 これはstart() が呼び出される前に設定しておく必要があり、そうでない場合は RuntimeError が送出されます。初期値はこのスレッドを生成したスレッドから継承されます。メインスレッドはデーモンスレッドではないため、メインスレッドで生成されたすべてのスレッドのデフォルト値は daemon = False になります。
デーモンスレッドのみが残った時点で、Python プログラム全体は終了します。
property ident
このスレッドのスレッド識別子。スレッドが開始されていない場合は None。 これは非ゼロの整数です。get_ident() 関数を参照してください。スレッド識別子は、あるスレッドが終了して別のスレッドが作成されたときに再利用される場合があります。識別子は、スレッドが終了した後でも利用可能です。
property name
識別のためだけに用いられる文字列です。 セマンティクスはありません。複数のスレッドで同じ名前を使用できます。初期の名前はコンストラクタによって設定されます。property native_id
このスレッドのネイティブの整数スレッド ID。スレッドが開始されていない場合は None となります。 これは負でない整数です。get_native_id() 関数を参照してください。これはカーネルが報告するスレッド ID を表します。
ソースコード
method run
ソースコード
class ThreadContext
現在のスレッドおよびターン情報にアクセスするためのコンテキストオブジェクトです。
ソースコード
メソッド __init__
property thread_id
このコンテキストの thread_id を取得します。thread_id: このコンテキストのスレッド ID。スレッド追跡が無効な場合は None。 Returns: スレッド ID。スレッド追跡が無効な場合は None。
property turn_id
アクティブなコンテキストから現在の turn_id を取得します。 戻り値: 設定されている場合は現在の turn_id、そうでない場合は None。ソースコード
class ContextAwareThreadPoolExecutor
呼び出し元のコンテキストで関数を実行する ThreadPoolExecutor です。
これは concurrent.futures.ThreadPoolExecutor のドロップイン代替であり、executor 内で Weave の呼び出しが期待どおりに動作することを保証します。Weave では特定の contextvars が設定されている必要があります(call_context.py を参照)が、新しいスレッドは親からコンテキストを自動的にコピーしないため、call context が失われてしまう可能性があります。これは望ましくありません。このクラスは contextvar のコピーを自動化することで、ユーザーが想定しているとおり、この executor を使えば「そのまま動く」ようにします。
このクラスを使わずに、次のように書くことで同じ効果を得ることもできます:
method __init__
ソースコード
メソッド map
ソースコード
method submit
ソースコード
function as_op
fn: @weave.op でデコレートされた関数。 戻り値: 関数の Op。
ソースコード
function attributes
ソースコード
関数 finish
finish の呼び出し後は、weave.op でデコレートされた関数の呼び出しはログに記録されなくなります。ロギングを再開するには、再度 weave.init() を実行する必要があります。
ソースコード
function get
uri: 完全修飾された Weave ref URI。 戻り値: オブジェクト。
ソースコード
function get_client
ソースコード
function get_current_call
返される Call のattributes辞書は、Call が開始されると変更できなくなります。Op を実行する前に :func:weave.attributesを使って Call のメタデータを設定してください。summaryフィールドは Op の実行中にも更新でき、Call の終了時に計算されたサマリ情報とマージされます。
ソースコード
関数 init
project_name: ログを書き込む Weights & Biases のチームとプロジェクトの名前。チームを指定しない場合、デフォルトのエンティティが使用されます。デフォルトのエンティティを確認または更新するには、W&B Models ドキュメントの User Settings を参照してください。settings: Weave クライアント全体の設定。autopatch_settings: (非推奨)autopatch インテグレーションの設定。代わりに明示的なパッチ適用方式を使用してください。global_postprocess_inputs: すべての op のすべての入力に適用される関数。global_postprocess_output: すべての op のすべての出力に適用される関数。global_attributes: すべてのトレースに適用される属性の辞書。 Returns: Weave クライアント。
ソースコード
関数 log_call
op(str): ログするオペレーション名。これは呼び出しの op_name として使用されます。公開済みの op を参照しない文字列(匿名オペレーション)もサポートされます。inputs(dict[str, Any]): オペレーションに対する入力パラメータの辞書。output(Any): オペレーションの出力/結果。parent(Call | None): この呼び出しをネストするための任意の親 Call。指定しない場合、この呼び出しはルートレベルの Call(または、存在する場合は現在の Call コンテキストの下にネスト)になります。デフォルトは None。attributes(dict[str, Any] | None): 呼び出しに付与する任意のメタデータ。これらは Call 作成時に固定されます。デフォルトは None。display_name(str | Callable[[Call], str] | None): UI 上での呼び出しの任意の表示名。文字列、または Call を受け取って文字列を返す呼び出し可能オブジェクト(callable)を指定できます。デフォルトは None。use_stack(bool): 実行時スタックにこの呼び出しをプッシュするかどうか。True の場合、呼び出しは Call コンテキストで利用可能になり、weave.require_current_call() を通じてアクセスできます。False の場合、Call はログされますが、Call スタックには追加されません。デフォルトは True。exception(BaseException | None): オペレーションが失敗した場合にログする任意の例外。デフォルトは None。
Call: トレース情報を完全に含む、作成済みかつ完了済みの Call オブジェクト。
ソースコード
function publish
obj: 保存してバージョン管理するオブジェクト。name: オブジェクトを保存する際に使用する名前。 戻り値: 保存されたオブジェクトへの Weave Ref。
ソースコード
function ref
location: Weave Ref URI、またはweave.init()が呼び出されている場合はname:versionもしくはname。versionが指定されていない場合はlatestが使用されます。 戻り値: オブジェクトを参照する Weave Ref。
ソースコード
function require_current_call
weave.init から返される WeaveClient の get_call メソッドを使って、その Call オブジェクトを取得できます。
call メソッドを使うこともできます。例えば次のようにします。
NoCurrentCallError: トラッキングが初期化されていない場合、またはこのメソッドが Op の外側で呼び出された場合に発生します。
ソースコード
関数 set_view
_weave.views.<name> として紐付けます。
引数:
name: ビュー名(summary._weave.views配下のキー)。content:weave.Contentインスタンス、または生の文字列。文字列の場合は、指定された拡張子または MIME タイプを用いてContent.from_textによってラップされます。extension:contentが文字列の場合に使用する任意のファイル拡張子。mimetype:contentが文字列の場合に使用する任意の MIME タイプ。metadata: テキストからContentを作成する際に付与する任意のメタデータ。encoding: テキストからContentを作成する際に適用するテキストエンコーディング。 戻り値: None
import weave
weave.init(“proj”) @weave.op … def foo(): … weave.set_view(“readme”, ”# Hello”, extension=“md”) … return 1 foo()
ソースコード
function thread
-
thread_id: このコンテキスト内での呼び出しに関連付けるスレッド識別子。指定しない場合は UUID v7 が自動生成されます。Noneを指定した場合はスレッドトラッキングが無効になります。 yield される値: -
ThreadContext:thread_idと現在のturn_idへアクセスするためのオブジェクト。
ソースコード