上传问题改写、意图识别模块代码
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
#!/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. 后缀名查询:询问有关软件后缀名、工程文件扩展名等问题,例如:BDY3是什么文件?、用什么软件打开.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. 异常处理机制
|
||||
- 当关键词与问题无明显关联时,触发直通输出规则
|
||||
- 出现术语冲突时优先保留原始表述
|
||||
"""
|
||||
Reference in New Issue
Block a user