Compare commits

...

4 Commits

Author SHA1 Message Date
Aiden Cline 4ed8b74812 Preserve inherited SambaNova reasoning capabilities 2026-06-10 23:11:11 -05:00
Aiden Cline 5b91e7a8a5 Restore DeepSeek V3.2 reasoning toggle 2026-06-10 20:08:17 -05:00
Aiden Cline 157198f5ea Correct SambaNova reasoning metadata 2026-06-10 19:53:06 -05:00
Aiden Cline 27ecd3d49f Add SambaNova provider catalog 2026-06-10 16:04:57 -05:00
8 changed files with 148 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
import { expect, test } from "bun:test";
import path from "node:path";
import { generate } from "../src/index.js";
test("SambaNova reasoning controls match provider evidence", async () => {
const root = path.join(import.meta.dirname, "..", "..", "..");
const providers = await generate(path.join(root, "providers"));
const models = providers.sambanova?.models;
expect(models?.["DeepSeek-V3.1"]).toMatchObject({
reasoning: true,
reasoning_options: [{ type: "toggle" }],
});
expect(models?.["DeepSeek-V3.2"]).toMatchObject({
reasoning: true,
reasoning_options: [{ type: "toggle" }],
status: "beta",
});
expect(models?.["gpt-oss-120b"]).toMatchObject({
reasoning: true,
reasoning_options: [{ type: "effort", values: ["low", "medium", "high"] }],
});
for (const id of ["MiniMax-M2.7", "gemma-4-31B-it"]) {
expect(models?.[id]?.reasoning, id).toBe(true);
expect(models?.[id]?.reasoning_options, id).toBeUndefined();
}
expect(models?.["gemma-4-31B-it"]?.status).toBe("beta");
expect(models?.["Meta-Llama-3.3-70B-Instruct"]?.reasoning).toBe(false);
expect(models?.["Meta-Llama-3.3-70B-Instruct"]?.reasoning_options).toBeUndefined();
});
@@ -0,0 +1,24 @@
name = "DeepSeek-V3.1"
family = "deepseek"
release_date = "2025-08-21"
last_updated = "2026-06-10"
attachment = false
reasoning = true
reasoning_options = [{ type = "toggle" }]
temperature = true
knowledge = "2024-07"
tool_call = true
structured_output = true
open_weights = true
[cost]
input = 3.00
output = 4.50
[limit]
context = 131_072
output = 7_168
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,25 @@
name = "DeepSeek-V3.2"
family = "deepseek"
release_date = "2025-12-01"
last_updated = "2026-06-10"
attachment = false
reasoning = true
reasoning_options = [{ type = "toggle" }]
temperature = true
knowledge = "2024-12"
tool_call = true
structured_output = true
open_weights = true
status = "beta"
[cost]
input = 3.00
output = 4.50
[limit]
context = 32_768
output = 7_168
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,11 @@
base_model = "meta/llama-3.3-70b-instruct"
attachment = false
structured_output = true
[cost]
input = 0.60
output = 1.20
[limit]
context = 131_072
output = 3_072
@@ -0,0 +1,9 @@
base_model = "minimax/MiniMax-M2.7"
[cost]
input = 0.60
output = 2.40
[limit]
context = 196_608
output = 196_608
@@ -0,0 +1,17 @@
base_model = "google/gemma-4-31b-it"
attachment = false
tool_call = false
structured_output = false
status = "beta"
[cost]
input = 0.38
output = 1.15
[limit]
context = 131_072
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT OSS 120B"
family = "gpt-oss"
release_date = "2025-08-05"
last_updated = "2026-06-10"
attachment = false
reasoning = true
reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }]
temperature = true
knowledge = "2024-06"
tool_call = true
structured_output = true
open_weights = true
[cost]
input = 0.22
output = 0.59
[limit]
context = 131_072
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
+5
View File
@@ -0,0 +1,5 @@
name = "SambaNova"
env = ["SAMBANOVA_API_KEY"]
npm = "@ai-sdk/openai-compatible"
doc = "https://docs.sambanova.ai/docs/en/models/sambacloud-models"
api = "https://api.sambanova.ai/v1"