Switch default model to google/gemini-2.5-flash, add max_tokens: 3500, and safeguard JSON truncation on parse
This commit is contained in:
parent
62b07080ed
commit
9e5742307b
2 changed files with 18 additions and 2 deletions
|
|
@ -36,7 +36,7 @@ services:
|
|||
NEXTAUTH_URL: "${NEXTAUTH_URL:-http://localhost:3000}"
|
||||
NODE_ENV: "production"
|
||||
OPENROUTER_API_KEY: "${OPENROUTER_API_KEY:-}"
|
||||
OPENROUTER_MODEL: "${OPENROUTER_MODEL:-meta-llama/llama-3.2-3b-instruct}"
|
||||
OPENROUTER_MODEL: "${OPENROUTER_MODEL:-google/gemini-2.5-flash}"
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
|
|
|
|||
|
|
@ -406,6 +406,7 @@ CRITICAL EXTRACTION GUIDELINES:
|
|||
body: JSON.stringify({
|
||||
model,
|
||||
temperature: 0.1,
|
||||
max_tokens: 3500,
|
||||
messages: [
|
||||
{ role: "system", content: systemPrompt },
|
||||
{
|
||||
|
|
@ -431,7 +432,22 @@ CRITICAL EXTRACTION GUIDELINES:
|
|||
// Clean markdown code fence wrappers if present
|
||||
content = content.replace(/^```(?:json)?\s*/i, "").replace(/\s*```$/i, "").trim();
|
||||
|
||||
const parsed = JSON.parse(content);
|
||||
let parsed: any = null;
|
||||
try {
|
||||
parsed = JSON.parse(content);
|
||||
} catch (parseErr: any) {
|
||||
console.warn("[Resume Parser] JSON parse error on raw output:", parseErr.message, "Raw snippet:", content.slice(0, 300));
|
||||
// Attempt repair if closed prematurely
|
||||
const lastBrace = content.lastIndexOf("}");
|
||||
if (lastBrace > 0) {
|
||||
try {
|
||||
parsed = JSON.parse(content.slice(0, lastBrace + 1));
|
||||
} catch (repairErr) {
|
||||
// Could not salvage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (parsed && (parsed.profile || Array.isArray(parsed.work))) {
|
||||
console.log("[Resume Parser] Successfully extracted structured resume with LLM.");
|
||||
return parsed;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue