Skip to main content
Weave UI では、大きな Trace Data が切り捨てられることがあります。これは、デフォルトの trace 出力が、Weave でシリアライズできない生の custom Python object であるためです。このページでは、完全な Trace Data を公開して UI に表示する方法を説明します。 大きな Trace Data が切り捨てられないようにするには、すべての Trace Data を含む文字列の辞書を返す to_dict method を定義してください。Weave は辞書をシリアライズできるため、この方法を使用すると UI から object の完全な状態にアクセスできます。次の例は、このパターンを示しています。
import weave

class MyObj:
    def __init__(self, x: int):
        self.x = x

    def __repr__(self):
        return f"MyObj(x={self.x})"

    def to_dict(self):
        return {"x": self.x}

@weave.op()
def make_my_obj():
    x = "s" * 10_000
    return MyObj(x)
この to_dict メソッドを定義すると、Weave はそのオブジェクトをシリアライズし、生の表現を切り詰める代わりに、その内容を trace UI に表示できるようになります。
Trace Data