Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions packages/models/src/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import { perplexityModels } from "./models/perplexity.js";
import { routewayModels } from "./models/routeway.js";
import { xaiModels } from "./models/xai.js";
import { zaiModels } from "./models/zai.js";
import { zhipuModels } from "./models/zhipu.js";

import type { providers } from "./providers.js";

Expand Down Expand Up @@ -237,4 +238,5 @@ export const models = [
...nousresearchModels,
...routewayModels,
...zaiModels,
...zhipuModels,
] as const satisfies ModelDefinition[];
8 changes: 4 additions & 4 deletions packages/models/src/models/alibaba.ts
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ export const alibabaModels = [
providerId: "nebius",
modelName: "Qwen/Qwen3-235B-A22B-Thinking-2507",
inputPrice: 0.2 / 1e6,
outputPrice: 0.6 / 1e6,
outputPrice: 0.8 / 1e6,
requestPrice: 0,
contextSize: 262000,
maxOutput: 8192,
Expand Down Expand Up @@ -340,9 +340,9 @@ export const alibabaModels = [
providers: [
{
providerId: "nebius",
modelName: "Qwen/Qwen2.5-Coder-7B-fast",
inputPrice: 0.01 / 1e6,
outputPrice: 0.03 / 1e6,
modelName: "Qwen/Qwen2.5-Coder-7B-Instruct",
inputPrice: 0.03 / 1e6,
outputPrice: 0.09 / 1e6,
requestPrice: 0,
contextSize: 32768,
maxOutput: 8192,
Expand Down
25 changes: 23 additions & 2 deletions packages/models/src/models/deepseek.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ export const deepseekModels = [
},
{
providerId: "nebius",
stability: "unstable" as const,
modelName: "deepseek-ai/DeepSeek-V3",
inputPrice: 0.5 / 1e6,
outputPrice: 1.5 / 1e6,
Expand All @@ -36,7 +35,29 @@ export const deepseekModels = [
vision: false,
tools: false,
jsonOutput: false,
deactivatedAt: new Date("2025-11-03"),
},
],
},
{
id: "deepseek-v3-0324",
name: "DeepSeek V3 (0324)",
description: "March 2024 version of DeepSeek V3 with improved performance.",
family: "deepseek",
releasedAt: new Date("2025-03-24"),
publishedAt: new Date("2025-03-24"),
Comment on lines +42 to +47

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Align DeepSeek V3 (0324) description year with releasedAt/publishedAt

Description says “March 2024 version” but releasedAt/publishedAt are 2025-03-24. One of these is likely off by a year; please align description and dates so downstream consumers don’t get confused when sorting/filtering by release date.

🤖 Prompt for AI Agents
In packages/models/src/models/deepseek.ts around lines 42 to 47, the description
string says "March 2024 version" while releasedAt and publishedAt are set to
2025-03-24; update the description to match the 2025 date (e.g., "March 2025
version of DeepSeek V3...") so the textual metadata aligns with
releasedAt/publishedAt and downstream sorting/filtering remains consistent.

Comment on lines +46 to +47

Copilot AI Dec 4, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The description states "March 2024 version" but the releasedAt date is set to March 2025, creating an inconsistency. If this is truly a March 2024 version, the dates should be new Date("2024-03-24"). Please align the description and dates to reflect the correct release timeframe.

Suggested change
releasedAt: new Date("2025-03-24"),
publishedAt: new Date("2025-03-24"),
releasedAt: new Date("2024-03-24"),
publishedAt: new Date("2024-03-24"),

Copilot uses AI. Check for mistakes.
providers: [
{
providerId: "nebius",
modelName: "deepseek-ai/DeepSeek-V3-0324",
inputPrice: 0.5 / 1e6,
outputPrice: 1.5 / 1e6,
requestPrice: 0,
contextSize: 64000,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: false,
},
],
},
Expand Down
46 changes: 46 additions & 0 deletions packages/models/src/models/google.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1139,4 +1139,50 @@ export const googleModels = [
},
],
},
{
id: "gemma-2-2b-it",
name: "Gemma 2 2B IT",
description: "Compact 2B Gemma 2 instruction-tuned model.",
family: "google",
releasedAt: new Date("2024-06-01"),
publishedAt: new Date("2024-06-01"),
providers: [
{
providerId: "nebius",
modelName: "google/gemma-2-2b-it",
inputPrice: 0.02 / 1e6,
outputPrice: 0.06 / 1e6,
requestPrice: 0,
contextSize: 8192,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: false,
},
],
},
{
id: "gemma-2-9b-it",
name: "Gemma 2 9B IT",
description: "Gemma 2 9B instruction-tuned model.",
family: "google",
releasedAt: new Date("2024-06-01"),
publishedAt: new Date("2024-06-01"),
providers: [
{
providerId: "nebius",
modelName: "google/gemma-2-9b-it",
inputPrice: 0.03 / 1e6,
outputPrice: 0.09 / 1e6,
requestPrice: 0,
contextSize: 8192,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: false,
},
],
},
] as const satisfies ModelDefinition[];
24 changes: 24 additions & 0 deletions packages/models/src/models/mistral.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,28 @@ export const mistralModels = [
},
],
},
{
id: "devstral-small-2505",
name: "Devstral Small 2505",
description:
"Mistral's compact coding model optimized for development tasks.",
family: "mistral",
releasedAt: new Date("2025-05-01"),
publishedAt: new Date("2025-05-01"),
providers: [
{
providerId: "nebius",
modelName: "mistralai/Devstral-Small-2505",
inputPrice: 0.08 / 1e6,
outputPrice: 0.24 / 1e6,
requestPrice: 0,
contextSize: 128000,
maxOutput: undefined,
streaming: true,
vision: false,
tools: true,
jsonOutput: true,
},
],
},
] as const satisfies ModelDefinition[];
49 changes: 47 additions & 2 deletions packages/models/src/models/nousresearch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export const nousresearchModels = [
providers: [
{
providerId: "nebius",
modelName: "NousResearch/Hermes-3-Llama-405B",
modelName: "NousResearch/Hermes-3-Llama-3.1-405B",
inputPrice: 1.0 / 1e6,
outputPrice: 3.0 / 1e6,
requestPrice: 0,
Expand All @@ -21,7 +21,52 @@ export const nousresearchModels = [
vision: false,
tools: false,
jsonOutput: true,
deactivatedAt: new Date("2025-11-03"),
},
],
},
{
id: "hermes-4-405b",
name: "Hermes 4 405B",
description: "Nous Research Hermes 4 based on Llama 405B.",
family: "nousresearch",
releasedAt: new Date("2025-01-01"),
publishedAt: new Date("2025-01-01"),
providers: [
{
providerId: "nebius",
modelName: "NousResearch/Hermes-4-405B",
inputPrice: 1.0 / 1e6,
outputPrice: 3.0 / 1e6,
requestPrice: 0,
contextSize: 131072,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: true,
},
],
},
{
id: "hermes-4-70b",
name: "Hermes 4 70B",
description: "Nous Research Hermes 4 based on Llama 70B.",
family: "nousresearch",
releasedAt: new Date("2025-01-01"),
publishedAt: new Date("2025-01-01"),
providers: [
{
providerId: "nebius",
modelName: "NousResearch/Hermes-4-70B",
inputPrice: 0.13 / 1e6,
outputPrice: 0.4 / 1e6,
requestPrice: 0,
contextSize: 131072,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: true,
},
],
},
Expand Down
26 changes: 26 additions & 0 deletions packages/models/src/models/openai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,19 @@ export const openaiModels = [
reasoning: true,
jsonOutput: true,
},
{
providerId: "nebius",
modelName: "nvidia/gpt-oss-120b",
inputPrice: 0.15 / 1e6,
outputPrice: 0.6 / 1e6,
requestPrice: 0,
contextSize: 128000,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: false,
},
Comment on lines +551 to +563

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Search for all Nebius provider entries to check consistency
rg -n 'providerId: "nebius"' packages/models/src/models/openai.ts

# Also check the full context around the gpt-oss-120b and gpt-oss-20b entries
cat -n packages/models/src/models/openai.ts | sed -n '514,618p'

Repository: theopenco/llmgateway

Length of output: 3195


🏁 Script executed:

# Check for reasoning field patterns across all providers to understand if omission is standard
rg -n 'reasoning:' packages/models/src/models/openai.ts | head -20

# Check if there are any other provider entries without reasoning field
rg -B 3 -A 3 'tools: false' packages/models/src/models/openai.ts

Repository: theopenco/llmgateway

Length of output: 2141


Add missing reasoning field to Nebius provider entries.

Both Nebius provider entries (lines 552 and 605) are missing the reasoning field, which is present in all other provider entries across the file. Based on the pattern in the codebase, the field should be explicitly set. Since the Nebius entries have tools: false and jsonOutput: false, and the model descriptions attribute reasoning capabilities specifically to Groq ("via Groq inference"), the reasoning field should be added and set to false for both Nebius entries at lines 551-563 and 604-616.

🤖 Prompt for AI Agents
In packages/models/src/models/openai.ts around lines 551 to 563, the Nebius
provider model entry is missing the standardized boolean "reasoning" field found
on other provider entries; add reasoning: false to this object (and likewise add
reasoning: false to the other Nebius entry at ~604-616) so both Nebius entries
explicitly include reasoning set to false to match the file's pattern and
reflect that these models do not support reasoning.

],
},
{
Expand Down Expand Up @@ -588,6 +601,19 @@ export const openaiModels = [
reasoning: true,
jsonOutput: true,
},
{
providerId: "nebius",
modelName: "nvidia/gpt-oss-20b",
inputPrice: 0.05 / 1e6,
outputPrice: 0.2 / 1e6,
requestPrice: 0,
contextSize: 128000,
maxOutput: undefined,
streaming: true,
vision: false,
tools: false,
jsonOutput: false,
},
],
},
{
Expand Down
50 changes: 50 additions & 0 deletions packages/models/src/models/zhipu.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import type { ModelDefinition } from "@/models.js";

export const zhipuModels = [
{
id: "glm-4-5",
name: "GLM-4.5",
description: "Zhipu AI's GLM-4.5 large language model.",
family: "zhipu",
releasedAt: new Date("2025-01-01"),
publishedAt: new Date("2025-01-01"),
providers: [
{
providerId: "nebius",
modelName: "THUDM/GLM-4.5",
inputPrice: 0.6 / 1e6,
outputPrice: 2.2 / 1e6,
requestPrice: 0,
contextSize: 128000,
maxOutput: undefined,
streaming: true,
vision: false,
tools: true,
jsonOutput: true,
},
],
},
{
id: "glm-4-5-air",
name: "GLM-4.5 Air",
description: "Zhipu AI's lightweight GLM-4.5 Air model.",
family: "zhipu",
releasedAt: new Date("2025-01-01"),
publishedAt: new Date("2025-01-01"),
providers: [
{
providerId: "nebius",
modelName: "THUDM/GLM-4.5-Air",
inputPrice: 0.2 / 1e6,
outputPrice: 1.2 / 1e6,
requestPrice: 0,
contextSize: 128000,
maxOutput: undefined,
streaming: true,
vision: false,
tools: true,
jsonOutput: true,
},
],
},
] as const satisfies ModelDefinition[];
Loading