From bd480c9c440182f01afbe4992e87b2615794d317 Mon Sep 17 00:00:00 2001 From: Guillaume Gay Date: Wed, 2 Sep 2026 20:27:48 +0000 Subject: [PATCH] feat: add nvidia/openai/gpt-oss-20b --- models/nvidia/gpt-oss-20b.yaml | 65 ++++++++++++++ .../src/modelparams/_generated/catalog.json | 87 +++++++++++++++++++ .../src/modelparams/_generated/model_ids.py | 2 + .../src/modelparams/_generated/registry.py | 1 + .../src/modelparams/types/nvidia.py | 16 ++++ packages/modelparams/src/generated/data.ts | 87 +++++++++++++++++++ .../modelparams/src/generated/defaults.ts | 8 ++ .../modelparams/src/generated/model-ids.ts | 1 + .../modelparams/src/generated/params-by-id.ts | 9 ++ 9 files changed, 276 insertions(+) create mode 100644 models/nvidia/gpt-oss-20b.yaml diff --git a/models/nvidia/gpt-oss-20b.yaml b/models/nvidia/gpt-oss-20b.yaml new file mode 100644 index 00000000..d13f4694 --- /dev/null +++ b/models/nvidia/gpt-oss-20b.yaml @@ -0,0 +1,65 @@ +# yaml-language-server: $schema=https://modelparams.dev/api/v1/schema.json +provider: nvidia +authType: api_key +apiSurface: openai-chat-completions +model: gpt-oss-20b +wireId: openai/gpt-oss-20b +params: + - path: temperature + type: number + label: Temperature + description: Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call. + default: 0.6 + range: + min: 0 + max: 1 + group: sampling + - path: top_p + type: number + label: Top P + description: Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call. + default: 0.95 + range: + max: 1 + group: sampling + - path: max_tokens + type: integer + label: Max tokens + description: Maximum number of tokens to generate. Generation stops when this limit is reached. + default: 4096 + range: + min: 1 + max: 16384 + group: generation_length + - path: frequency_penalty + type: number + label: Frequency penalty + description: Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. + default: 0 + range: + min: -2 + max: 2 + group: sampling + - path: presence_penalty + type: number + label: Presence penalty + description: Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. + default: 0 + range: + min: -2 + max: 2 + group: sampling + - path: seed + type: integer + label: Seed + description: Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results. + default: 0 + range: + min: 0 + max: 18446744073709552000 + group: sampling + - path: stop + type: string + label: Stop + description: A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence. + group: generation_length diff --git a/packages/modelparams-python/src/modelparams/_generated/catalog.json b/packages/modelparams-python/src/modelparams/_generated/catalog.json index 89cd3742..229f54f7 100644 --- a/packages/modelparams-python/src/modelparams/_generated/catalog.json +++ b/packages/modelparams-python/src/modelparams/_generated/catalog.json @@ -22012,6 +22012,93 @@ } ] }, + { + "provider": "nvidia", + "authType": "api_key", + "apiSurface": "openai-chat-completions", + "model": "gpt-oss-20b", + "wireId": "openai/gpt-oss-20b", + "params": [ + { + "path": "temperature", + "label": "Temperature", + "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.", + "group": "sampling", + "type": "number", + "default": 0.6, + "range": { + "min": 0, + "max": 1 + } + }, + { + "path": "top_p", + "label": "Top P", + "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.", + "group": "sampling", + "type": "number", + "default": 0.95, + "range": { + "max": 1 + } + }, + { + "path": "max_tokens", + "label": "Max tokens", + "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.", + "group": "generation_length", + "type": "integer", + "default": 4096, + "range": { + "min": 1, + "max": 16384 + } + }, + { + "path": "frequency_penalty", + "label": "Frequency penalty", + "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.", + "group": "sampling", + "type": "number", + "default": 0, + "range": { + "min": -2, + "max": 2 + } + }, + { + "path": "presence_penalty", + "label": "Presence penalty", + "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.", + "group": "sampling", + "type": "number", + "default": 0, + "range": { + "min": -2, + "max": 2 + } + }, + { + "path": "seed", + "label": "Seed", + "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.", + "group": "sampling", + "type": "integer", + "default": 0, + "range": { + "min": 0, + "max": 18446744073709552000 + } + }, + { + "path": "stop", + "label": "Stop", + "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.", + "group": "generation_length", + "type": "string" + } + ] + }, { "provider": "nvidia", "authType": "api_key", diff --git a/packages/modelparams-python/src/modelparams/_generated/model_ids.py b/packages/modelparams-python/src/modelparams/_generated/model_ids.py index 7415f46f..9cabc33d 100644 --- a/packages/modelparams-python/src/modelparams/_generated/model_ids.py +++ b/packages/modelparams-python/src/modelparams/_generated/model_ids.py @@ -271,6 +271,7 @@ "moonshot/moonshot-v1-8k", "nvidia/deepseek-v4-flash-0731", "nvidia/gliner-pii", + "nvidia/gpt-oss-20b", "nvidia/llama-3.1-nemoguard-8b-topic-control", "nvidia/llama-3.1-nemotron-nano-8b-v1", "nvidia/llama-3.1-nemotron-safety-guard-8b-v3", @@ -674,6 +675,7 @@ "moonshot/moonshot-v1-8k", "nvidia/deepseek-v4-flash-0731", "nvidia/gliner-pii", + "nvidia/gpt-oss-20b", "nvidia/llama-3.1-nemoguard-8b-topic-control", "nvidia/llama-3.1-nemotron-nano-8b-v1", "nvidia/llama-3.1-nemotron-safety-guard-8b-v3", diff --git a/packages/modelparams-python/src/modelparams/_generated/registry.py b/packages/modelparams-python/src/modelparams/_generated/registry.py index 76e0ddd7..6aa8c3cd 100644 --- a/packages/modelparams-python/src/modelparams/_generated/registry.py +++ b/packages/modelparams-python/src/modelparams/_generated/registry.py @@ -296,6 +296,7 @@ "moonshot/moonshot-v1-8k": moonshot.Moonshot_V1_8kParams, "nvidia/deepseek-v4-flash-0731": nvidia.Deepseek_V4_Flash_0731Params, "nvidia/gliner-pii": nvidia.Gliner_PiiParams, + "nvidia/gpt-oss-20b": nvidia.Gpt_Oss_20bParams, "nvidia/llama-3.1-nemoguard-8b-topic-control": nvidia.Llama_3_1_Nemoguard_8b_Topic_ControlParams, "nvidia/llama-3.1-nemotron-nano-8b-v1": nvidia.Llama_3_1_Nemotron_Nano_8b_V1Params, "nvidia/llama-3.1-nemotron-safety-guard-8b-v3": nvidia.Llama_3_1_Nemotron_Safety_Guard_8b_V3Params, diff --git a/packages/modelparams-python/src/modelparams/types/nvidia.py b/packages/modelparams-python/src/modelparams/types/nvidia.py index 1a556546..d83384e2 100644 --- a/packages/modelparams-python/src/modelparams/types/nvidia.py +++ b/packages/modelparams-python/src/modelparams/types/nvidia.py @@ -37,6 +37,21 @@ ) setattr(Gliner_PiiParams, "__pydantic_config__", _PARAMS_CONFIG) +Gpt_Oss_20bParams = TypedDict( + "Gpt_Oss_20bParams", + { + "temperature": Annotated[float, Field(ge=0, le=1)], + "top_p": Annotated[float, Field(le=1)], + "max_tokens": Annotated[int, Field(ge=1, le=16384)], + "frequency_penalty": Annotated[float, Field(ge=-2, le=2)], + "presence_penalty": Annotated[float, Field(ge=-2, le=2)], + "seed": Annotated[int, Field(ge=0, le=18446744073709552000)], + "stop": str, + }, + total=False, +) +setattr(Gpt_Oss_20bParams, "__pydantic_config__", _PARAMS_CONFIG) + Llama_3_1_Nemoguard_8b_Topic_ControlParams = TypedDict( "Llama_3_1_Nemoguard_8b_Topic_ControlParams", { @@ -242,6 +257,7 @@ __all__ = [ "Deepseek_V4_Flash_0731Params", "Gliner_PiiParams", + "Gpt_Oss_20bParams", "Llama_3_1_Nemoguard_8b_Topic_ControlParams", "Llama_3_1_Nemotron_Nano_8b_V1Params", "Llama_3_1_Nemotron_Safety_Guard_8b_V3Params", diff --git a/packages/modelparams/src/generated/data.ts b/packages/modelparams/src/generated/data.ts index 9e501820..b7892e58 100644 --- a/packages/modelparams/src/generated/data.ts +++ b/packages/modelparams/src/generated/data.ts @@ -22017,6 +22017,93 @@ const GENERATED_CATALOG = [ } ] }, + { + "provider": "nvidia", + "authType": "api_key", + "apiSurface": "openai-chat-completions", + "model": "gpt-oss-20b", + "wireId": "openai/gpt-oss-20b", + "params": [ + { + "path": "temperature", + "label": "Temperature", + "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.", + "group": "sampling", + "type": "number", + "default": 0.6, + "range": { + "min": 0, + "max": 1 + } + }, + { + "path": "top_p", + "label": "Top P", + "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.", + "group": "sampling", + "type": "number", + "default": 0.95, + "range": { + "max": 1 + } + }, + { + "path": "max_tokens", + "label": "Max tokens", + "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.", + "group": "generation_length", + "type": "integer", + "default": 4096, + "range": { + "min": 1, + "max": 16384 + } + }, + { + "path": "frequency_penalty", + "label": "Frequency penalty", + "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.", + "group": "sampling", + "type": "number", + "default": 0, + "range": { + "min": -2, + "max": 2 + } + }, + { + "path": "presence_penalty", + "label": "Presence penalty", + "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.", + "group": "sampling", + "type": "number", + "default": 0, + "range": { + "min": -2, + "max": 2 + } + }, + { + "path": "seed", + "label": "Seed", + "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.", + "group": "sampling", + "type": "integer", + "default": 0, + "range": { + "min": 0, + "max": 18446744073709552000 + } + }, + { + "path": "stop", + "label": "Stop", + "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.", + "group": "generation_length", + "type": "string" + } + ] + }, { "provider": "nvidia", "authType": "api_key", diff --git a/packages/modelparams/src/generated/defaults.ts b/packages/modelparams/src/generated/defaults.ts index 3083b1bf..79e97d2a 100644 --- a/packages/modelparams/src/generated/defaults.ts +++ b/packages/modelparams/src/generated/defaults.ts @@ -1302,6 +1302,14 @@ export const DEFAULTS = { overlap: 128, flat_ner: false, }, + "nvidia/gpt-oss-20b": { + temperature: 0.6, + top_p: 0.95, + max_tokens: 4096, + frequency_penalty: 0, + presence_penalty: 0, + seed: 0, + }, "nvidia/llama-3.1-nemoguard-8b-topic-control": { temperature: 0.5, top_p: 1, diff --git a/packages/modelparams/src/generated/model-ids.ts b/packages/modelparams/src/generated/model-ids.ts index 0616507c..e501b842 100644 --- a/packages/modelparams/src/generated/model-ids.ts +++ b/packages/modelparams/src/generated/model-ids.ts @@ -269,6 +269,7 @@ export const MODEL_IDS = [ "moonshot/moonshot-v1-8k", "nvidia/deepseek-v4-flash-0731", "nvidia/gliner-pii", + "nvidia/gpt-oss-20b", "nvidia/llama-3.1-nemoguard-8b-topic-control", "nvidia/llama-3.1-nemotron-nano-8b-v1", "nvidia/llama-3.1-nemotron-safety-guard-8b-v3", diff --git a/packages/modelparams/src/generated/params-by-id.ts b/packages/modelparams/src/generated/params-by-id.ts index fc3b5c18..a7b0d0be 100644 --- a/packages/modelparams/src/generated/params-by-id.ts +++ b/packages/modelparams/src/generated/params-by-id.ts @@ -2181,6 +2181,15 @@ export type ParamsById = { overlap: number; flat_ner: boolean; }; + "nvidia/gpt-oss-20b": { + temperature: number; + top_p: number; + max_tokens: number; + frequency_penalty: number; + presence_penalty: number; + seed: number; + stop: string; + }; "nvidia/llama-3.1-nemoguard-8b-topic-control": { temperature: number; top_p: number;