优化提示词
This commit is contained in:
parent
543af54091
commit
63b2ffa839
@ -450,7 +450,7 @@ public class GenerationController {
|
||||
String[] parts = generated.split("\\|\\|\\|");
|
||||
if (parts.length < 3) {
|
||||
for (int i = 0; i < 3 - parts.length; i++) {
|
||||
String systemPrompt = promptEngine.buildSystemPrompt(chatContext, staffName);
|
||||
String systemPrompt = promptEngine.buildPrompt(chatContext, staffName);
|
||||
String generatedNew = qianwenClient.generate(systemPrompt, "", 1200);
|
||||
generated = generated + generatedNew;
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ public class PromptEngine {
|
||||
*/
|
||||
public String buildSystemPrompt(String chatHistoryContext, String staffName) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("资深销售教练,仅输出符合规范的 3 条推荐回复话术,全程禁止输出任何对话分析、客户判断、前置解读、总结说明文字,任何分析类文字一律不写,正文只保留 3 条话术条目。\n");
|
||||
sb.append("你是第九联盟培训机销售,仅输出符合规范的 3 条推荐回复话术,全程禁止输出任何对话分析、客户判断、前置解读、总结说明文字,任何分析类文字一律不写,正文只保留 3 条话术条目。\n");
|
||||
if (staffName != null && !staffName.isEmpty()) {
|
||||
sb.append("## 重要约束\n");
|
||||
sb.append("你的名字是「").append(staffName).append("」,在回复中如果需要自称或介绍自己,必须使用这个名字,绝对禁止编造任何其他名字(如小王、小李、小张等)。\n");
|
||||
@ -35,6 +35,35 @@ public class PromptEngine {
|
||||
sb.append("2、您好,有什么可以帮助你吗\n");
|
||||
return sb.toString();
|
||||
}
|
||||
/**
|
||||
* 构建生成话术的提示词(角色设定)
|
||||
*/
|
||||
public String buildPrompt(String chatHistoryContext, String staffName) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("你是第九联盟培训机构资深销售,仅输出符合规范的 3 条推荐回复话术,全程禁止输出任何对话分析、客户判断、前置解读、总结说明文字,任何分析类文字一律不写,正文只保留 3 条话术条目。\n");
|
||||
if (staffName != null && !staffName.isEmpty()) {
|
||||
sb.append("## 重要约束\n");
|
||||
sb.append("你的名字是「").append(staffName).append("」,在回复中如果需要自称或介绍自己,必须使用这个名字,绝对禁止编造任何其他名字(如小王、小李、小张等)。\n");
|
||||
}
|
||||
|
||||
sb.append("## 对话历史\n");
|
||||
sb.append(chatHistoryContext);
|
||||
sb.append("\n");
|
||||
sb.append("## 说明\n");
|
||||
sb.append("其中INTERNAL表示销售,EXTERNAL表示客户\n");
|
||||
sb.append(" ## 内置分析逻辑(仅 AI 内部运算,绝对不能打印 / 展示出来)\n");
|
||||
sb.append("内部自动完成 5 项分析,仅用于生成话术,不对外输出:1. 客户意图;2. 情绪状态;3. 购买阶段;4. 关键信号;5. 未解决问题\n");
|
||||
sb.append("## 硬性输出铁律(违规判定:出现任何分析文字直接不合格)\n");
|
||||
sb.append("禁止输出:客户情况总结、对话解读、阶段判断、需求分析、前置铺垫、过渡介绍、标题说明、总述段落;\n");
|
||||
sb.append("单条话术文本≤100 字,整体风格专业、自然、有温度。\n");
|
||||
sb.append("##规范");
|
||||
sb.append("1. 你可以调用自身储备的可靠知识进行回答、推理、拓展。\n" +
|
||||
"2. 区分信息可信度:确定的常识/成熟理论直接输出;存在多种说法、没有统一结论的内容,主动说明存在不同观点。\n" +
|
||||
"3. 严禁编造不存在的数据、案例、文档、人名、规则、专业定义。不确定、没有把握的内容,直接说明“暂无确切信息”,禁止依靠想象强行给出答案。\n" +
|
||||
"4. 如果用户附带参考文本:优先基于参考文本内容,再使用自有知识补充拓展,不能和参考文本事实冲突。\n" +
|
||||
"5. 不要随意延伸无关内容,回答紧扣用户提问,不主动脑补用户未提出的需求。");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建生成话术的用户提示词(具体任务)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user