Repository navigation
Commit 01d7a03
authored
feat(openai): add GPT-6.1 Terra model support (#24081)
## Background
OpenAI released GPT-6.1 Terra. It is the same model family as GPT-6.1
Sol, but it accepts `reasoningEffort: 'none'`, and at `none` it also
accepts `temperature`, `topP`, and logprobs. The AI SDK's capability
logic only allowed `none` for GPT-6 Sol and Luna, so Terra would have
had `none` rejected and those sampling parameters stripped.
- https://openai.com/index/introducing-gpt-6-1-terra/
- https://developers.openai.com/api/docs/models/gpt-6.1-terra
## Summary
- Added `gpt-6.1-terra` to the OpenAI chat and Responses model ID types
and to the Responses reasoning model list.
- Renamed the `isGpt6SolOrLuna` flag in
`openai-language-model-capabilities.ts` to
`isGpt6OrLaterModelWithNoneEffort` and added `gpt-6.1-terra` to it,
alongside `gpt-6-sol` and `gpt-6-luna`. Within GPT-6 and later, `none`
is the exception, so the flag lists the models that support it. This
flag controls both the supported reasoning efforts and whether
`temperature`, `topP`, and logprobs are kept at `none`.
- Everything else about Terra follows the other GPT-6 models: async tool
calling, mid-conversation effort changes, and flex and priority
processing.
- Added `openai/gpt-6.1-terra` and `openai/gpt-6.1-terra-fast` to the AI
Gateway model IDs.
## End-to-End Verification
Verified against the live OpenAI API:
- Both new examples ran and returned text with `finishReason: stop`,
through the Responses API (`generate-text` and `stream-text`).
- With `reasoningEffort: 'none'` and `temperature` and `topP` set, a
call succeeded with no warnings on both the Responses API and Chat
Completions.
- With `reasoningEffort: 'max'`, `temperature` was dropped and a warning
was emitted, as expected.
- Both `openai/gpt-6.1-terra` and `openai/gpt-6.1-terra-fast` returned
responses through AI Gateway.1 parent 22b4461 commit 01d7a03
10 files changed
Lines changed: 83 additions & 8 deletions
File tree
- .changeset
- content/providers/01-ai-sdk-providers
- examples/ai-functions/src
- generate-text/openai
- stream-text/openai
- packages
- gateway/src
- openai/src
- chat
- responses
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
249 | | - | |
250 | | - | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
251 | 251 | | |
252 | 252 | | |
253 | 253 | | |
| |||
3069 | 3069 | | |
3070 | 3070 | | |
3071 | 3071 | | |
| 3072 | + | |
3072 | 3073 | | |
3073 | 3074 | | |
3074 | 3075 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
250 | 252 | | |
251 | 253 | | |
252 | 254 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| 75 | + | |
75 | 76 | | |
76 | 77 | | |
77 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
103 | 104 | | |
| 105 | + | |
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
| |||
135 | 137 | | |
136 | 138 | | |
137 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
138 | 160 | | |
139 | 161 | | |
140 | 162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
| |||
45 | 48 | | |
46 | 49 | | |
47 | 50 | | |
48 | | - | |
49 | | - | |
| 51 | + | |
| 52 | + | |
50 | 53 | | |
51 | | - | |
| 54 | + | |
52 | 55 | | |
53 | 56 | | |
54 | 57 | | |
| |||
61 | 64 | | |
62 | 65 | | |
63 | 66 | | |
64 | | - | |
| 67 | + | |
65 | 68 | | |
66 | 69 | | |
67 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
| 139 | + | |
138 | 140 | | |
139 | 141 | | |
140 | 142 | | |
| |||
0 commit comments