メインコンテンツへスキップ
Weave では、Op を使用する際、通常の関数と同じように関数を直接呼び出せます。
@weave.op
def my_op():
    ...

my_op()
しかし、代わりに op.call メソッドを呼び出して、Call オブジェクトへ直接アクセスすることもできます。このメソッドは、結果と Call オブジェクトの両方を返します。
@weave.op
def my_op():
...

output, call = my_op.call()
ここから、call オブジェクトには Call についてのすべての情報 (入力、出力、その他のメタデータ) が含まれています。call を使って、追加のプロパティの設定・更新・取得や、フィードバックの追加を行うことができます。Op がクラスメソッドである場合は、call の最初の引数としてクラスのインスタンスを渡す必要があります。次の例は、クラスメソッドである Call オブジェクトへのハンドルを取得する方法を示しています。
import weave

# Weave Tracing を初期化します
weave.init("intro-example")

class MyClass:
    # メソッドにデコレーターを付与します
    @weave.op
    def my_method(self, name: str):
        return f"Hello, {name}!"

instance = MyClass()

# `instance` を `call` の最初の引数として渡します。
result, call = instance.my_method.call(instance, "World")