@ai-sdk/openai 4.0.4 → 4.0.5
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/CHANGELOG.md +7 -0
- package/dist/index.js +1 -1
- package/docs/03-openai.mdx +10 -22
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
package/docs/03-openai.mdx
CHANGED
|
@@ -1863,13 +1863,13 @@ They support additional settings and response metadata:
|
|
|
1863
1863
|
- You can use `providerOptions` to set
|
|
1864
1864
|
- the `reasoningEffort` option (or alternatively the `reasoningEffort` model setting), which determines the amount of reasoning the model performs.
|
|
1865
1865
|
|
|
1866
|
-
- You can use response `
|
|
1866
|
+
- You can use the response `usage` to access the number of reasoning tokens that the model generated via `usage.outputTokenDetails.reasoningTokens`.
|
|
1867
1867
|
|
|
1868
1868
|
```ts highlight="4,7-11,17"
|
|
1869
1869
|
import { openai, type OpenAILanguageModelChatOptions } from '@ai-sdk/openai';
|
|
1870
1870
|
import { generateText } from 'ai';
|
|
1871
1871
|
|
|
1872
|
-
const { text, usage
|
|
1872
|
+
const { text, usage } = await generateText({
|
|
1873
1873
|
model: openai.chat('gpt-5'),
|
|
1874
1874
|
prompt: 'Invent a new holiday and describe its traditions.',
|
|
1875
1875
|
providerOptions: {
|
|
@@ -1880,10 +1880,7 @@ const { text, usage, providerMetadata } = await generateText({
|
|
|
1880
1880
|
});
|
|
1881
1881
|
|
|
1882
1882
|
console.log(text);
|
|
1883
|
-
console.log('
|
|
1884
|
-
...usage,
|
|
1885
|
-
reasoningTokens: providerMetadata?.openai?.reasoningTokens,
|
|
1886
|
-
});
|
|
1883
|
+
console.log('Reasoning tokens:', usage.outputTokenDetails.reasoningTokens);
|
|
1887
1884
|
```
|
|
1888
1885
|
|
|
1889
1886
|
<Note>
|
|
@@ -2215,7 +2212,7 @@ including `gpt-4o` and `gpt-4o-mini`.
|
|
|
2215
2212
|
|
|
2216
2213
|
- Prompt caching is automatically enabled for these models, when the prompt is 1024 tokens or longer. It does
|
|
2217
2214
|
not need to be explicitly enabled.
|
|
2218
|
-
- You can use response `
|
|
2215
|
+
- You can use the response `usage` to access the number of prompt tokens that were a cache hit via `usage.inputTokenDetails.cacheReadTokens`.
|
|
2219
2216
|
- Note that caching behavior is dependent on load on OpenAI's infrastructure. Prompt prefixes generally remain in the
|
|
2220
2217
|
cache following 5-10 minutes of inactivity before they are evicted, but during off-peak periods they may persist for up
|
|
2221
2218
|
to an hour.
|
|
@@ -2224,15 +2221,12 @@ including `gpt-4o` and `gpt-4o-mini`.
|
|
|
2224
2221
|
import { openai } from '@ai-sdk/openai';
|
|
2225
2222
|
import { generateText } from 'ai';
|
|
2226
2223
|
|
|
2227
|
-
const { text, usage
|
|
2224
|
+
const { text, usage } = await generateText({
|
|
2228
2225
|
model: openai.chat('gpt-4o-mini'),
|
|
2229
2226
|
prompt: `A 1024-token or longer prompt...`,
|
|
2230
2227
|
});
|
|
2231
2228
|
|
|
2232
|
-
console.log(
|
|
2233
|
-
...usage,
|
|
2234
|
-
cachedPromptTokens: providerMetadata?.openai?.cachedPromptTokens,
|
|
2235
|
-
});
|
|
2229
|
+
console.log('Cached tokens:', usage.inputTokenDetails.cacheReadTokens);
|
|
2236
2230
|
```
|
|
2237
2231
|
|
|
2238
2232
|
To improve cache hit rates, you can manually control caching using the `promptCacheKey` option:
|
|
@@ -2241,7 +2235,7 @@ To improve cache hit rates, you can manually control caching using the `promptCa
|
|
|
2241
2235
|
import { openai, type OpenAILanguageModelChatOptions } from '@ai-sdk/openai';
|
|
2242
2236
|
import { generateText } from 'ai';
|
|
2243
2237
|
|
|
2244
|
-
const { text, usage
|
|
2238
|
+
const { text, usage } = await generateText({
|
|
2245
2239
|
model: openai.chat('gpt-5'),
|
|
2246
2240
|
prompt: `A 1024-token or longer prompt...`,
|
|
2247
2241
|
providerOptions: {
|
|
@@ -2251,10 +2245,7 @@ const { text, usage, providerMetadata } = await generateText({
|
|
|
2251
2245
|
},
|
|
2252
2246
|
});
|
|
2253
2247
|
|
|
2254
|
-
console.log(
|
|
2255
|
-
...usage,
|
|
2256
|
-
cachedPromptTokens: providerMetadata?.openai?.cachedPromptTokens,
|
|
2257
|
-
});
|
|
2248
|
+
console.log('Cached tokens:', usage.inputTokenDetails.cacheReadTokens);
|
|
2258
2249
|
```
|
|
2259
2250
|
|
|
2260
2251
|
For GPT-5.1 models, you can enable extended prompt caching that keeps cached prefixes active for up to 24 hours:
|
|
@@ -2263,7 +2254,7 @@ For GPT-5.1 models, you can enable extended prompt caching that keeps cached pre
|
|
|
2263
2254
|
import { openai, type OpenAILanguageModelChatOptions } from '@ai-sdk/openai';
|
|
2264
2255
|
import { generateText } from 'ai';
|
|
2265
2256
|
|
|
2266
|
-
const { text, usage
|
|
2257
|
+
const { text, usage } = await generateText({
|
|
2267
2258
|
model: openai.chat('gpt-5.1'),
|
|
2268
2259
|
prompt: `A 1024-token or longer prompt...`,
|
|
2269
2260
|
providerOptions: {
|
|
@@ -2274,10 +2265,7 @@ const { text, usage, providerMetadata } = await generateText({
|
|
|
2274
2265
|
},
|
|
2275
2266
|
});
|
|
2276
2267
|
|
|
2277
|
-
console.log(
|
|
2278
|
-
...usage,
|
|
2279
|
-
cachedPromptTokens: providerMetadata?.openai?.cachedPromptTokens,
|
|
2280
|
-
});
|
|
2268
|
+
console.log('Cached tokens:', usage.inputTokenDetails.cacheReadTokens);
|
|
2281
2269
|
```
|
|
2282
2270
|
|
|
2283
2271
|
#### Audio Input
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/openai",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ai-sdk/provider": "4.0.1",
|
|
39
|
-
"@ai-sdk/provider-utils": "5.0.
|
|
39
|
+
"@ai-sdk/provider-utils": "5.0.3"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "22.19.19",
|