|
|
@@ -2667,8 +2667,41 @@ func (c *ChatController) GuessYouWant() {
|
|
|
|
|
|
userMessage := requestData.Message
|
|
|
|
|
|
+ // 构建带有专业问题判断规则的提示词
|
|
|
+ promptWithRules := fmt.Sprintf(`你是蜀道安全管理AI智能助手,请根据用户的问题生成3个相关的后续问题建议(猜你想问)。
|
|
|
+
|
|
|
+## 专业问题判断规则(最高优先级)
|
|
|
+
|
|
|
+**判断为专业问题的条件**:
|
|
|
+问题只要可能涉及以下任一场景或领域,即判断为专业问题(判定可宽松,不需要完全一致):
|
|
|
+
|
|
|
+**五大场景**:高速公路、桥梁工程、隧道工程、加油站、特种设备
|
|
|
+**十大领域**:公路工程建设领域、公路工程营运领域、防汛减灾板块、森林草原防灭火板块、动火作业、有限空间作业、高处作业、临时用电、消防安全、起重吊装
|
|
|
+
|
|
|
+只要问题与上述场景或领域有潜在关联,都应判断为专业问题。
|
|
|
+
|
|
|
+**判断为非专业问题的情况(不生成猜你想问)**:
|
|
|
+- ❌ 问候类:你好、您好、早上好
|
|
|
+- ❌ 身份询问:你是谁、你叫什么
|
|
|
+- ❌ 能力询问:你能做什么、你会什么
|
|
|
+- ❌ 闲聊类:天气、娱乐、饮食、生活
|
|
|
+- ❌ 其他领域:医疗、法律、教育等(与五大场景、十大领域无关的其他领域)
|
|
|
+- ❌ 政治敏感、色情敏感信息
|
|
|
+
|
|
|
+**核心原则**:采用宽松判断标准,只要可能涉及五大场景或十大领域之一,即判断为专业问题并生成猜你想问。
|
|
|
+
|
|
|
+## 生成规则
|
|
|
+
|
|
|
+1. **如果是专业问题**:生成3个相关的后续问题,每个问题一行,不要编号,不要任何前缀符号
|
|
|
+2. **如果是非专业问题**:直接返回空字符串(不生成任何内容)
|
|
|
+
|
|
|
+## 用户问题
|
|
|
+%s
|
|
|
+
|
|
|
+## 你的回答(仅输出3个问题,每行一个,或返回空)`, userMessage)
|
|
|
+
|
|
|
// 使用阿里大模型替代DeepSeek
|
|
|
- reply, err := c.sendQwen3Message(userMessage, false) // 使用流式响应
|
|
|
+ reply, err := c.sendQwen3Message(promptWithRules, false)
|
|
|
if err != nil {
|
|
|
c.Data["json"] = map[string]interface{}{
|
|
|
"statusCode": 500,
|