Skip to main content
Il arrive que des données de trace volumineuses soient tronquées dans la Weave UI. Cela se produit parce que la sortie de trace par défaut est un objet Python brut personnalisé que Weave ne peut pas sérialiser. Cette page montre comment exposer l’ensemble des données de trace afin qu’elles s’affichent dans l’interface utilisateur. Pour éviter que des données de trace volumineuses ne soient tronquées, définissez une méthode to_dict qui renvoie un dictionnaire de chaînes de caractères contenant l’ensemble des données de trace. Comme Weave peut sérialiser les dictionnaires, cette approche donne à l’interface utilisateur accès à l’état complet de l’objet. L’exemple suivant illustre ce modèle :
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)
Une fois cette méthode to_dict définie, Weave peut sérialiser l’objet et afficher son contenu dans la Weave UI au lieu de tronquer sa représentation brute.
Données de trace