From cd8e8bcad24caf5f46248981641b7bb1d78a35a1 Mon Sep 17 00:00:00 2001 From: ouyangyouzhang Date: Tue, 27 May 2025 11:31:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=84=8F=E5=9B=BE=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E6=A8=A1=E5=9D=97=E4=B8=AD=E7=9A=84=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E6=A0=BC=E5=BC=8F=E5=8C=96=EF=BC=8C=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E4=BF=A1=E6=81=AF=E6=8F=90=E7=A4=BA=E5=86=85?= =?UTF-8?q?=E5=AE=B9=EF=BC=8C=E5=A2=9E=E5=BC=BA=E5=8F=AF=E8=AF=BB=E6=80=A7?= =?UTF-8?q?=E5=92=8C=E5=87=86=E7=A1=AE=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rag2_0/intent_recognition/IntentRecognition.py | 10 ++++++---- rag2_0/intent_recognition/PromptTemplates.py | 10 +++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/rag2_0/intent_recognition/IntentRecognition.py b/rag2_0/intent_recognition/IntentRecognition.py index e47e4b1..33f1ded 100644 --- a/rag2_0/intent_recognition/IntentRecognition.py +++ b/rag2_0/intent_recognition/IntentRecognition.py @@ -101,9 +101,9 @@ class IntentRecognizer: Returns: 分类结果 """ - formatted_prompt = classification_prompt.replace("{user_input}", query) - formatted_prompt = formatted_prompt.replace("{classification_info}", classification_info) - formatted_prompt = formatted_prompt.replace("{output_format}", self.classification_parser.get_format_instructions()) + formatted_prompt = classification_prompt.format(user_input=query, + classification_info=classification_info, + output_format=self.classification_parser.get_format_instructions()) # 将关键词列表转换为JSON字符串 terms_dict = [term.model_dump() for term in keywords.terms] keywords_str = json.dumps(terms_dict, ensure_ascii=False) @@ -207,7 +207,9 @@ class IntentRecognizer: # 准备问题改写提示 terms_dict = [term.model_dump(exclude={"description"}) for term in keywords.terms] keywords_str = json.dumps(terms_dict, ensure_ascii=False) - formatted_prompt = query_rewrite_prompt.format(query=query, output_format=self.query_rewrite_parser.get_format_instructions(),keywords=keywords_str) + formatted_prompt = query_rewrite_prompt.format(query=query, + output_format=self.query_rewrite_parser.get_format_instructions(), + keywords=keywords_str) # 调用LLM diff --git a/rag2_0/intent_recognition/PromptTemplates.py b/rag2_0/intent_recognition/PromptTemplates.py index 4c3072c..a9aeb01 100644 --- a/rag2_0/intent_recognition/PromptTemplates.py +++ b/rag2_0/intent_recognition/PromptTemplates.py @@ -41,7 +41,11 @@ classification_info="""【垂直领域分类】: 2. 数据问题:涉及电力造价费用、造价指标等 【安装下载注册包括以下三类】: -1. 后缀名查询:询问有关软件后缀名、工程文件扩展名等问题,例如:BDY3是什么文件?、用什么软件打开.BDY3文件? +1. 后缀名咨询:所有涉及文件扩展名的使用场景、软件关联等问题,包括但不限于:询问文件是否由特定软件打开、扩展名与软件的匹配关系、扩展名含义及关联等 +示例: +"这个文件用配网软件能打开吗?(隐含扩展名关联)", +".bphq18 是什么类型的文件?", +"用哪个软件打开.BDY3文件?" 2. 软件锁类:询问软件锁信息、锁注册号查询、许可证查询、锁激活问题等软件锁相关问题 3. 安装下载类:安装下载咨询、组件(插件)选择、环境配置等 4. 问题排查类:软件安装下载失败、报错,系统兼容性问题等 @@ -62,10 +66,10 @@ classification_prompt=""" 【示例】 用户输入1: 技改T1怎样新建工程 输出1: - { + {{ "vertical_classification":"软件咨询", "sub_classification":"软件功能" - } + }} """ query_rewrite_prompt = """