Files
QueryRewrite/rag2_0/intent_recognition/PromptTemplates.py
T

134 lines
4.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
File: PromptTemplates.py
Author: oyyz
Date: 2025-05-13
Description: 提示词模板
"""
extract_nouns_prompt="""
【智能关键词提取助手】
请根据用户问题自动识别核心关键词,并按照以下规则输出:
1. 只输出最终关键词列表,不要解释说明
2. 关键词提取范围包括但不限于以下内容:
- 软件相关:功能模块/操作步骤/报错提示/扩展名后缀名
- 造价专业:费用类型/计算标准/行业规范
- 电力工程:项目类型/设备型号/工程阶段
3. 自动展开缩写(如将'导excel'转为'Excel导入'
4. 严格基于用户问题提取关键词,不要输出与用户问题无关的关键词
三、输出格式:
{output_format}
四、用户问题:
{content}
"""
classification_info="""【垂直领域分类】:
1. 软件问题 -- 指涉及软件使用、功能询问、软件故障排查等方面的提问或请求。
2. 业务问题 -- 指涉及电力造价领域专业知识、造价费用计算等电力造价业务知识
3. 安装下载注册 -- 指涉及软件(或插件)安装下载、注册、激活等操作类问题。
4. 其他 -- 指与软件或电力造价专业无关的日常对话、问候、感慨、情绪表达等。
【软件问题包括以下两类】:
1. 软件功能:询问软件功能的使用、操作、位置等
2. 故障排查:软件运行异常、软件报错、软件显示错误等
【业务问题包括以下两类】:
1. 专业咨询:涉及电力造价规范、工程计价规则问题、行业标准解读等
2. 数据问题:涉及电力造价费用、造价指标等
【安装下载注册包括以下三类】:
1. 后缀名咨询:所有涉及文件扩展名的使用场景、软件关联等问题,包括但不限于:询问文件是否由特定软件打开、扩展名与软件的匹配关系、扩展名含义及关联等
示例:
"这个文件用配网软件能打开吗?(隐含扩展名关联)",
".bphq18 是什么类型的文件?",
"用哪个软件打开.BDY3文件?"
2. 软件锁类:询问软件锁信息、锁注册号查询、许可证查询、锁激活问题等软件锁相关问题
3. 安装下载类:安装下载咨询、组件(插件)选择、环境配置等
4. 问题排查类:软件安装下载失败、报错,系统兼容性问题等
【其他】:
1. 其他"""
classification_prompt="""
用户正在使用电力造价软件或想询问电力造价领域相关知识,你需要根据用户的输入内容,将其归类为以下垂直领域之一:
{classification_info}
【用户输入】:
{user_input}
【输出格式要求】:
{output_format}
【示例】
用户输入1: 技改T1怎样新建工程
输出1:
{{
"vertical_classification":"软件咨询",
"sub_classification":"软件功能"
}}
"""
query_rewrite_prompt = """
你是一名电力造价专业问答优化工程师,负责通过多维度信息整合重构用户问题以提升知识库检索准确率。请严格遵循以下流程处理:
# 任务处理框架
## 第一阶段:输入分析
1. 解析基础信息
- 原始问题(需保留核心语义){query}
- 关键词集合:{keywords}
## 第二阶段:语义匹配验证
2. 执行关键词校验
- 建立意图关联矩阵,验证关键词与原始问题的语义一致性
- 若存在≥1个有效关联词 → 进入重构流程
- 若无有效关联 → 直接输出原始问题
## 第三阶段:专业重构
3. 术语规范化处理
a. 实施术语映射:将口语表达替换为知识库标准术语
b. 执行结构优化:
- 采用【术语标记】规范标注关键概念
- 构建主谓宾明确的问题句式
- 保持原问题时态与语态特征
# 输出规范
{output_format}
# 示范案例库
▶ 案例1(有效匹配)
输入:
原始问题:怎么把旧版西藏定额工程转到Z1新版
关键词:【'老版本定额升级', '批量设置定额', '西藏造价软件Z1'】
输出:
{{"rewrite":"【西藏造价软件Z1】如何执行【老版本定额升级】操作?"}}
▶ 案例2(无效匹配)
输入:
原始问题:程序界面文字显示过小如何处理?
关键词:【'定额升级', '工程批量导入'】
输出:
{{"rewrite":"程序界面文字显示过小如何处理?"}}
# 质量约束条款
1. 语义内容保真原则
- 禁止修改原问题核心诉求(如转换主语/变更操作对象)
- 保留原始问题的限定条件
2. 术语使用规范
- 仅使用检索返回的关键词进行术语替换
- 新增术语必须来自关键词集合
3. 结构优化标准
- 问题长度控制在20字内
- 必须包含≥1个【标注术语】
- 禁止添加解释性语句
4. 异常处理机制
- 当关键词与问题无明显关联时,触发直通输出规则
- 出现术语冲突时优先保留原始表述
"""