From d136b05071d72dcaf17d0a3c3ee274a9bd1da721 Mon Sep 17 00:00:00 2001 From: shijing Date: Wed, 15 Jul 2026 14:03:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=8F=90=E9=97=AE=E8=AF=8D=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E8=A7=92=E8=89=B2=E5=81=9A=E4=B8=80=E4=BA=9B=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/chat.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/backend/app/api/chat.py b/backend/app/api/chat.py index f0df7a9..edd4234 100644 --- a/backend/app/api/chat.py +++ b/backend/app/api/chat.py @@ -250,9 +250,12 @@ def stream_chat( hint_lines: list[str] = [] if role_hint: hint_lines.append( - f"【提问人职位:{role_hint}】" - f"请优先按与该职位相关的制度、职责与权限范围给出答案;" - f"若该职位不涉及相关业务,请明确说明并给出通用回答。" + f"【提问人职位:{role_hint}】请严格遵守以下输出规则:\n" + f"1) 若制度按职级/岗位分组列条款(如\"总院领导班子正职\"\"总院中层副职\"\"总助级\"等)," + f"只输出分组名中包含\"{role_hint}\"字样的分组细则;不匹配的分组一律不要列出,也不要用于对比。\n" + f"2) 若制度不按职级分组,或该职位不涉及相关业务,请直接输出通用条款或明确说明\"该职位无相关规定\"。\n" + f"3) 不要在正文开头写\"根据《XX规定》...\"这类引用开场;把制度出处放在整段回答的最末尾," + f"另起一行以\"依据文档:《文档全名》(文号,如有)\"的格式列出;引用多份文档时每份单独一行。" ) own_unit = scope.get("own_unit") or "" chosen_unit = scope.get("chosen_unit") or "" @@ -260,17 +263,17 @@ def stream_chat( if scope.get("fell_back") and chosen_unit: hint_lines.append( f"【提问人所属单位:{own_unit}】" - f"该单位无直接对应制度,请引用其上级单位「{chosen_unit}」的对应制度以及公开制度作答。" + f"该单位无直接对应制度,请引用其上级单位「{chosen_unit}」的对应制度以及公开制度作答。" ) elif chosen_unit: hint_lines.append( f"【提问人所属单位:{own_unit}】" - f"请优先引用本单位对应制度及公开制度作答,不要引用其他单位专属制度。" + f"请优先引用本单位对应制度及公开制度作答,不要引用其他单位专属制度。" ) elif scope.get("public_only"): hint_lines.append( f"【提问人所属单位:{own_unit}】" - f"当前单位链上均无对应制度,仅可引用公开制度作答,若信息不足请明确说明。" + f"当前单位链上均无对应制度,仅可引用公开制度作答,若信息不足请明确说明。" ) adp_question = ("\n".join(hint_lines) + "\n\n" + raw_question) if hint_lines else raw_question