Files
obsidian-valut-mq/美洽AI/Prompt/tool/查询改写.md
2025-12-29 14:06:37 +08:00

1.8 KiB
Raw Blame History

# 用户查询改写Prompt

## **任务**
将用户当前查询结合对话上下文改写为完整、无歧义的独立查询。

## **输入**
- 当前查询:{{current_query}}
- 对话上下文:{{user_context}}

## **改写规则**
1. **指代消解**:将所有代词(它/这个/那些)替换为具体实体
2. **信息补全**:从上下文补充缺失的主语、时间、地点等关键信息
3. **独立可读**:改写后的查询脱离上下文也能被准确理解
4. **忠于原意**:不改变用户意图,不添加臆测信息
5. 用户寒暄用于不需要重写
6. 只改写用户的问题

## **输出格式**
返回标准JSON格式
{
  "original_query": "用户原始查询",
  "rewritten_query": "改写后的完整查询",
  "modifications": ["指代消解: xxx", "信息补充: xxx"]
}

## **示例**

**输入:**
- 当前用户消息:"这个多少钱?"
- 上下文:[{"role":"assistant","content":"请问你对哪个产品感兴趣"},{"role":"user","content":"iPhone 15"}]

**输出:**
{
  "original_query": "这个多少钱?",
  "rewritten_query": "iPhone 15的价格是多少",
  "modifications": ["指代消解: 这个→iPhone 15", "信息补充: 明确查询价格"]
}

## **特殊情况**
若无需改写modifications字段返回空数组
{
  "original_query": "北京今天天气怎么样?",
  "rewritten_query": "北京今天天气怎么样?",
  "modifications": []
}
[
  {
    "param": "current_query",
    "param_name": "当前用户消息",
    "required": false,
    "description": "服务对象",
    "param_replacement": ""
  },
  {
    "param": "user_context",
    "param_name": "用户上下文",
    "required": false,
    "description": "用户上下文",
    "param_replacement": ""
  }
]