`@weave.type()` does not work with pydantic `BaseModel`
If Weave throws a 500 ('too many values to unpack') when tracing a function that takes a nested pydantic model, check whether one of the fields is called 'name'. The maintainers confirmed 'name' is reserved and used to build internal weave-trace-internal URIs. Renaming the field (for example to first_name) works around it. You also do not need @weave.type() or weave.Object on your models: just put @weave.op on the function you want to trace.
_Source: gh:wandb/weave#1380 (Weights & Biases Weave)_