Repository navigation
Commit da9211a
authored
fix(dspy): store tool argument defaults in JSON form (#10574)
* fix(dspy): store tool argument defaults in JSON form
Tool put each parameter's default into its JSON schema as the raw Python
object. An Enum or date default then broke native function calling with
"Object of type Unit is not JSON serializable" when the schema was sent
to the provider. Convert defaults with pydantic's JSON conversion, and
keep the raw value when it has no JSON form.
* fix(dspy): keep tool defaults that have no JSON form
A non-UTF-8 bytes default made Tool() raise UnicodeDecodeError, and a
Decimal default on a float argument was advertised as a string that the
tool then rejected. Keep the raw value for Decimal and for any default
that fails to convert.
* fix(dspy): store Decimal tool defaults as JSON numbers
A Decimal default stayed a Decimal in the schema, so serializing the tool
for the request still raised TypeError. A float fits both float and
Decimal arguments.1 parent cabcd11 commit da9211a
2 files changed
Lines changed: 50 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
111 | 113 | | |
112 | 114 | | |
113 | 115 | | |
114 | | - | |
| 116 | + | |
115 | 117 | | |
116 | 118 | | |
117 | 119 | | |
| |||
520 | 522 | | |
521 | 523 | | |
522 | 524 | | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
523 | 536 | | |
524 | 537 | | |
525 | 538 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
149 | 185 | | |
150 | 186 | | |
151 | 187 | | |
| |||
0 commit comments