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 = "a" * 10_000
return MyObj(x)
def main():
weave.init("<entity/project>")
# MyObj를 처리하는 추적 가능한 연산(op)을 정의합니다
@weave.op()
def process_obj(obj: MyObj) -> int:
return len(obj.x)
# 큰 MyObj 인스턴스를 생성하고 처리합니다
large_obj = make_my_obj()
length = process_obj(large_obj)
print(f"Length of x in MyObj: {length}")
print("dict:", large_obj.to_dict())
if __name__ == "__main__":
main()