Commit c0b95bf
Stop estimate_tokens from double-counting text content (#868)
estimate_tokens added message.all_text() and then serialized every content
block (including text) with model_dump_json(), so text was counted twice and
a pure-text message estimated at ~2x its real size. The docstring says it
counts "text plus serialized non-text payloads"; skip content already covered
by all_text() in the per-content loop so text is counted once, while non-text
payloads are still serialized.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 34301b4 commit c0b95bf
2 files changed
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
185 | 186 | | |
186 | 187 | | |
187 | 188 | | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
188 | 193 | | |
189 | 194 | | |
190 | 195 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
359 | 360 | | |
360 | 361 | | |
361 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
362 | 369 | | |
363 | 370 | | |
364 | 371 | | |
| |||
0 commit comments