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}"
|
NEXTAUTH_URL: "${NEXTAUTH_URL:-http://localhost:3000}"
|
||||||
NODE_ENV: "production"
|
NODE_ENV: "production"
|
||||||
OPENROUTER_API_KEY: "${OPENROUTER_API_KEY:-}"
|
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:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
|
||||||
|
|
@ -406,6 +406,7 @@ CRITICAL EXTRACTION GUIDELINES:
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
model,
|
model,
|
||||||
temperature: 0.1,
|
temperature: 0.1,
|
||||||
|
max_tokens: 3500,
|
||||||
messages: [
|
messages: [
|
||||||
{ role: "system", content: systemPrompt },
|
{ role: "system", content: systemPrompt },
|
||||||
{
|
{
|
||||||
|
|
@ -431,7 +432,22 @@ CRITICAL EXTRACTION GUIDELINES:
|
||||||
// Clean markdown code fence wrappers if present
|
// Clean markdown code fence wrappers if present
|
||||||
content = content.replace(/^```(?:json)?\s*/i, "").replace(/\s*```$/i, "").trim();
|
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))) {
|
if (parsed && (parsed.profile || Array.isArray(parsed.work))) {
|
||||||
console.log("[Resume Parser] Successfully extracted structured resume with LLM.");
|
console.log("[Resume Parser] Successfully extracted structured resume with LLM.");
|
||||||
return parsed;
|
return parsed;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue