Commit cd1dad9
feat: Add ExtraFields support via provider_options complementing extra_body
This change enables passing custom parameters to OpenAI-compatible API
providers through Fantasy's ExtraFields mechanism, working alongside
Kujtim's SDK-level extra_body support.
Key changes:
- Extract extra_fields from provider_options (not extra_body)
- Apply via Fantasy's ExtraFields (per-call level)
- Works alongside extra_body (SDK level) for complementary behavior
- Merged with upstream/crush-fantasy parameter update fix
This creates two complementary mechanisms:
1. extra_body: SDK-level defaults (Kujtim's approach) - provider-wide
2. provider_options.extra_fields: Fantasy-level per-call (this PR)
Example config for Z.AI GLM thinking mode:
{
"providers": {
"z.ai": {
"provider_options": {
"extra_fields": {
"thinking": {
"type": "enabled",
"budget_tokens": 26214
}
}
}
}
}
}
The extra_fields are passed through Fantasy's ExtraFields to the
OpenAI SDK's SetExtraFields() method, enabling per-call customization.
Co-authored-by: Kujtim Hoxha <[email protected]>1 parent 35c05ff commit cd1dad9
3 files changed
+59
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
53 | 58 | | |
54 | 59 | | |
55 | 60 | | |
| |||
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
61 | | - | |
62 | 66 | | |
63 | 67 | | |
64 | 68 | | |
| |||
158 | 162 | | |
159 | 163 | | |
160 | 164 | | |
161 | | - | |
162 | 165 | | |
163 | 166 | | |
164 | 167 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| 145 | + | |
145 | 146 | | |
146 | 147 | | |
147 | 148 | | |
| |||
164 | 165 | | |
165 | 166 | | |
166 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
167 | 187 | | |
168 | 188 | | |
169 | 189 | | |
| 190 | + | |
170 | 191 | | |
171 | 192 | | |
172 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
500 | 500 | | |
501 | 501 | | |
502 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
503 | 518 | | |
504 | 519 | | |
505 | 520 | | |
| |||
525 | 540 | | |
526 | 541 | | |
527 | 542 | | |
528 | | - | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
529 | 561 | | |
530 | 562 | | |
531 | 563 | | |
| |||
0 commit comments