From 586578fe451de0502a446a9c1c68e4d7a690ed80 Mon Sep 17 00:00:00 2001 From: buzz-lightsnack-2007 <73412182+buzz-lightsnack-2007@users.noreply.github.com> Date: Thu, 11 Apr 2024 18:39:52 +0800 Subject: [PATCH] Include AI system prompt and analyzer function --- scripts/product.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/product.js b/scripts/product.js index 8ea2f1a..e62933c 100644 --- a/scripts/product.js +++ b/scripts/product.js @@ -90,17 +90,23 @@ export default class product { // Stop when the data is already analyzed. if (this[`analysis`]) {return(this.analysis)} else if (this.status ? (!this.status.update) : false) {this.analysis = await secretariat.read([`sites`, this.URL, `analysis`]);} - else { + if ((this.analysis && this.analysis != null && this.analysis != undefined) ? !((typeof this.analysis).contains(`obj`) && !Array.isArray(this.analysis)) : true) { // Analyze the data. const gemini = (await import(chrome.runtime.getURL("scripts/AI/gemini.js"))).default; let analyzer = new gemini (await secretariat.read([`settings`,`analysis`,`api`,`key`]), `gemini-pro`); // Analyze the data. - await analyzer.generate(this.details); + let PROMPT = []; + + // Add the "system" prompt. + PROMPT.push({"text": texts.localized(`AI_message_prompt`)}); + + // This is the user prompt. + PROMPT.push({"text": JSON.stringify(this.details)}); // Return the analysis - this.analysis = analyzer.response; - } + this.analysis = JSON.stringify(await analyzer.generate(PROMPT)); + }; return(this.analysis); };