删除提示词中多余空格、换行等。减少不必要的token
This commit is contained in:
@@ -142,14 +142,6 @@ class DialogueToWorkorder:
|
|||||||
"base_url": os.getenv("OPENAI_API_BASE"),
|
"base_url": os.getenv("OPENAI_API_BASE"),
|
||||||
"timeout": httpx.Timeout(600.0)
|
"timeout": httpx.Timeout(600.0)
|
||||||
}
|
}
|
||||||
# self.llm_params = llm_params or {
|
|
||||||
# "temperature": 0.2,
|
|
||||||
# "top_p":0.95,
|
|
||||||
# "model": "deepseek-r1",
|
|
||||||
# "api_key": "25t%Syu6I9yxX2IuTN",
|
|
||||||
# "base_url": "http://10.1.0.154:8000/v1",
|
|
||||||
# "timeout": httpx.Timeout(600.0)
|
|
||||||
# }
|
|
||||||
self.llm = self._get_llm_instance()
|
self.llm = self._get_llm_instance()
|
||||||
|
|
||||||
# 创建工单JSON文件目录
|
# 创建工单JSON文件目录
|
||||||
|
|||||||
@@ -109,31 +109,20 @@ class Classification(BaseModel):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_format_instructions(cls):
|
def get_format_instructions(cls):
|
||||||
return """
|
return """格式如下,必须严格以纯JSON格式输出
|
||||||
格式如下,必须严格以纯JSON格式输出
|
{"vertical_classification": "垂直领域一级分类","sub_classification": "一级分类下的二级分类"}
|
||||||
{
|
字段说明:
|
||||||
"vertical_classification": "垂直领域一级分类",
|
vertical_classification 类型:str 描述:垂直领域一级分类
|
||||||
"sub_classification": "一级分类下的二级分类"
|
sub_classification 类型:str 描述:一级分类下的二级分类"""
|
||||||
}
|
|
||||||
字段说明:
|
|
||||||
vertical_classification 类型:str 描述:垂直领域一级分类
|
|
||||||
sub_classification 类型:str 描述:一级分类下的二级分类
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
class QueryRewrite(BaseModel):
|
class QueryRewrite(BaseModel):
|
||||||
rewrite:str = Field(description="问题改写")
|
rewrite:str = Field(description="问题改写")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_format_instructions(cls):
|
def get_format_instructions(cls):
|
||||||
return """
|
return """格式如下:必须严格以纯JSON格式输出{"rewrite": "问题改写"}
|
||||||
格式如下:必须严格以纯JSON格式输出
|
字段说明:
|
||||||
{
|
rewrite 类型:str 描述:问题改写之后的内容"""
|
||||||
"rewrite": "问题改写"
|
|
||||||
}
|
|
||||||
字段说明:
|
|
||||||
"rewrite" 类型:str 描述:问题改写之后的内容
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
# 意图优化环节数据模型
|
# 意图优化环节数据模型
|
||||||
@@ -145,18 +134,12 @@ class StepBackPrompt(BaseModel):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_format_instructions(cls):
|
def get_format_instructions(cls):
|
||||||
return """
|
return """格式如下,必须严格以纯JSON格式输出
|
||||||
格式如下,必须严格以纯JSON格式输出
|
{"original_query": "原始查询","can_use_back_prompt": "原始查询是否可以进行后退提示(true/false),如果原始查询没有限定词或其他限定词语,则不能进行后退提示","step_back_query": "后退提示生成的抽象查询(多个)"}
|
||||||
{
|
字段说明:
|
||||||
"original_query": "原始查询",
|
original_query 类型:str 描述:用户输入的原始查询
|
||||||
"can_use_back_prompt": "原始查询是否可以进行后退提示(true/false),如果原始查询没有限定词或其他限定词语,则不能进行后退提示",
|
can_use_back_prompt 类型:bool 描述:原始查询是否可以进行后退提示(true/false),如果原始查询没有限定词或其他限定词语,则不能进行后退提示
|
||||||
"step_back_query": "后退提示生成的抽象查询(多个)"
|
step_back_query 类型:list[str] 描述:后退提示生成的抽象查询(多个)"""
|
||||||
}
|
|
||||||
字段说明:
|
|
||||||
"original_query" 类型:str 描述:用户输入的原始查询
|
|
||||||
"can_use_back_prompt" 类型:bool 描述:原始查询是否可以进行后退提示(true/false),如果原始查询没有限定词或其他限定词语,则不能进行后退提示
|
|
||||||
"step_back_query" 类型:list[str] 描述:后退提示生成的抽象查询(多个)
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
class FollowUpQuestions(BaseModel):
|
class FollowUpQuestions(BaseModel):
|
||||||
|
|||||||
@@ -28,14 +28,14 @@ extract_nouns_prompt="""
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
classification_info="""【垂直领域分类】:
|
classification_info="""【垂直领域分类】:
|
||||||
1. 软件问题 -- 指涉及软件使用、功能询问、软件故障排查等方面的提问或请求。
|
1. 软件问题 -- 涉及软件使用/功能/操作或故障排查。
|
||||||
2. 业务问题 -- 指涉及电力造价领域专业知识、造价费用计算等电力造价业务知识
|
2. 业务问题 -- 涉及电力造价专业知识、计价规则或造价数据计算等。
|
||||||
3. 安装下载注册 -- 指涉及软件(或插件)安装下载、注册、激活等操作类问题。
|
3. 安装下载注册 -- 及软件或插件的安装、下载、注册、激活、文件扩展名、软件锁等。
|
||||||
4. 固定话术类 -- 指涉及需要固定话术回答的问题,如:规费咨询、调差下载更新。
|
4. 固定话术类 -- 需用固定话术回复的问题,如:规费咨询、调差下载更新。
|
||||||
5. 其他 -- 指与软件或电力造价专业无关的日常对话、问候、感慨、情绪表达等。
|
5. 其他 -- 与软件或电力造价无关的一般对话(问候、情绪等)。
|
||||||
|
|
||||||
【软件问题包括以下两类】:
|
【软件问题包括以下两类】:
|
||||||
1. 软件功能:询问软件功能的使用、功能操作(调整)、功能位置、如何设置、如何转换、如何导入到软件、如何安装到软件等侧重软件主体
|
1. 软件功能:询问软件如何使用、设置、导入、在软件中安装/转换等(以软件为主体)。
|
||||||
示例:ywlk怎么安装到软件中? ywlk是文件后缀名 ---> 将文件导入到软件中
|
示例:ywlk怎么安装到软件中? ywlk是文件后缀名 ---> 将文件导入到软件中
|
||||||
2. 故障排查:软件运行异常、软件报错、软件显示错误等
|
2. 故障排查:软件运行异常、软件报错、软件显示错误等
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ classification_info="""【垂直领域分类】:
|
|||||||
**以下两种情况才属于该类**
|
**以下两种情况才属于该类**
|
||||||
1、询问如何下载导入调差文件、调差插件
|
1、询问如何下载导入调差文件、调差插件
|
||||||
2、询问如何更新导入调差文件、调差插件
|
2、询问如何更新导入调差文件、调差插件
|
||||||
调差:价格水平差异调整
|
调差 = 价格水平差异调整
|
||||||
**其余涉及调差的属于其他垂直领域分类**
|
**其余涉及调差的属于其他垂直领域分类**
|
||||||
|
|
||||||
【其他】:
|
【其他】:
|
||||||
@@ -73,7 +73,7 @@ classification_info="""【垂直领域分类】:
|
|||||||
|
|
||||||
分类优先级:固定话术类 > 软件问题 、 业务问题 、 安装下载注册 > 其他"""
|
分类优先级:固定话术类 > 软件问题 、 业务问题 、 安装下载注册 > 其他"""
|
||||||
|
|
||||||
classification_prompt="""用户正在使用电力造价软件或想询问电力造价领域相关知识,你需要根据用户的输入内容集合历史对话(如果存在),将其归类为以下垂直领域之一:
|
classification_prompt="""用户在使用电力造价软件或咨询电力造价相关问题,请将用户输入(结合历史对话,如有)归为以下垂直领域之一:
|
||||||
{classification_info}
|
{classification_info}
|
||||||
|
|
||||||
## 【历史对话记录】
|
## 【历史对话记录】
|
||||||
@@ -187,13 +187,11 @@ slot_filling_prompt = """
|
|||||||
|
|
||||||
# 意图优化环节提示词模板
|
# 意图优化环节提示词模板
|
||||||
step_back_prompt = """# 后退提示生成器
|
step_back_prompt = """# 后退提示生成器
|
||||||
|
你是电力造价领域的问题抽象专家。任务是把用户的具体问题抽象成更高层次的问题,帮助理解其核心意图。
|
||||||
你是一个专业的电力造价领域问题抽象专家。你的任务是根据用户的具体问题,提出一个更抽象、更高层次的问题,帮助系统更好地理解用户的意图。
|
|
||||||
|
|
||||||
## 任务说明
|
## 任务说明
|
||||||
1. 分析用户的原始问题,理解其核心意图和需求
|
1. 理解用户原始问题的核心
|
||||||
2. 考虑历史对话和会话背景,理解用户当前问题的上下文
|
2. 考虑上下文
|
||||||
3. 生成更抽象、更高层次的问题,称为"后退问题",后退问题可以生成多个,依次后退到更抽象、更高层次的问题
|
3. 生成逐级抽象的“后退问题”
|
||||||
4. 后退问题应该:
|
4. 后退问题应该:
|
||||||
- 更加通用和抽象,不应包含原始问题的具体细节(包括场景限定、界面限定等其他限定词语)
|
- 更加通用和抽象,不应包含原始问题的具体细节(包括场景限定、界面限定等其他限定词语)
|
||||||
- 涵盖原始问题的核心主题
|
- 涵盖原始问题的核心主题
|
||||||
|
|||||||
Reference in New Issue
Block a user