Skip to content

Commit 833b639

Browse files
committed
chore: opengpt meta
1 parent fcf9360 commit 833b639

2 files changed

Lines changed: 104 additions & 0 deletions

File tree

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
import type {
2+
OllamaChatRequest,
3+
OllamaChatRequestMessages,
4+
OllamaChatRequestThinking_OpenAI,
5+
OllamaChatRequestTools,
6+
OllamaMessageTools,
7+
OllamaModelMeta,
8+
} from './models-meta'
9+
10+
const OPT_OSS_LATEST = {
11+
name: 'gpt-oss:latest',
12+
supports: {
13+
input: ['text'],
14+
output: ['text'],
15+
capabilities: ['tools', 'thinking'],
16+
},
17+
size: '14gb',
18+
context: 128_000,
19+
} as const satisfies OllamaModelMeta<
20+
OllamaChatRequest &
21+
OllamaChatRequestMessages<OllamaMessageTools> &
22+
OllamaChatRequestTools &
23+
OllamaChatRequestThinking_OpenAI
24+
>
25+
26+
const OPT_OSS_20b = {
27+
name: 'gpt-oss:20b',
28+
supports: {
29+
input: ['text'],
30+
output: ['text'],
31+
capabilities: ['tools'],
32+
},
33+
size: '14gb',
34+
context: 128_000,
35+
} as const satisfies OllamaModelMeta<
36+
OllamaChatRequest &
37+
OllamaChatRequestMessages<OllamaMessageTools> &
38+
OllamaChatRequestTools &
39+
OllamaChatRequestThinking_OpenAI
40+
>
41+
42+
const OPT_OSS_120b = {
43+
name: 'gpt-oss:120b',
44+
supports: {
45+
input: ['text'],
46+
output: ['text'],
47+
capabilities: ['tools'],
48+
},
49+
size: '65gb',
50+
context: 128_000,
51+
} as const satisfies OllamaModelMeta<
52+
OllamaChatRequest &
53+
OllamaChatRequestMessages<OllamaMessageTools> &
54+
OllamaChatRequestTools &
55+
OllamaChatRequestThinking_OpenAI
56+
>
57+
58+
export const GPT_OSS_MODELS = [
59+
OPT_OSS_LATEST.name,
60+
OPT_OSS_20b.name,
61+
OPT_OSS_120b.name,
62+
] as const
63+
64+
// const GPT_OSS_IMAGE_MODELS = [] as const
65+
66+
// export const GPT_OSS_EMBEDDING_MODELS = [] as const
67+
68+
// const GPT_OSS_AUDIO_MODELS = [] as const
69+
70+
// const GPT_OSS_VIDEO_MODELS = [] as const
71+
72+
// export type GptOssChatModels = (typeof GPT_OSS_MODELS)[number]
73+
74+
// Manual type map for per-model provider options
75+
export type GptOssChatModelProviderOptionsByName = {
76+
// Models with thinking and structured output support
77+
[OPT_OSS_LATEST.name]: OllamaChatRequest &
78+
OllamaChatRequestMessages<OllamaMessageTools> &
79+
OllamaChatRequestTools &
80+
OllamaChatRequestThinking_OpenAI
81+
[OPT_OSS_20b.name]: OllamaChatRequest &
82+
OllamaChatRequestMessages<OllamaMessageTools> &
83+
OllamaChatRequestTools &
84+
OllamaChatRequestThinking_OpenAI
85+
[OPT_OSS_120b.name]: OllamaChatRequest &
86+
OllamaChatRequestMessages<OllamaMessageTools> &
87+
OllamaChatRequestTools &
88+
OllamaChatRequestThinking_OpenAI
89+
}
90+
91+
export type GptOssModelInputModalitiesByName = {
92+
// Models with text, image, audio, video (no document)
93+
[OPT_OSS_LATEST.name]: typeof OPT_OSS_LATEST.supports.input
94+
[OPT_OSS_20b.name]: typeof OPT_OSS_20b.supports.input
95+
[OPT_OSS_120b.name]: typeof OPT_OSS_120b.supports.input
96+
}

packages/typescript/ai-ollama/src/model-meta.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { FIREFUNCTION_V2_MODELS } from './meta/model-meta-firefunction-v2'
1919
import { GEMMA_MODELS } from './meta/model-meta-gemma'
2020
import { GEMMA2_MODELS } from './meta/model-meta-gemma2'
2121
import { GEMMA3_MODELS } from './meta/model-meta-gemma3'
22+
import { GPT_OSS_MODELS } from './meta/model-meta-gpt-oss'
2223
import { GRANITE3_DENSE_MODELS } from './meta/model-meta-granite3-dense'
2324
import { GRANITE3_GUARDIAN_MODELS } from './meta/model-meta-granite3-guardian'
2425
import { GRANITE3_MOE_MODELS } from './meta/model-meta-granite3-moe'
@@ -145,6 +146,10 @@ import type {
145146
Gemma3ChatModelProviderOptionsByName,
146147
Gemma3ModelInputModalitiesByName,
147148
} from './meta/model-meta-gemma3'
149+
import type {
150+
GptOssChatModelProviderOptionsByName,
151+
GptOssModelInputModalitiesByName,
152+
} from './meta/model-meta-gpt-oss'
148153
import type {
149154
Granite3DenseChatModelProviderOptionsByName,
150155
Granite3DenseModelInputModalitiesByName,
@@ -343,6 +348,7 @@ export const OLLAMA_TEXT_MODELS = [
343348
...GEMMA_MODELS,
344349
...GEMMA2_MODELS,
345350
...GEMMA3_MODELS,
351+
...GPT_OSS_MODELS,
346352
...GRANITE3_DENSE_MODELS,
347353
...GRANITE3_GUARDIAN_MODELS,
348354
...GRANITE3_MOE_MODELS,
@@ -411,6 +417,7 @@ export type OllamaChatModelProviderOptionsByName =
411417
GemmaChatModelProviderOptionsByName &
412418
Gemma2ChatModelProviderOptionsByName &
413419
Gemma3ChatModelProviderOptionsByName &
420+
GptOssChatModelProviderOptionsByName &
414421
Granite3DenseChatModelProviderOptionsByName &
415422
Granite3GuardianChatModelProviderOptionsByName &
416423
Granite3MoeChatModelProviderOptionsByName &
@@ -477,6 +484,7 @@ export type OllamaModelInputModalitiesByName =
477484
GemmaModelInputModalitiesByName &
478485
Gemma2ModelInputModalitiesByName &
479486
Gemma3ModelInputModalitiesByName &
487+
GptOssModelInputModalitiesByName &
480488
Granite3DenseModelInputModalitiesByName &
481489
Granite3GuardianModelInputModalitiesByName &
482490
Granite3MoeModelInputModalitiesByName &

0 commit comments

Comments
 (0)