Change anthropic model
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# ── Provider API keys ───────────────────────────────────────────────────────
|
# ── Provider API keys ───────────────────────────────────────────────────────
|
||||||
# Only keys for models you intend to use are required.
|
# Only keys for models you intend to use are required.
|
||||||
|
|
||||||
# Anthropic — for claude-sonnet-4-6-20250929
|
# Anthropic — for claude-sonnet-4-6
|
||||||
# Get key: https://console.anthropic.com/settings/keys
|
# Get key: https://console.anthropic.com/settings/keys
|
||||||
ANTHROPIC_API_KEY=your-anthropic-key
|
ANTHROPIC_API_KEY=your-anthropic-key
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export const Job = sequelize.define('Job', {
|
|||||||
model: {
|
model: {
|
||||||
type: DataTypes.STRING(128),
|
type: DataTypes.STRING(128),
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
defaultValue: 'anthropic/claude-sonnet-4.6',
|
defaultValue: 'claude-sonnet-4-6',
|
||||||
},
|
},
|
||||||
inputTokens: { type: DataTypes.INTEGER, allowNull: true },
|
inputTokens: { type: DataTypes.INTEGER, allowNull: true },
|
||||||
outputTokens: { type: DataTypes.INTEGER, allowNull: true },
|
outputTokens: { type: DataTypes.INTEGER, allowNull: true },
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { createGoogleGenerativeAI } from '@ai-sdk/google';
|
|||||||
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
|
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
|
||||||
import { Job } from '../db/models.js';
|
import { Job } from '../db/models.js';
|
||||||
import { broadcast } from '../ws/broadcast.js';
|
import { broadcast } from '../ws/broadcast.js';
|
||||||
import { findModel, DEFAULT_MODEL_ID } from '../models.js';
|
import { findModel, DEFAULT_MODEL_ID, normalizeModelId } from '../models.js';
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// Provider instances
|
// Provider instances
|
||||||
@@ -43,7 +43,8 @@ const PROVIDERS = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function resolveModel(modelId) {
|
function resolveModel(modelId) {
|
||||||
const meta = findModel(modelId) ?? findModel(DEFAULT_MODEL_ID);
|
const normalized = normalizeModelId(modelId);
|
||||||
|
const meta = findModel(normalized) ?? findModel(DEFAULT_MODEL_ID);
|
||||||
return PROVIDERS[meta.provider](meta.id);
|
return PROVIDERS[meta.provider](meta.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
export const MODELS = [
|
export const MODELS = [
|
||||||
{
|
{
|
||||||
id: 'claude-sonnet-4-6-20250929',
|
id: 'claude-sonnet-4-6',
|
||||||
label: 'Claude Sonnet 4.6',
|
label: 'Claude Sonnet 4.6',
|
||||||
provider: 'anthropic',
|
provider: 'anthropic',
|
||||||
creator: 'Anthropic',
|
creator: 'Anthropic',
|
||||||
@@ -45,8 +45,19 @@ export const MODELS = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const DEFAULT_MODEL_ID = 'claude-sonnet-4-6-20250929';
|
export const DEFAULT_MODEL_ID = 'claude-sonnet-4-6';
|
||||||
|
|
||||||
export function findModel(id) {
|
export function findModel(id) {
|
||||||
return MODELS.find(m => m.id === id);
|
return MODELS.find(m => m.id === id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function normalizeModelId(raw) {
|
||||||
|
if (!raw) return raw;
|
||||||
|
// Allow legacy "provider/model" storage (e.g. "anthropic/claude-sonnet-4.6")
|
||||||
|
const noProvider = String(raw).includes('/') ? String(raw).split('/').pop() : String(raw);
|
||||||
|
|
||||||
|
// Allow legacy dotted Claude naming used in early versions of this repo.
|
||||||
|
if (noProvider === 'claude-sonnet-4.6') return 'claude-sonnet-4-6';
|
||||||
|
|
||||||
|
return noProvider;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user