@benvargas/pi-openai-verbosity 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -130,6 +130,42 @@ You can change any value to override the default for that model. If you have an
|
|
|
130
130
|
older version of this extension, your file's entries win over these defaults, and entries for model slugs pi no
|
|
131
131
|
longer exposes are simply ignored.
|
|
132
132
|
|
|
133
|
+
## Why not `samplingParams`?
|
|
134
|
+
|
|
135
|
+
pi 0.84.0 added `samplingParams`, which lets you pass arbitrary OpenAI-compatible parameters through
|
|
136
|
+
`models.json`, model overrides, and extension providers. Reading those release notes, it is natural to assume
|
|
137
|
+
this extension is now redundant and that you can write:
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"modelOverrides": {
|
|
142
|
+
"openai-codex/gpt-5.5": {
|
|
143
|
+
"samplingParams": { "text": { "verbosity": "medium" } }
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**On `openai-codex` this silently does nothing.** There is no error and no warning; the setting is simply never
|
|
150
|
+
applied. `samplingParams` is explicitly scoped to OpenAI-*compatible* adapters — pi-ai documents it as "only
|
|
151
|
+
applied by OpenAI-compatible adapters (completions, responses, Azure responses); other APIs ignore it" — and
|
|
152
|
+
the Codex adapter is not one of them. It builds its own request and hardcodes `text: { verbosity: ... }`,
|
|
153
|
+
defaulting to `low`.
|
|
154
|
+
|
|
155
|
+
So for the `openai-codex` provider, this extension remains the only way to set per-model verbosity.
|
|
156
|
+
|
|
157
|
+
### If you use `samplingParams` on the plain `openai` provider
|
|
158
|
+
|
|
159
|
+
There it *is* applied, but the merge is a shallow top-level `Object.assign`. That means:
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{ "samplingParams": { "text": { "verbosity": "medium" } } }
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
replaces the **entire** `text` object rather than merging into it, discarding any other `text` fields pi had
|
|
166
|
+
already set. This extension deliberately does the opposite: it preserves existing `text` fields and replaces
|
|
167
|
+
only `text.verbosity`.
|
|
168
|
+
|
|
133
169
|
## Debugging
|
|
134
170
|
|
|
135
171
|
Pi does not currently expose a simple CLI flag to print the final provider request body. To verify this extension is
|
|
@@ -159,7 +195,9 @@ delete it when you are done debugging.
|
|
|
159
195
|
|
|
160
196
|
- This extension only changes outgoing provider request payloads.
|
|
161
197
|
- Existing `text` fields are preserved, and only `text.verbosity` is replaced.
|
|
162
|
-
- Only the `openai-codex` provider is supported.
|
|
198
|
+
- Only the `openai-codex` provider is supported. pi 0.84.0's `samplingParams` does not reach that provider, so
|
|
199
|
+
this extension remains the only per-model verbosity control for it — see
|
|
200
|
+
[Why not `samplingParams`?](#why-not-samplingparams).
|
|
163
201
|
- This extension is most useful if you want different verbosity settings for different OpenAI Codex model slugs.
|
|
164
202
|
|
|
165
203
|
## Uninstall
|