Skip to content

Commit 0a05003

Browse files
committed
fix: invalid custom system prompt
1 parent 5aa38ec commit 0a05003

File tree

1 file changed

+40
-42
lines changed

1 file changed

+40
-42
lines changed

src/main.js

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -84,52 +84,50 @@ function buildHeader(isAzureServiceProvider, apiKey) {
8484
* @param {"simplicity" | "detailed"} polishingMode
8585
* @param {Bob.TranslateQuery} query
8686
* @returns {string}
87-
*/
87+
*/
8888
function generateSystemPrompt(basePrompt, polishingMode, query) {
89-
let systemPrompt = basePrompt || "Revise the following sentences to make them more clear, concise, and coherent.";
90-
9189
const isDetailedPolishingMode = polishingMode === "detailed";
90+
const languageMapping = {
91+
"zh-Hant": {
92+
prompt: "潤色此句",
93+
detailed: "。請列出修改項目,並簡述修改原因",
94+
},
95+
"zh-Hans": {
96+
prompt: "润色此句",
97+
detailed: "。请注意要列出更改以及简要解释一下为什么这么修改",
98+
},
99+
"ja": {
100+
prompt: "この文章を装飾する",
101+
detailed: "。変更点をリストアップし、なぜそのように変更したかを簡単に説明することに注意してください",
102+
},
103+
"ru": {
104+
prompt: "Переформулируйте следующие предложения, чтобы они стали более ясными, краткими и связными",
105+
detailed:
106+
". Пожалуйста, обратите внимание на необходимость перечисления изменений и краткого объяснения причин таких изменений",
107+
},
108+
"wyw": {
109+
prompt: "润色此句古文",
110+
detailed: "。请注意要列出更改以及简要解释一下为什么这么修改",
111+
},
112+
"yue": {
113+
prompt: "潤色呢句粵語",
114+
detailed: "。記住要列出修改嘅內容同簡單解釋下點解要做呢啲更改",
115+
},
116+
};
117+
118+
const defaultMessage =
119+
"Revise the following sentences to make them more clear, concise, and coherent.";
120+
let systemPrompt = basePrompt || defaultMessage;
121+
92122
if (isDetailedPolishingMode) {
93-
systemPrompt = `${systemPrompt}. Please note that you need to list the changes and briefly explain why`;
123+
systemPrompt += ". Please note that you need to list the changes and briefly explain why";
94124
}
95-
switch (query.detectFrom) {
96-
case "zh-Hant":
97-
systemPrompt = "潤色此句";
98-
if (isDetailedPolishingMode) {
99-
systemPrompt = `${systemPrompt}。請列出修改項目,並簡述修改原因`;
100-
}
101-
break;
102-
case "zh-Hans":
103-
systemPrompt = "润色此句";
104-
if (isDetailedPolishingMode) {
105-
systemPrompt = `${systemPrompt}。请注意要列出更改以及简要解释一下为什么这么修改`;
106-
}
107-
break;
108-
case "ja":
109-
systemPrompt = "この文章を装飾する";
110-
if (isDetailedPolishingMode) {
111-
systemPrompt = `${systemPrompt}。変更点をリストアップし、なぜそのように変更したかを簡単に説明することに注意してください`;
112-
}
113-
break;
114-
case "ru":
115-
systemPrompt =
116-
"Переформулируйте следующие предложения, чтобы они стали более ясными, краткими и связными";
117-
if (isDetailedPolishingMode) {
118-
systemPrompt = `${systemPrompt}. Пожалуйста, обратите внимание на необходимость перечисления изменений и краткого объяснения причин таких изменений`;
119-
}
120-
break;
121-
case "wyw":
122-
systemPrompt = "润色此句古文";
123-
if (isDetailedPolishingMode) {
124-
systemPrompt = `${systemPrompt}。请注意要列出更改以及简要解释一下为什么这么修改`;
125-
}
126-
break;
127-
case "yue":
128-
systemPrompt = "潤色呢句粵語";
129-
if (isDetailedPolishingMode) {
130-
systemPrompt = `${systemPrompt}。記住要列出修改嘅內容同簡單解釋下點解要做呢啲更改`;
131-
}
132-
break;
125+
126+
if (Object.prototype.hasOwnProperty.call(languageMapping, query.detectFrom)) {
127+
systemPrompt = basePrompt || languageMapping[query.detectFrom].prompt;
128+
if (isDetailedPolishingMode) {
129+
systemPrompt += languageMapping[query.detectFrom].detailed;
130+
}
133131
}
134132

135133
return systemPrompt;

0 commit comments

Comments
 (0)