default model should be google/gemini-3-flash-preview

This commit is contained in:
DaKheera47 2026-01-22 22:20:21 +00:00
parent d58dcbb441
commit 9e7bd43a42
8 changed files with 13 additions and 13 deletions

View File

@ -23,14 +23,14 @@ vi.mock("sonner", () => ({
})) }))
const baseSettings: AppSettings = { const baseSettings: AppSettings = {
model: "openai/gpt-4o-mini", model: "google/gemini-3-flash-preview",
defaultModel: "openai/gpt-4o-mini", defaultModel: "google/gemini-3-flash-preview",
overrideModel: null, overrideModel: null,
modelScorer: "openai/gpt-4o-mini", modelScorer: "google/gemini-3-flash-preview",
overrideModelScorer: null, overrideModelScorer: null,
modelTailoring: "openai/gpt-4o-mini", modelTailoring: "google/gemini-3-flash-preview",
overrideModelTailoring: null, overrideModelTailoring: null,
modelProjectSelection: "openai/gpt-4o-mini", modelProjectSelection: "google/gemini-3-flash-preview",
overrideModelProjectSelection: null, overrideModelProjectSelection: null,
pipelineWebhookUrl: "", pipelineWebhookUrl: "",
defaultPipelineWebhookUrl: "", defaultPipelineWebhookUrl: "",
@ -160,7 +160,7 @@ describe("SettingsPage", () => {
const modelField = screen.getByText("Override model").parentElement ?? screen.getByRole("main") const modelField = screen.getByText("Override model").parentElement ?? screen.getByRole("main")
const modelInput = within(modelField).getByRole("textbox") const modelInput = within(modelField).getByRole("textbox")
// Change to > 200 chars // Change to > 200 chars
fireEvent.change(modelInput, { target: { value: "a".repeat(201) } }) fireEvent.change(modelInput, { target: { value: "a".repeat(201) } })

View File

@ -31,7 +31,7 @@ export const ModelSettingsSection: React.FC<ModelSettingsSectionProps> = ({
<SettingsInput <SettingsInput
label="Override model" label="Override model"
inputProps={register("model")} inputProps={register("model")}
placeholder={defaultModel || "openai/gpt-4o-mini"} placeholder={defaultModel || "google/gemini-3-flash-preview"}
disabled={isLoading || isSaving} disabled={isLoading || isSaving}
error={errors.model?.message as string | undefined} error={errors.model?.message as string | undefined}
helper="Leave blank to use the default from server env (`MODEL`)." helper="Leave blank to use the default from server env (`MODEL`)."

View File

@ -62,7 +62,7 @@ export async function inferManualJobDetails(jobDescription: string): Promise<Man
} }
const overrideModel = await getSetting('model'); const overrideModel = await getSetting('model');
const model = overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; const model = overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview';
const prompt = buildInferencePrompt(jobDescription); const prompt = buildInferencePrompt(jobDescription);
const result = await callOpenRouter<ManualJobApiResponse>({ const result = await callOpenRouter<ManualJobApiResponse>({

View File

@ -43,7 +43,7 @@ export async function pickProjectIdsForJob(args: {
getSetting('modelProjectSelection'), getSetting('modelProjectSelection'),
]); ]);
// Precedence: Project-specific override > Global override > Env var > Default // Precedence: Project-specific override > Global override > Env var > Default
const model = overrideModelProjectSelection || overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; const model = overrideModelProjectSelection || overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview';
const prompt = buildProjectSelectionPrompt({ const prompt = buildProjectSelectionPrompt({
jobDescription: args.jobDescription, jobDescription: args.jobDescription,

View File

@ -49,7 +49,7 @@ export async function scoreJobSuitability(
getSetting('modelScorer'), getSetting('modelScorer'),
]); ]);
// Precedence: Scorer-specific override > Global override > Env var > Default // Precedence: Scorer-specific override > Global override > Env var > Default
const model = overrideModelScorer || overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; const model = overrideModelScorer || overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview';
const prompt = buildScoringPrompt(job, profile); const prompt = buildScoringPrompt(job, profile);

View File

@ -19,7 +19,7 @@ export async function getEffectiveSettings(): Promise<AppSettings> {
const envSettings = await getEnvSettingsData(overrides); const envSettings = await getEnvSettingsData(overrides);
const defaultModel = process.env.MODEL || 'openai/gpt-4o-mini'; const defaultModel = process.env.MODEL || 'google/gemini-3-flash-preview';
const overrideModel = overrides.model ?? null; const overrideModel = overrides.model ?? null;
const model = overrideModel || defaultModel; const model = overrideModel || defaultModel;

View File

@ -74,7 +74,7 @@ export async function generateTailoring(
getSetting('modelTailoring'), getSetting('modelTailoring'),
]); ]);
// Precedence: Tailoring-specific override > Global override > Env var > Default // Precedence: Tailoring-specific override > Global override > Env var > Default
const model = overrideModelTailoring || overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; const model = overrideModelTailoring || overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview';
const prompt = buildTailoringPrompt(profile, jobDescription); const prompt = buildTailoringPrompt(profile, jobDescription);
const result = await callOpenRouter<TailoredData>({ const result = await callOpenRouter<TailoredData>({

View File

@ -110,7 +110,7 @@ def generate_resume_summary(
load_dotenv() load_dotenv()
api_key = os.getenv("OPENROUTER_API_KEY") api_key = os.getenv("OPENROUTER_API_KEY")
model = os.getenv("MODEL", "openai/gpt-4o-mini") model = os.getenv("MODEL", "google/gemini-3-flash-preview")
if not api_key: if not api_key:
raise RuntimeError("Missing OPENROUTER_API_KEY in .env") raise RuntimeError("Missing OPENROUTER_API_KEY in .env")