From d8a29eaeeefc8d9d50e494c1a7930b5f3010f2de Mon Sep 17 00:00:00 2001 From: Jihoon Yi <44565599+baramofme@users.noreply.github.com> Date: Sat, 10 May 2025 16:30:46 +0900 Subject: [PATCH] Update language-inference-engine.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add response type check before parsing - Wrap JSON.parse in a try/catch to handle potential malformed responses. - Use “system” role for the initial bias message on gemini model object's wrap --- lib/language-inference-engine.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/language-inference-engine.js b/lib/language-inference-engine.js index 0cde9f6..b40340f 100644 --- a/lib/language-inference-engine.js +++ b/lib/language-inference-engine.js @@ -196,9 +196,10 @@ var ENGINE_PROFILES = { }, "url": "https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={apikey}", "wrap": function(model, message, temperature) { + const BIAS_MESSAGE = BIAS_MESSAGE return { "contents": [{ - "role": "user", // Changed "developer" to "user" for the initial prompt. The overall prompt is still intended to guide the model, so this is reasonable. + "role": "system", "parts": [{ "text": BIAS_MESSAGE }] @@ -214,7 +215,6 @@ var ENGINE_PROFILES = { }; }, "callback": function(response) { - response = JSON.parse(response) if ("error" in response) { return ["Error: " + response.error.message]; } else { @@ -531,6 +531,14 @@ function LanguageInferenceEngine() { .send() .responseBody; + if(typeof response === 'string'){ + try { + response = JSON.parse(response) + } catch (e) { + return ["Error: Malformed response"]; + } + } + return callback(response); }; }