ai的前置提示词role均调整为system

This commit is contained in:
fofolee 2025-04-24 00:20:00 +08:00
parent 55516159ba
commit 0d4f49fcf4
2 changed files with 13 additions and 35 deletions

View File

@ -123,7 +123,7 @@ function buildRequestData(content, apiConfig) {
const roleMessage = rolePrompt const roleMessage = rolePrompt
? [ ? [
{ {
role: "user", role: "system",
content: rolePrompt, content: rolePrompt,
}, },
] ]

View File

@ -213,7 +213,7 @@ export default defineComponent({
const response = await window.quickcommand.askAI( const response = await window.quickcommand.askAI(
{ {
prompt: promptText, prompt: promptText,
context: [...presetContext, ...this.chatHistory.slice(0, -2)], context: [presetContext, ...this.chatHistory.slice(0, -2)],
}, },
this.selectedApi, this.selectedApi,
{ {
@ -291,7 +291,7 @@ export default defineComponent({
shell: "liunx shell脚本", shell: "liunx shell脚本",
}; };
const languageName = languageMap[language] || language; const languageName = languageMap[language] || language;
const commonInstructions = `接下来所有的对话中的需求都请通过编写${languageName}代码来实现,并请遵循以下原则: const commonInstructions = `接下来所有的对话中的需求都请通过编写${languageName}代码来实现,并请遵循以下原则:
- 编写简洁可读性强的代码 - 编写简洁可读性强的代码
- 遵循${languageName}最佳实践和设计模式 - 遵循${languageName}最佳实践和设计模式
- 使用恰当的命名规范和代码组织 - 使用恰当的命名规范和代码组织
@ -312,7 +312,7 @@ export default defineComponent({
const specificInstructions = languageSpecific[language] || ""; const specificInstructions = languageSpecific[language] || "";
const lastInstructions = const lastInstructions =
"\n请直接给我MARKDOWN格式的代码以```脚本语言开头,以```结尾),任何情况下都不需要做解释和说明"; "\n请直接提供MARKDOWN格式的代码以```脚本语言开头,以```结尾),任何情况下都不需要做解释和说明";
return commonInstructions + specificInstructions + lastInstructions; return commonInstructions + specificInstructions + lastInstructions;
}, },
@ -330,48 +330,26 @@ export default defineComponent({
]; ];
}, },
getPresetContext() { getPresetContext() {
let finnalPrompt = ""
const languagePrompt = this.getLanguagePrompt(this.language); const languagePrompt = this.getLanguagePrompt(this.language);
let presetContext = [ finnalPrompt += languagePrompt;
{
role: "user",
content: languagePrompt,
},
{
role: "assistant",
content: "好的,我会严格按照你的要求编写代码。",
},
];
if (this.submitDocs && this.language === "quickcommand") { if (this.submitDocs && this.language === "quickcommand") {
const docs = this.getLanguageDocs(this.language); const docs = this.getLanguageDocs(this.language);
presetContext.push( finnalPrompt += `\n你现在使用的是一种特殊的环境支持uTools和quickcommand两种特殊的接口请优先使用uTools和quickcommand接口解决需求然后再使用当前语言通用的解决方案`;
{
role: "user",
content: `你现在使用的是一种特殊的环境支持uTools和quickcommand两种特殊的接口请优先使用uTools和quickcommand接口解决需求然后再使用当前语言通用的解决方案`,
},
{
role: "assistant",
content: "好的,我会注意。",
}
);
docs.forEach((doc) => { docs.forEach((doc) => {
presetContext.push( finnalPrompt += `\n这是${doc.name}的API文档\n${doc.api}`;
{
role: "user",
content: `这是${doc.name}的API文档\n${doc.api}`,
},
{
role: "assistant",
content: "好的,我会认真学习并记住这些接口。",
}
);
}); });
} }
return presetContext; return {
role: "system",
content: finnalPrompt,
};
}, },
openAIAssistantHelp() { openAIAssistantHelp() {
window.showUb.help("#KUCwm"); window.showUb.help("#KUCwm");